diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-05-10 01:32:58 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-05-10 01:32:58 +0100 |
| commit | 181af337041e9c147344b5d32e413083d84fbd10 (patch) | |
| tree | dc661a55d036c282b263b85498246f2eb4bb96f7 | |
| parent | 3bccfd78441e5a4184d5e16442751c6ddca43e34 (diff) | |
Remove storage of _frame in FilmViewer.
| -rw-r--r-- | src/wx/film_viewer.cc | 11 | ||||
| -rw-r--r-- | src/wx/film_viewer.h | 1 | ||||
| -rw-r--r-- | src/wx/gl_video_view.cc | 6 |
3 files changed, 11 insertions, 7 deletions
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index c83db56de..00bc06e9b 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -132,13 +132,12 @@ FilmViewer::set_film (shared_ptr<Film> film) _player_video.first.reset (); _player_video.second = DCPTime (); - _frame.reset (); + _video_view->set_image (shared_ptr<Image>()); _closed_captions_dialog->clear (); if (!_film) { _player.reset (); recreate_butler (); - _frame.reset (); refresh_view (); return; } @@ -251,7 +250,7 @@ void FilmViewer::display_player_video () { if (!_player_video.first) { - _frame.reset (); + _video_view->set_image (shared_ptr<Image>()); refresh_view (); return; } @@ -285,9 +284,9 @@ FilmViewer::display_player_video () _state_timer.set ("get image"); - /* XXX: do we need to store _frame? */ - _frame = _player_video.first->image (bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), false, true); - _video_view->set_image (_frame); + _video_view->set_image ( + _player_video.first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), false, true) + ); _state_timer.set ("ImageChanged"); ImageChanged (_player_video.first); diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h index 76917f807..b897282d9 100644 --- a/src/wx/film_viewer.h +++ b/src/wx/film_viewer.h @@ -159,7 +159,6 @@ private: std::list<int> _pending_player_changes; std::pair<boost::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> _player_video; - boost::shared_ptr<const Image> _frame; dcpomatic::DCPTime _video_position; Position<int> _inter_position; dcp::Size _inter_size; diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc index d1e7c7326..0f0118e00 100644 --- a/src/wx/gl_video_view.cc +++ b/src/wx/gl_video_view.cc @@ -35,6 +35,7 @@ using std::cout; using boost::shared_ptr; +using boost::optional; GLVideoView::GLVideoView (wxWindow *parent) { @@ -117,6 +118,11 @@ GLVideoView::paint (wxPaintEvent &) void GLVideoView::set_image (shared_ptr<const Image> image) { + if (!image) { + _size = optional<dcp::Size>(); + return; + } + DCPOMATIC_ASSERT (image->pixel_format() == AV_PIX_FMT_RGB24); DCPOMATIC_ASSERT (!image->aligned()); |
