From eb6093ea4a079eb34ce9f3ad07fd0b7b80bb524d Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 16 Dec 2012 17:50:39 +0000 Subject: A few fixes to still image mode. --- src/lib/film.cc | 6 ++++-- src/lib/imagemagick_decoder.cc | 13 +++++++++++++ src/lib/imagemagick_decoder.h | 2 ++ 3 files changed, 19 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/film.cc b/src/lib/film.cc index a1c9eb7f0..b295bdc83 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -857,10 +857,12 @@ Film::set_content (string c) set_size (d.video->native_size ()); set_frames_per_second (d.video->frames_per_second ()); set_subtitle_streams (d.video->subtitle_streams ()); - set_content_audio_streams (d.audio->audio_streams ()); + if (d.audio) { + set_content_audio_streams (d.audio->audio_streams ()); + } /* Start off with the first audio and subtitle streams */ - if (!d.audio->audio_streams().empty()) { + if (d.audio && !d.audio->audio_streams().empty()) { set_content_audio_stream (d.audio->audio_streams().front()); } diff --git a/src/lib/imagemagick_decoder.cc b/src/lib/imagemagick_decoder.cc index 9d11e043f..c0db08893 100644 --- a/src/lib/imagemagick_decoder.cc +++ b/src/lib/imagemagick_decoder.cc @@ -105,3 +105,16 @@ ImageMagickDecoder::pixel_format () const return PIX_FMT_RGB24; } +bool +ImageMagickDecoder::seek (SourceFrame f) +{ + _iter = _files.begin (); + for (int i = 0; i < f; ++i) { + if (_iter == _files.end()) { + return false; + } + ++_iter; + } + + return true; +} diff --git a/src/lib/imagemagick_decoder.h b/src/lib/imagemagick_decoder.h index cfcf4b4f6..27ff71d83 100644 --- a/src/lib/imagemagick_decoder.h +++ b/src/lib/imagemagick_decoder.h @@ -56,6 +56,8 @@ public: return false; } + bool seek (SourceFrame); + protected: bool pass (); PixelFormat pixel_format () const; -- cgit v1.2.3