X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fimagemagick_decoder.h;h=80a08f81f8374a3126a425ee413d0c0eedf21e29;hb=254664b5a482cb3551d0a98ececfbdd8296e6c71;hp=85bcf4c5bc29811ee9acd36e0507315f10739dc4;hpb=b7466a9653345bc51db4cb1d7e960bfc4c12721f;p=dcpomatic.git diff --git a/src/lib/imagemagick_decoder.h b/src/lib/imagemagick_decoder.h index 85bcf4c5b..80a08f81f 100644 --- a/src/lib/imagemagick_decoder.h +++ b/src/lib/imagemagick_decoder.h @@ -17,46 +17,40 @@ */ -#include "decoder.h" +#include "video_decoder.h" namespace Magick { class Image; } -class ImageMagickDecoder : public Decoder +class ImageMagickDecoder : public VideoDecoder { public: - ImageMagickDecoder (boost::shared_ptr, boost::shared_ptr, Job *, bool); + ImageMagickDecoder (boost::shared_ptr, DecodeOptions); - float frames_per_second () const { - return static_frames_per_second (); - } + float frames_per_second () const; - Size native_size () const; + libdcp::Size native_size () const; - int audio_channels () const { + SourceFrame length () const { + /* We don't know */ return 0; } - int audio_sample_rate () const { + int audio_channels () const { return 0; } - AVSampleFormat audio_sample_format () const { - return AV_SAMPLE_FMT_NONE; + int audio_sample_rate () const { + return 0; } int64_t audio_channel_layout () const { return 0; } - bool has_subtitles () const { - return false; - } - - static float static_frames_per_second () { - return 24; - } + bool seek (double); + bool seek_to_last (); protected: bool pass (); @@ -81,6 +75,10 @@ protected: } private: - Magick::Image* _magick_image; - bool _done; + void film_changed (Film::Property); + + std::list _files; + std::list::iterator _iter; + + boost::shared_ptr _image; };