OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Implements the Demuxer interface using FFmpeg's libavformat. At this time | 5 // Implements the Demuxer interface using FFmpeg's libavformat. At this time |
6 // will support demuxing any audio/video format thrown at it. The streams | 6 // will support demuxing any audio/video format thrown at it. The streams |
7 // output mime types audio/x-ffmpeg and video/x-ffmpeg and include an integer | 7 // output mime types audio/x-ffmpeg and video/x-ffmpeg and include an integer |
8 // key FFmpegCodecID which contains the CodecID enumeration value. The CodecIDs | 8 // key FFmpegCodecID which contains the CodecID enumeration value. The CodecIDs |
9 // can be used to create and initialize the corresponding FFmpeg decoder. | 9 // can be used to create and initialize the corresponding FFmpeg decoder. |
10 // | 10 // |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 virtual void PostDemuxTask(); | 123 virtual void PostDemuxTask(); |
124 | 124 |
125 void Initialize( | 125 void Initialize( |
126 DataSource* data_source, PipelineStatusCallback* callback); | 126 DataSource* data_source, PipelineStatusCallback* callback); |
127 | 127 |
128 // Filter implementation. | 128 // Filter implementation. |
129 virtual void Stop(FilterCallback* callback); | 129 virtual void Stop(FilterCallback* callback); |
130 virtual void Seek(base::TimeDelta time, FilterCallback* callback); | 130 virtual void Seek(base::TimeDelta time, FilterCallback* callback); |
131 virtual void OnAudioRendererDisabled(); | 131 virtual void OnAudioRendererDisabled(); |
132 virtual void set_host(FilterHost* filter_host); | 132 virtual void set_host(FilterHost* filter_host); |
| 133 virtual void SetPlaybackRate(float playback_rate); |
| 134 virtual void SetPreload(Preload preload); |
133 | 135 |
134 // Demuxer implementation. | 136 // Demuxer implementation. |
135 virtual scoped_refptr<DemuxerStream> GetStream(DemuxerStream::Type type); | 137 virtual scoped_refptr<DemuxerStream> GetStream(DemuxerStream::Type type); |
136 | 138 |
137 // FFmpegProtocol implementation. | 139 // FFmpegProtocol implementation. |
138 virtual int Read(int size, uint8* data); | 140 virtual int Read(int size, uint8* data); |
139 virtual bool GetPosition(int64* position_out); | 141 virtual bool GetPosition(int64* position_out); |
140 virtual bool SetPosition(int64 position); | 142 virtual bool SetPosition(int64 position); |
141 virtual bool GetSize(int64* size_out); | 143 virtual bool GetSize(int64* size_out); |
142 virtual bool IsStreaming(); | 144 virtual bool IsStreaming(); |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 // store these bits for deferred reporting to the FilterHost when we get one. | 230 // store these bits for deferred reporting to the FilterHost when we get one. |
229 base::TimeDelta max_duration_; | 231 base::TimeDelta max_duration_; |
230 PipelineStatus deferred_status_; | 232 PipelineStatus deferred_status_; |
231 | 233 |
232 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxer); | 234 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxer); |
233 }; | 235 }; |
234 | 236 |
235 } // namespace media | 237 } // namespace media |
236 | 238 |
237 #endif // MEDIA_FILTERS_FFMPEG_DEMUXER_H_ | 239 #endif // MEDIA_FILTERS_FFMPEG_DEMUXER_H_ |
OLD | NEW |