Merge master; specify libdcp-1.0.
[dcpomatic.git] / src / lib / player.h
index 897c6116b5acbf7c3351e4b774b214b01ad8c7f5..1ef1f58b7bb693a76b875f3b30bd79be42d7c057 100644 (file)
@@ -45,7 +45,7 @@ class Image;
 class PlayerImage
 {
 public:
-       PlayerImage (boost::shared_ptr<const Image>, Crop, libdcp::Size, libdcp::Size, Scaler const *);
+       PlayerImage (boost::shared_ptr<const Image>, Crop, dcp::Size, dcp::Size, Scaler const *);
 
        void set_subtitle (boost::shared_ptr<const Image>, Position<int>);
        
@@ -54,8 +54,8 @@ public:
 private:
        boost::shared_ptr<const Image> _in;
        Crop _crop;
-       libdcp::Size _inter_size;
-       libdcp::Size _out_size;
+       dcp::Size _inter_size;
+       dcp::Size _out_size;
        Scaler const * _scaler;
        boost::shared_ptr<const Image> _subtitle_image;
        Position<int> _subtitle_position;
@@ -112,7 +112,7 @@ public:
                return _video_position;
        }
 
-       void set_video_container_size (libdcp::Size);
+       void set_video_container_size (dcp::Size);
        void set_approximate_size ();
 
        bool repeat_last_video ();
@@ -149,9 +149,10 @@ private:
        void do_seek (DCPTime, bool);
        void flush ();
        void emit_black ();
-       void emit_silence (OutputAudioFrame);
+       void emit_silence (AudioFrame);
        void film_changed (Film::Property);
-       void update_subtitle ();
+       void update_subtitle_from_image ();
+       void update_subtitle_from_text ();
        void emit_video (boost::weak_ptr<Piece>, boost::shared_ptr<DecodedVideo>);
        void emit_audio (boost::weak_ptr<Piece>, boost::shared_ptr<DecodedAudio>);
        void step_video_position (boost::shared_ptr<DecodedVideo>);
@@ -171,16 +172,21 @@ private:
        /** The time after the last audio that we emitted */
        DCPTime _audio_position;
 
-       AudioMerger<DCPTime, AudioContent::Frame> _audio_merger;
+       AudioMerger<DCPTime, AudioFrame> _audio_merger;
 
-       libdcp::Size _video_container_size;
+       dcp::Size _video_container_size;
        boost::shared_ptr<PlayerImage> _black_frame;
 
        struct {
                boost::weak_ptr<Piece> piece;
-               boost::shared_ptr<DecodedSubtitle> subtitle;
-       } _in_subtitle;
+               boost::shared_ptr<DecodedImageSubtitle> subtitle;
+       } _image_subtitle;
 
+       struct {
+               boost::weak_ptr<Piece> piece;
+               boost::shared_ptr<DecodedTextSubtitle> subtitle;
+       } _text_subtitle;
+       
        struct {
                Position<int> position;
                boost::shared_ptr<Image> image;