| 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_);
|
|
|
|
|