From e063390b9709ded563bac10ec6f69a16d19aa0ae Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Thu, 20 Sep 2018 23:33:30 +0200 Subject: [PATCH] Small refactoring in JPEGFrameView. --- jpeg_frame_view.cpp | 4 +++- jpeg_frame_view.h | 15 ++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/jpeg_frame_view.cpp b/jpeg_frame_view.cpp index 8e22f62..88a88dc 100644 --- a/jpeg_frame_view.cpp +++ b/jpeg_frame_view.cpp @@ -226,8 +226,10 @@ JPEGFrameView::JPEGFrameView(QWidget *parent) : QGLWidget(parent, global_share_widget) { } -void JPEGFrameView::update_frame() +void JPEGFrameView::setFrame(unsigned stream_idx, int64_t pts) { + current_stream_idx = stream_idx; + unique_lock lock(cache_mu); pending_decodes.emplace_back(JPEGID{ stream_idx, pts }, this); any_pending_decodes.notify_all(); diff --git a/jpeg_frame_view.h b/jpeg_frame_view.h index 2f31c1b..567da2d 100644 --- a/jpeg_frame_view.h +++ b/jpeg_frame_view.h @@ -36,16 +36,11 @@ class JPEGFrameView : public QGLWidget { public: JPEGFrameView(QWidget *parent); - void setFrame(unsigned stream_idx, int64_t pts) - { - this->stream_idx = stream_idx; - this->pts = pts; - update_frame(); - } + void setFrame(unsigned stream_idx, int64_t pts); void mousePressEvent(QMouseEvent *event) override; - unsigned get_stream_idx() const { return stream_idx; } + unsigned get_stream_idx() const { return current_stream_idx; } void setDecodedFrame(std::shared_ptr frame); @@ -58,10 +53,8 @@ protected: void paintGL() override; private: - void update_frame(); - - unsigned stream_idx; - int64_t pts; + // The stream index of the latest frame we displayed. + unsigned current_stream_idx; std::unique_ptr chain; std::shared_ptr current_frame; // So that we hold on to the pixels. -- 2.39.2