Chromium Code Reviews| Index: chromecast/media/cma/filters/demuxer_stream_adapter.cc |
| diff --git a/chromecast/media/cma/filters/demuxer_stream_adapter.cc b/chromecast/media/cma/filters/demuxer_stream_adapter.cc |
| index 191ed636828216497d67ebb52fb5bdabb3ca3bbe..c2fd5a4786188961477fa2ec1a012b8f8714b056 100644 |
| --- a/chromecast/media/cma/filters/demuxer_stream_adapter.cc |
| +++ b/chromecast/media/cma/filters/demuxer_stream_adapter.cc |
| @@ -183,6 +183,13 @@ void DemuxerStreamAdapter::OnNewBuffer( |
| DCHECK_EQ(status, ::media::DemuxerStream::kOk); |
| + if (input->end_of_stream()) { |
| + // This stream has ended, its media time will stop increasing, but there |
| + // might be other streams that are still playing. Remove the task runner of |
| + // this stream to ensure other streams are not blocked waiting for this one. |
| + ResetMediaTaskRunner(); |
|
damienv1
2015/05/13 01:37:43
1) I don't think this fully address the issue:
e.g
|
| + } |
| + |
| // Updates the timestamp used for task scheduling. |
| if (!input->end_of_stream() && |
| input->timestamp() != ::media::kNoTimestamp() && |