Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(864)

Side by Side Diff: media/filters/ffmpeg_demuxer.h

Issue 2563183002: Fix up missing timestamps in FFmpegDemuxer. (Closed)
Patch Set: added demuxer status to media log Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/ffmpeg/ffmpeg_regression_tests.cc ('k') | media/filters/ffmpeg_demuxer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 // Calls |encrypted_media_init_data_cb_| with the initialization data 228 // Calls |encrypted_media_init_data_cb_| with the initialization data
229 // encountered in the file. 229 // encountered in the file.
230 void OnEncryptedMediaInitData(EmeInitDataType init_data_type, 230 void OnEncryptedMediaInitData(EmeInitDataType init_data_type,
231 const std::string& encryption_key_id); 231 const std::string& encryption_key_id);
232 232
233 // Allow FFmpegDemuxerStream to notify us when there is updated information 233 // Allow FFmpegDemuxerStream to notify us when there is updated information
234 // about capacity and what buffered data is available. 234 // about capacity and what buffered data is available.
235 void NotifyCapacityAvailable(); 235 void NotifyCapacityAvailable();
236 void NotifyBufferingChanged(); 236 void NotifyBufferingChanged();
237 237
238 // Allow FFmpegDemxuerStream to notify us about an error.
wolenetz 2016/12/21 20:10:55 nit: typo
239 void NotifyDemuxerError(PipelineStatus error);
240
238 void OnEnabledAudioTracksChanged(const std::vector<MediaTrack::Id>& track_ids, 241 void OnEnabledAudioTracksChanged(const std::vector<MediaTrack::Id>& track_ids,
239 base::TimeDelta currTime) override; 242 base::TimeDelta currTime) override;
240 // |track_ids| is either empty or contains a single video track id. 243 // |track_ids| is either empty or contains a single video track id.
241 void OnSelectedVideoTrackChanged(const std::vector<MediaTrack::Id>& track_ids, 244 void OnSelectedVideoTrackChanged(const std::vector<MediaTrack::Id>& track_ids,
242 base::TimeDelta currTime) override; 245 base::TimeDelta currTime) override;
243 246
244 // The lowest demuxed timestamp. If negative, DemuxerStreams must use this to 247 // The lowest demuxed timestamp. If negative, DemuxerStreams must use this to
245 // adjust packet timestamps such that external clients see a zero-based 248 // adjust packet timestamps such that external clients see a zero-based
246 // timeline. 249 // timeline.
247 base::TimeDelta start_time() const { return start_time_; } 250 base::TimeDelta start_time() const { return start_time_; }
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 base::WeakPtr<FFmpegDemuxer> weak_this_; 368 base::WeakPtr<FFmpegDemuxer> weak_this_;
366 base::WeakPtrFactory<FFmpegDemuxer> cancel_pending_seek_factory_; 369 base::WeakPtrFactory<FFmpegDemuxer> cancel_pending_seek_factory_;
367 base::WeakPtrFactory<FFmpegDemuxer> weak_factory_; 370 base::WeakPtrFactory<FFmpegDemuxer> weak_factory_;
368 371
369 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxer); 372 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxer);
370 }; 373 };
371 374
372 } // namespace media 375 } // namespace media
373 376
374 #endif // MEDIA_FILTERS_FFMPEG_DEMUXER_H_ 377 #endif // MEDIA_FILTERS_FFMPEG_DEMUXER_H_
OLDNEW
« no previous file with comments | « media/ffmpeg/ffmpeg_regression_tests.cc ('k') | media/filters/ffmpeg_demuxer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698