diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/wx/video_waveform_plot.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/wx/video_waveform_plot.cc b/src/wx/video_waveform_plot.cc index 9f71140f3..c6fa883fa 100644 --- a/src/wx/video_waveform_plot.cc +++ b/src/wx/video_waveform_plot.cc @@ -24,6 +24,7 @@ #include "lib/image.h" #include "lib/film.h" #include "lib/dcp_video.h" +#include "lib/player_video.h" #include <dcp/locale_convert.h> #include <dcp/openjpeg_image.h> #include <wx/rawbmp.h> @@ -193,7 +194,11 @@ VideoWaveformPlot::set_image (weak_ptr<PlayerVideo> image) } shared_ptr<PlayerVideo> pv = image.lock (); - _image = DCPVideo::convert_to_xyz (pv, boost::bind (¬e)); + DCPOMATIC_ASSERT (pv); + /* We must copy the PlayerVideo here as we will call ::image() on it, potentially + with a different pixel_format than was used when ::prepare() was called. + */ + _image = DCPVideo::convert_to_xyz (pv->shallow_copy(), boost::bind (¬e)); _dirty = true; Refresh (); } |
