summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-12-16 17:50:39 +0000
committerCarl Hetherington <cth@carlh.net>2012-12-16 17:50:39 +0000
commiteb6093ea4a079eb34ce9f3ad07fd0b7b80bb524d (patch)
tree42bade9237c5f8db43b1856ba478afc5eaa205a4 /src/lib
parentdb8da61e6f5e626e37f5349b874432e6c978b2b6 (diff)
A few fixes to still image mode.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/film.cc6
-rw-r--r--src/lib/imagemagick_decoder.cc13
-rw-r--r--src/lib/imagemagick_decoder.h2
3 files changed, 19 insertions, 2 deletions
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;