Partial fix to sync according to pts.
[dcpomatic.git] / src / lib / decoder.h
index 85b256f5bbe592629b8dad0c2b9c12396816aa73..7559217eb13f914a2acd4f68a5b1407c6893705e 100644 (file)
@@ -71,6 +71,11 @@ public:
        virtual int64_t audio_channel_layout () const = 0;
        virtual bool has_subtitles () const = 0;
 
+       /** @return amount of extra unwanted audio at the start (or -ve for unwanted video) in milliseconds */
+       virtual int audio_to_discard () const {
+               return 0;
+       }
+
        void process_begin ();
        bool pass ();
        void process_end ();
@@ -81,17 +86,14 @@ public:
                return _video_frame;
        }
 
-       virtual std::vector<Stream> audio_streams () const {
-               return std::vector<Stream> ();
+       virtual std::vector<AudioStream> audio_streams () const {
+               return std::vector<AudioStream> ();
        }
        
-       virtual std::vector<Stream> subtitle_streams () const {
-               return std::vector<Stream> ();
+       virtual std::vector<SubtitleStream> subtitle_streams () const {
+               return std::vector<SubtitleStream> ();
        }
 
-       virtual void set_audio_stream (Stream s) {}
-       virtual void set_subtitle_stream (Stream s) {}
-       
        /** Emitted when a video frame is ready.
         *  First parameter is the frame.
         *  Second parameter is its index within the content.