summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-11-21 00:05:12 +0100
committerCarl Hetherington <cth@carlh.net>2020-01-08 21:56:47 +0100
commit9001a63be211fd8e97431f8fc07c66af01554f5a (patch)
treee9d0c4e164d7cf0f0dc95db00caa5f04f042dd12 /src
parent386e25f3b9d3fa59cbdeed458d9b3e0d21e338b8 (diff)
Move _state_timer into VideoView.
Diffstat (limited to 'src')
-rw-r--r--src/wx/film_viewer.cc3
-rw-r--r--src/wx/film_viewer.h13
-rw-r--r--src/wx/simple_video_view.cc12
-rw-r--r--src/wx/video_view.cc1
-rw-r--r--src/wx/video_view.h7
5 files changed, 19 insertions, 17 deletions
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc
index cb9c85b3d..c323c8281 100644
--- a/src/wx/film_viewer.cc
+++ b/src/wx/film_viewer.cc
@@ -93,7 +93,6 @@ FilmViewer::FilmViewer (wxWindow* p)
#ifdef DCPOMATIC_VARIANT_SWAROOP
, _background_image (false)
#endif
- , _state_timer ("viewer")
, _gets (0)
, _idle_get (false)
{
@@ -228,9 +227,7 @@ FilmViewer::recreate_butler ()
void
FilmViewer::refresh_view ()
{
- _state_timer.set ("update-view");
_video_view->update ();
- _state_timer.unset ();
}
void
diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h
index c6fbd66e4..0699b12ae 100644
--- a/src/wx/film_viewer.h
+++ b/src/wx/film_viewer.h
@@ -107,18 +107,14 @@ public:
}
#endif
- StateTimer const & state_timer () const {
- return _state_timer;
- }
-
- StateTimer& state_timer () {
- return _state_timer;
- }
-
int gets () const {
return _gets;
}
+ StateTimer const & state_timer () const {
+ return _video_view->state_timer ();
+ }
+
/* Some accessors and utility methods that VideoView classes need */
dcp::Size out_size () const {
return _out_size;
@@ -207,7 +203,6 @@ private:
bool _background_image;
#endif
- StateTimer _state_timer;
int _gets;
/** true if an get() is required next time we are idle */
diff --git a/src/wx/simple_video_view.cc b/src/wx/simple_video_view.cc
index e71d89412..437aed4fa 100644
--- a/src/wx/simple_video_view.cc
+++ b/src/wx/simple_video_view.cc
@@ -56,7 +56,7 @@ SimpleVideoView::SimpleVideoView (FilmViewer* viewer, wxWindow* parent)
void
SimpleVideoView::paint ()
{
- _viewer->state_timer().set("paint-panel");
+ _state_timer.set("paint-panel");
wxPaintDC dc (_panel);
dcp::Size const out_size = _viewer->out_size ();
@@ -130,14 +130,16 @@ SimpleVideoView::paint ()
dc.SetBrush (*wxTRANSPARENT_BRUSH);
dc.DrawRectangle (_inter_position.x, _inter_position.y + (panel_size.GetHeight() - out_size.height) / 2, _inter_size.width, _inter_size.height);
}
- _viewer->state_timer().unset();
+ _state_timer.unset();
}
void
SimpleVideoView::update ()
{
+ _state_timer.set ("update-view");
_panel->Refresh ();
_panel->Update ();
+ _state_timer.unset ();
}
void
@@ -237,15 +239,15 @@ SimpleVideoView::display_player_video ()
* image and convert it (from whatever the user has said it is) to RGB.
*/
- _viewer->_state_timer.set ("get image");
+ _state_timer.set ("get image");
set_image (
player_video().first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), false, true)
);
- _viewer->_state_timer.set ("ImageChanged");
+ _state_timer.set ("ImageChanged");
_viewer->ImageChanged (player_video().first);
- _viewer->_state_timer.unset ();
+ _state_timer.unset ();
_inter_position = player_video().first->inter_position ();
_inter_size = player_video().first->inter_size ();
diff --git a/src/wx/video_view.cc b/src/wx/video_view.cc
index d54487a93..e65888656 100644
--- a/src/wx/video_view.cc
+++ b/src/wx/video_view.cc
@@ -28,6 +28,7 @@ VideoView::VideoView (FilmViewer* viewer)
#ifdef DCPOMATIC_VARIANT_SWAROOP
, _in_watermark (false)
#endif
+ , _state_timer ("viewer")
, _video_frame_rate (0)
, _dropped (0)
{
diff --git a/src/wx/video_view.h b/src/wx/video_view.h
index 8d9dce68d..4a94aa879 100644
--- a/src/wx/video_view.h
+++ b/src/wx/video_view.h
@@ -22,6 +22,7 @@
#define DCPOMATIC_VIDEO_VIEW_H
#include "lib/dcpomatic_time.h"
+#include "lib/timer.h"
#include <boost/shared_ptr.hpp>
#include <boost/signals2.hpp>
#include <boost/thread.hpp>
@@ -62,6 +63,10 @@ public:
return _dropped;
}
+ StateTimer const & state_timer () const {
+ return _state_timer;
+ }
+
dcpomatic::DCPTime position () const {
boost::mutex::scoped_lock lm (_mutex);
return _player_video.second;
@@ -113,6 +118,8 @@ protected:
int _watermark_y;
#endif
+ StateTimer _state_timer;
+
private:
/** Mutex protecting all the state in VideoView */
mutable boost::mutex _mutex;