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

Unified Diff: media/filters/ffmpeg_demuxer.h

Issue 10581050: Ensure media's buffered ranges always have a range that includes currentTime. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Alternative implementation, introducing DataSourceHost::AddBufferedTimeRange(). Created 8 years, 6 months 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 side-by-side diff with in-line comments
Download patch
Index: media/filters/ffmpeg_demuxer.h
diff --git a/media/filters/ffmpeg_demuxer.h b/media/filters/ffmpeg_demuxer.h
index dee6db350313d830f67e5a02e5f0144952e67c2a..12ea44de291db8e253c8744669b20def71c91b90 100644
--- a/media/filters/ffmpeg_demuxer.h
+++ b/media/filters/ffmpeg_demuxer.h
@@ -47,11 +47,14 @@ class BitstreamConverter;
class FFmpegDemuxer;
class ScopedPtrAVFreePacket;
+typedef base::Callback<void(base::TimeDelta, base::TimeDelta)> NotifyBufferedCB;
+
class FFmpegDemuxerStream : public DemuxerStream {
public:
// Keeps a copy of |demuxer| and initializes itself using information
// inside |stream|. Both parameters must outlive |this|.
- FFmpegDemuxerStream(FFmpegDemuxer* demuxer, AVStream* stream);
+ FFmpegDemuxerStream(const NotifyBufferedCB& notify_buffered_cb_,
scherkus (not reviewing) 2012/06/21 21:57:04 is this needed given FDS has a pointer to FD and c
Ami GONE FROM CHROMIUM 2012/06/21 22:49:02 Yeah, I went back and forth on this. FDS has an FD
scherkus (not reviewing) 2012/06/21 23:18:42 Ah! I hadn't noticed you were binding to DemuxerHo
Ami GONE FROM CHROMIUM 2012/06/22 03:55:47 Done % still using a CB since the stream doesn't k
+ FFmpegDemuxer* demuxer, AVStream* stream);
// Returns true is this stream has pending reads, false otherwise.
//
@@ -107,6 +110,7 @@ class FFmpegDemuxerStream : public DemuxerStream {
static base::TimeDelta ConvertStreamTimestamp(const AVRational& time_base,
int64 timestamp);
+ NotifyBufferedCB notify_buffered_cb_;
FFmpegDemuxer* demuxer_;
AVStream* stream_;
AudioDecoderConfig audio_config_;
@@ -115,6 +119,7 @@ class FFmpegDemuxerStream : public DemuxerStream {
base::TimeDelta duration_;
bool discontinuous_;
bool stopped_;
+ base::TimeDelta last_packet_timestamp_;
typedef std::deque<scoped_refptr<DecoderBuffer> > BufferQueue;
BufferQueue buffer_queue_;

Powered by Google App Engine
This is Rietveld 408576698