Index: media/renderers/audio_renderer_impl.cc |
diff --git a/media/renderers/audio_renderer_impl.cc b/media/renderers/audio_renderer_impl.cc |
index 379c9570b114175ad358f3c31ec1e0f9af0f2759..4510c0916410b2dba93d330df2a47c153f4ab4f8 100644 |
--- a/media/renderers/audio_renderer_impl.cc |
+++ b/media/renderers/audio_renderer_impl.cc |
@@ -646,6 +646,12 @@ bool AudioRendererImpl::HandleSplicerBuffer_Locked( |
lock_.AssertAcquired(); |
if (buffer->end_of_stream()) { |
received_end_of_stream_ = true; |
+ if (!algorithm_->frames_buffered()) { |
+ rendered_end_of_stream_ = true; |
+ task_runner_->PostTask(FROM_HERE, |
+ base::Bind(&AudioRendererImpl::OnPlaybackEnded, |
+ weak_factory_.GetWeakPtr())); |
+ } |
} else { |
if (state_ == kPlaying) { |
if (IsBeforeStartTime(buffer)) |