Chromium Code Reviews| Index: media/renderers/renderer_impl.cc |
| diff --git a/media/renderers/renderer_impl.cc b/media/renderers/renderer_impl.cc |
| index 38f49d4b66099adbb753cd1cccf67e8d79524e2d..31bee28dd887391b3e9f0bcb72ae72739ee4a42a 100644 |
| --- a/media/renderers/renderer_impl.cc |
| +++ b/media/renderers/renderer_impl.cc |
| @@ -205,6 +205,7 @@ void RendererImpl::SetVolume(float volume) { |
| DVLOG(1) << __FUNCTION__; |
| DCHECK(task_runner_->BelongsToCurrentThread()); |
| + audio_volume_ = volume; |
|
wolenetz
2016/03/30 00:31:32
ISTM that this could be more readable and correct
servolk
2016/03/30 01:29:49
That's a very good point. But please keep in mind
wolenetz
2016/03/30 20:08:11
I think in short-term, while we're still decoding
|
| if (audio_renderer_) |
| audio_renderer_->SetVolume(volume); |
| } |
| @@ -225,6 +226,40 @@ bool RendererImpl::HasVideo() { |
| return video_renderer_ != NULL; |
| } |
| +void RendererImpl::OnEnabledAudioStreamsChanged( |
| + const std::vector<const DemuxerStream*>& enabledAudioStreams) { |
| + DCHECK(task_runner_->BelongsToCurrentThread()); |
| + DemuxerStream* audio_stream = |
| + demuxer_stream_provider_->GetStream(DemuxerStream::AUDIO); |
| + |
| + bool audio_stream_enabled = false; |
| + for (const DemuxerStream* demuxer_stream : enabledAudioStreams) { |
| + DCHECK_EQ(demuxer_stream->type(), DemuxerStream::AUDIO); |
| + if (demuxer_stream == audio_stream) |
| + audio_stream_enabled = true; |
| + } |
| + |
| + if (audio_renderer_) { |
| + if (audio_stream_enabled) { |
| + DVLOG(5) << __FUNCTION__ << " enabled audio. SetVolume=" << audio_volume_; |
| + audio_renderer_->SetVolume(audio_volume_); |
| + } else { |
| + DVLOG(5) << __FUNCTION__ << " disabled audio. SetVolume=0"; |
| + audio_renderer_->SetVolume(0); |
| + } |
| + } |
| +} |
| + |
| +void RendererImpl::OnSelectedVideoStreamChanged( |
| + const DemuxerStream* selectedVideoStream) { |
| + DCHECK(task_runner_->BelongsToCurrentThread()); |
| + DemuxerStream* video_stream = |
| + demuxer_stream_provider_->GetStream(DemuxerStream::VIDEO); |
| + if (selectedVideoStream) { |
| + CHECK_EQ(selectedVideoStream, video_stream); |
| + } |
| +} |
| + |
| void RendererImpl::DisableUnderflowForTesting() { |
| DVLOG(1) << __FUNCTION__; |
| DCHECK(task_runner_->BelongsToCurrentThread()); |