Merge master; specify libdcp-1.0.
[dcpomatic.git] / src / lib / player.h
index 5f7c553a0f9f0bd44b2c6b49c628c59520d9381c..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 ();
@@ -151,7 +151,8 @@ private:
        void emit_black ();
        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>);
@@ -173,14 +174,19 @@ private:
 
        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;