OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 const NeedKeyCB& need_key_cb, | 159 const NeedKeyCB& need_key_cb, |
160 const scoped_refptr<MediaLog>& media_log); | 160 const scoped_refptr<MediaLog>& media_log); |
161 virtual ~FFmpegDemuxer(); | 161 virtual ~FFmpegDemuxer(); |
162 | 162 |
163 // Demuxer implementation. | 163 // Demuxer implementation. |
164 virtual void Initialize(DemuxerHost* host, | 164 virtual void Initialize(DemuxerHost* host, |
165 const PipelineStatusCB& status_cb, | 165 const PipelineStatusCB& status_cb, |
166 bool enable_text_tracks) OVERRIDE; | 166 bool enable_text_tracks) OVERRIDE; |
167 virtual void Stop() OVERRIDE; | 167 virtual void Stop() OVERRIDE; |
168 virtual void Seek(base::TimeDelta time, const PipelineStatusCB& cb) OVERRIDE; | 168 virtual void Seek(base::TimeDelta time, const PipelineStatusCB& cb) OVERRIDE; |
| 169 virtual base::Time GetTimelineOffset() const OVERRIDE; |
169 virtual DemuxerStream* GetStream(DemuxerStream::Type type) OVERRIDE; | 170 virtual DemuxerStream* GetStream(DemuxerStream::Type type) OVERRIDE; |
170 virtual base::Time GetTimelineOffset() const OVERRIDE; | |
171 virtual Liveness GetLiveness() const OVERRIDE; | 171 virtual Liveness GetLiveness() const OVERRIDE; |
172 | 172 |
173 // Calls |need_key_cb_| with the initialization data encountered in the file. | 173 // Calls |need_key_cb_| with the initialization data encountered in the file. |
174 void FireNeedKey(const std::string& init_data_type, | 174 void FireNeedKey(const std::string& init_data_type, |
175 const std::string& encryption_key_id); | 175 const std::string& encryption_key_id); |
176 | 176 |
177 // Allow FFmpegDemuxerStream to notify us when there is updated information | 177 // Allow FFmpegDemuxerStream to notify us when there is updated information |
178 // about capacity and what buffered data is available. | 178 // about capacity and what buffered data is available. |
179 void NotifyCapacityAvailable(); | 179 void NotifyCapacityAvailable(); |
180 void NotifyBufferingChanged(); | 180 void NotifyBufferingChanged(); |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 | 295 |
296 // NOTE: Weak pointers must be invalidated before all other member variables. | 296 // NOTE: Weak pointers must be invalidated before all other member variables. |
297 base::WeakPtrFactory<FFmpegDemuxer> weak_factory_; | 297 base::WeakPtrFactory<FFmpegDemuxer> weak_factory_; |
298 | 298 |
299 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxer); | 299 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxer); |
300 }; | 300 }; |
301 | 301 |
302 } // namespace media | 302 } // namespace media |
303 | 303 |
304 #endif // MEDIA_FILTERS_FFMPEG_DEMUXER_H_ | 304 #endif // MEDIA_FILTERS_FFMPEG_DEMUXER_H_ |
OLD | NEW |