| Index: media/filters/ffmpeg_demuxer.h
|
| ===================================================================
|
| --- media/filters/ffmpeg_demuxer.h (revision 12463)
|
| +++ media/filters/ffmpeg_demuxer.h (working copy)
|
| @@ -43,7 +43,7 @@
|
| public:
|
| // Maintains a reference to |demuxer| and initializes itself using information
|
| // inside |stream|.
|
| - FFmpegDemuxerStream(FFmpegDemuxer* demuxer, const AVStream& stream);
|
| + FFmpegDemuxerStream(FFmpegDemuxer* demuxer, AVStream* stream);
|
|
|
| virtual ~FFmpegDemuxerStream();
|
|
|
| @@ -60,11 +60,21 @@
|
| virtual const MediaFormat* GetMediaFormat();
|
| virtual void Read(Assignable<Buffer>* buffer);
|
|
|
| + AVStream* av_stream() {
|
| + return av_stream_;
|
| + }
|
| +
|
| + static const char* interface_id();
|
| +
|
| + protected:
|
| + virtual void* QueryInterface(const char* interface_id);
|
| +
|
| private:
|
| // Returns true if there are still pending reads.
|
| bool FulfillPendingReads();
|
|
|
| FFmpegDemuxer* demuxer_;
|
| + AVStream* av_stream_;
|
| MediaFormat media_format_;
|
| base::TimeDelta time_base_;
|
| base::TimeDelta duration_;
|
| @@ -95,7 +105,7 @@
|
| // Demuxer implementation.
|
| virtual bool Initialize(DataSource* data_source);
|
| virtual size_t GetNumberOfStreams();
|
| - virtual DemuxerStream* GetStream(int stream_id);
|
| + virtual scoped_refptr<DemuxerStream> GetStream(int stream_id);
|
|
|
| private:
|
| // Only allow a factory to create this class.
|
| @@ -116,7 +126,7 @@
|
| AVFormatContext* format_context_;
|
|
|
| // Vector of streams.
|
| - typedef std::vector<FFmpegDemuxerStream*> StreamVector;
|
| + typedef std::vector< scoped_refptr<FFmpegDemuxerStream> > StreamVector;
|
| StreamVector streams_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxer);
|
|
|