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

Unified Diff: media/filters/chunk_demuxer.cc

Issue 13419002: Media Source dispatches inband text tracks (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: clean compile Created 7 years, 7 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/chunk_demuxer.cc
diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc
index c1232f6d2010540c5d5835e9d5a84784ad0d81f2..ff1c11eeef4f0b47b58fc271f3cb80e1c22bc0ab 100644
--- a/media/filters/chunk_demuxer.cc
+++ b/media/filters/chunk_demuxer.cc
@@ -31,6 +31,7 @@ class SourceState {
const StreamParser::NewBuffersCB& audio_cb,
const StreamParser::NewBuffersCB& video_cb,
const StreamParser::NeedKeyCB& need_key_cb,
+ const AddTextTrackCB& add_text_track_cb,
const StreamParser::NewMediaSegmentCB& new_segment_cb,
const LogCB& log_cb);
@@ -93,6 +94,7 @@ void SourceState::Init(const StreamParser::InitCB& init_cb,
const StreamParser::NewBuffersCB& audio_cb,
const StreamParser::NewBuffersCB& video_cb,
const StreamParser::NeedKeyCB& need_key_cb,
+ const AddTextTrackCB& add_text_track_cb,
const StreamParser::NewMediaSegmentCB& new_segment_cb,
const LogCB& log_cb) {
stream_parser_->Init(init_cb, config_cb,
@@ -101,6 +103,7 @@ void SourceState::Init(const StreamParser::InitCB& init_cb,
base::Bind(&SourceState::OnBuffers,
base::Unretained(this), video_cb),
need_key_cb,
+ add_text_track_cb,
base::Bind(&SourceState::OnNewMediaSegment,
base::Unretained(this), new_segment_cb),
base::Bind(&SourceState::OnEndOfMediaSegment,
@@ -545,11 +548,13 @@ bool ChunkDemuxerStream::GetNextBuffer_Locked(
ChunkDemuxer::ChunkDemuxer(const base::Closure& open_cb,
const NeedKeyCB& need_key_cb,
+ const AddTextTrackCB& add_text_track_cb,
const LogCB& log_cb)
: state_(WAITING_FOR_INIT),
host_(NULL),
open_cb_(open_cb),
need_key_cb_(need_key_cb),
+ add_text_track_cb_(add_text_track_cb),
log_cb_(log_cb),
duration_(kNoTimestamp()),
user_specified_duration_(-1) {
@@ -703,6 +708,12 @@ ChunkDemuxer::Status ChunkDemuxer::AddId(const std::string& id,
base::Unretained(this));
}
+ // TODO(matthewjheaney): still need this?
+ // TODO(matthewjheaney): need a predicate here?
+ //StreamParser::NewBuffersCB text_cb;
+ //text_cb = base::Bind(&ChunkDemuxer::OnTextBuffers,
+ // base::Unretained(this));
+
scoped_ptr<SourceState> source_state(new SourceState(stream_parser.Pass()));
source_state->Init(
base::Bind(&ChunkDemuxer::OnSourceInitDone, base::Unretained(this)),
@@ -711,6 +722,7 @@ ChunkDemuxer::Status ChunkDemuxer::AddId(const std::string& id,
audio_cb,
video_cb,
base::Bind(&ChunkDemuxer::OnNeedKey, base::Unretained(this)),
+ add_text_track_cb_,
base::Bind(&ChunkDemuxer::OnNewMediaSegment, base::Unretained(this), id),
log_cb_);

Powered by Google App Engine
This is Rietveld 408576698