Remove old unused stuff.
[dcpomatic.git] / src / lib / decoder.h
index 88dd90f0c43bee70737ec31765377ad5a8e5e1ae..f530de0ebaeb89adff237391624b337afdc7531a 100644 (file)
@@ -56,8 +56,6 @@ public:
 
        /* Methods to query our input video */
 
-       /** @return length in video frames */
-       virtual int length_in_frames () const = 0;
        /** @return video frames per second, or 0 if unknown */
        virtual float frames_per_second () const = 0;
        /** @return native size in pixels */
@@ -81,17 +79,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.
@@ -99,11 +94,8 @@ public:
         */
        sigc::signal<void, boost::shared_ptr<Image>, int, boost::shared_ptr<Subtitle> > Video;
 
-       /** Emitted when some audio data is ready.
-        *  First parameter is an array of pointers to deinterleaved, floating point sample data for each channel.
-        *  Second parameter is the size of the data in frames (ie samples on each channel).
-        */
-       sigc::signal<void, float**, int> Audio;
+       /** Emitted when some audio data is ready */
+       sigc::signal<void, boost::shared_ptr<AudioBuffers> > Audio;
        
 protected:
        /** perform a single pass at our content */
@@ -118,6 +110,8 @@ protected:
        void process_audio (uint8_t *, int);
        void process_subtitle (boost::shared_ptr<TimedSubtitle>);
 
+       int bytes_per_audio_sample () const;
+       
        /** our FilmState */
        boost::shared_ptr<const FilmState> _fs;
        /** our options */