Index: media/filters/chunk_demuxer.cc |
diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc |
index 68e575d35711092dad8fdf3bf5d4adf6db0d324e..452d5353f26ef4abecf6277d92c436e54ab3d681 100644 |
--- a/media/filters/chunk_demuxer.cc |
+++ b/media/filters/chunk_demuxer.cc |
@@ -335,8 +335,7 @@ ChunkDemuxer::ChunkDemuxer(ChunkDemuxerClient* client) |
: state_(WAITING_FOR_INIT), |
client_(client), |
buffered_bytes_(0), |
- seek_waits_for_data_(true), |
- deferred_error_(PIPELINE_OK) { |
+ seek_waits_for_data_(true) { |
DCHECK(client); |
} |
@@ -344,7 +343,7 @@ ChunkDemuxer::~ChunkDemuxer() { |
DCHECK_NE(state_, INITIALIZED); |
} |
-void ChunkDemuxer::Init(const PipelineStatusCB& cb) { |
+void ChunkDemuxer::Initialize(const PipelineStatusCB& cb) { |
DVLOG(1) << "Init()"; |
{ |
base::AutoLock auto_lock(lock_); |
@@ -362,17 +361,6 @@ void ChunkDemuxer::Init(const PipelineStatusCB& cb) { |
client_->DemuxerOpened(this); |
} |
-void ChunkDemuxer::set_host(DemuxerHost* host) { |
- DCHECK(state_ == INITIALIZED || state_ == PARSE_ERROR); |
- Demuxer::set_host(host); |
- host->SetDuration(duration_); |
- host->SetCurrentReadPosition(0); |
- if (deferred_error_ != PIPELINE_OK) { |
- host->OnDemuxerError(deferred_error_); |
- deferred_error_ = PIPELINE_OK; |
- } |
-} |
- |
void ChunkDemuxer::Stop(const base::Closure& callback) { |
DVLOG(1) << "Stop()"; |
Shutdown(); |
@@ -411,8 +399,6 @@ void ChunkDemuxer::OnAudioRendererDisabled() { |
audio_ = NULL; |
} |
-void ChunkDemuxer::SetPreload(Preload preload) {} |
- |
int ChunkDemuxer::GetBitrate() { |
// TODO(acolwell): Implement bitrate reporting. |
return 0; |
@@ -551,16 +537,14 @@ bool ChunkDemuxer::AppendData(const uint8* data, size_t length) { |
} |
// Notify the host of 'network activity' because we got data. |
- if (host()) { |
- host()->SetBufferedBytes(buffered_bytes); |
- |
- if (buffered_ts.InSeconds() >= 0) { |
- host()->SetBufferedTime(buffered_ts); |
- } |
+ host()->SetBufferedBytes(buffered_bytes); |
- host()->SetNetworkActivity(true); |
+ if (buffered_ts.InSeconds() >= 0) { |
+ host()->SetBufferedTime(buffered_ts); |
} |
+ host()->SetNetworkActivity(true); |
+ |
if (!cb.is_null()) |
cb.Run(PIPELINE_OK); |
@@ -664,14 +648,8 @@ void ChunkDemuxer::ReportError_Locked(PipelineStatus error) { |
return; |
} |
- DemuxerHost* demuxer_host = host(); |
- if (demuxer_host) { |
- base::AutoUnlock auto_unlock(lock_); |
- demuxer_host->OnDemuxerError(error); |
- return; |
- } |
- |
- deferred_error_ = error; |
+ base::AutoUnlock auto_unlock(lock_); |
+ host()->OnDemuxerError(error); |
} |
void ChunkDemuxer::OnStreamParserInitDone(bool success, |
@@ -684,6 +662,8 @@ void ChunkDemuxer::OnStreamParserInitDone(bool success, |
} |
duration_ = duration; |
+ host()->SetDuration(duration_); |
+ host()->SetCurrentReadPosition(0); |
ChangeState_Locked(INITIALIZED); |
PipelineStatusCB cb; |