summaryrefslogtreecommitdiff
path: root/src/lib/player.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-07-26 00:20:21 +0100
committerCarl Hetherington <cth@carlh.net>2013-07-26 00:20:21 +0100
commit264a268f7c1244b47d9fa54ad342d80b0f98e16d (patch)
treeb184c193908fc96280ccffef4e51a67ab35eb69d /src/lib/player.cc
parent78e5a331074a456097a162d47501daf1df1ab1a3 (diff)
Basic if sketchy support for image sequences.
Diffstat (limited to 'src/lib/player.cc')
-rw-r--r--src/lib/player.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/player.cc b/src/lib/player.cc
index 620efbd0d..647095793 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -24,6 +24,8 @@
#include "ffmpeg_content.h"
#include "still_image_decoder.h"
#include "still_image_content.h"
+#include "moving_image_decoder.h"
+#include "moving_image_content.h"
#include "sndfile_decoder.h"
#include "sndfile_content.h"
#include "subtitle_content.h"
@@ -462,6 +464,18 @@ Player::setup_pieces ()
piece->decoder = id;
}
+ shared_ptr<const MovingImageContent> mc = dynamic_pointer_cast<const MovingImageContent> (*i);
+ if (mc) {
+ shared_ptr<MovingImageDecoder> md;
+
+ if (!md) {
+ md.reset (new MovingImageDecoder (_film, mc));
+ md->Video.connect (bind (&Player::process_video, this, piece, _1, _2, _3, _4));
+ }
+
+ piece->decoder = md;
+ }
+
shared_ptr<const SndfileContent> sc = dynamic_pointer_cast<const SndfileContent> (*i);
if (sc) {
shared_ptr<AudioDecoder> sd (new SndfileDecoder (_film, sc));