Chromium Code Reviews| Index: media/renderers/renderer_impl.cc |
| diff --git a/media/renderers/renderer_impl.cc b/media/renderers/renderer_impl.cc |
| index 007b4b02c12bbc1e31b8ec102a0711baf6b12845..88d6fb7d6d14e958d1f1326fbcc207a7b4923f69 100644 |
| --- a/media/renderers/renderer_impl.cc |
| +++ b/media/renderers/renderer_impl.cc |
| @@ -134,12 +134,12 @@ void RendererImpl::Initialize(DemuxerStreamProvider* demuxer_stream_provider, |
| DemuxerStream* audio_stream = |
| demuxer_stream_provider->GetStream(DemuxerStream::AUDIO); |
| if (audio_stream) |
| - audio_stream->SetStreamRestartedCB( |
| + audio_stream->SetStreamStatusChangeCB( |
| base::Bind(&RendererImpl::RestartStreamPlayback, weak_this_)); |
| DemuxerStream* video_stream = |
| demuxer_stream_provider->GetStream(DemuxerStream::VIDEO); |
| if (video_stream) |
| - video_stream->SetStreamRestartedCB( |
| + video_stream->SetStreamStatusChangeCB( |
| base::Bind(&RendererImpl::RestartStreamPlayback, weak_this_)); |
| if (HasEncryptedStream() && !cdm_context_) { |
| @@ -215,9 +215,13 @@ void RendererImpl::StartPlayingFrom(base::TimeDelta time) { |
| } |
| void RendererImpl::RestartStreamPlayback(DemuxerStream* stream, |
| + bool enabled, |
|
alokp
2016/08/04 19:02:36
I do not see this new argument being used. Am I mi
servolk
2016/08/04 20:31:47
Yes, it is unused for now. I've added it per Dale
|
| base::TimeDelta time) { |
| - DVLOG(1) << __func__ << " stream=" << stream << " time=" << time.InSecondsF(); |
| DCHECK(task_runner_->BelongsToCurrentThread()); |
| + DCHECK(stream); |
| + bool video = (stream->type() == DemuxerStream::VIDEO); |
| + DVLOG(1) << __func__ << (video ? " video" : " audio") << " stream=" << stream |
| + << " enabled=" << stream->enabled() << " time=" << time.InSecondsF(); |
| if (state_ != STATE_PLAYING) |
| return; |
| if (stream->type() == DemuxerStream::VIDEO) { |
| @@ -246,24 +250,22 @@ void RendererImpl::RestartStreamPlayback(DemuxerStream* stream, |
| } |
| void RendererImpl::RestartVideoRenderer(base::TimeDelta time) { |
| + DVLOG(3) << __func__; |
|
alokp
2016/08/04 19:02:37
any particular reason for changing the logging lev
servolk
2016/08/04 20:31:48
No particular reason. It was more useful during th
|
| DCHECK(task_runner_->BelongsToCurrentThread()); |
| - DVLOG(2) << __func__; |
| + DCHECK(video_renderer_); |
| + DCHECK_EQ(state_, STATE_PLAYING); |
|
alokp
2016/08/04 19:02:36
nit: I usually prefer the expected values specifie
servolk
2016/08/04 20:31:47
I have no strong opinion about which order is bett
|
| video_ended_ = false; |
| - if (state_ == STATE_PLAYING) { |
| - DCHECK(video_renderer_); |
| - video_renderer_->StartPlayingFrom(time); |
| - } |
| + video_renderer_->StartPlayingFrom(time); |
| } |
| void RendererImpl::RestartAudioRenderer(base::TimeDelta time) { |
| + DVLOG(3) << __func__; |
|
alokp
2016/08/04 19:02:36
ditto
|
| DCHECK(task_runner_->BelongsToCurrentThread()); |
| - DVLOG(2) << __func__; |
| + DCHECK_EQ(state_, STATE_PLAYING); |
| + DCHECK(time_source_); |
| + DCHECK(audio_renderer_); |
| audio_ended_ = false; |
| - if (state_ == STATE_PLAYING) { |
| - DCHECK(time_source_); |
| - DCHECK(audio_renderer_); |
| - audio_renderer_->StartPlaying(); |
| - } |
| + audio_renderer_->StartPlaying(); |
| } |
| void RendererImpl::SetPlaybackRate(double playback_rate) { |