diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/media/renderers/renderer_impl.cc | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/media/renderers/renderer_impl.cc')
-rw-r--r-- | chromium/media/renderers/renderer_impl.cc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/chromium/media/renderers/renderer_impl.cc b/chromium/media/renderers/renderer_impl.cc index 98b8c805dd6..aa1c01263c5 100644 --- a/chromium/media/renderers/renderer_impl.cc +++ b/chromium/media/renderers/renderer_impl.cc @@ -93,7 +93,7 @@ RendererImpl::RendererImpl( video_renderer_(std::move(video_renderer)), current_audio_stream_(nullptr), current_video_stream_(nullptr), - time_source_(NULL), + time_source_(nullptr), time_ticking_(false), playback_rate_(0.0), audio_buffering_state_(BUFFERING_HAVE_NOTHING), @@ -206,6 +206,14 @@ void RendererImpl::SetLatencyHint( audio_renderer_->SetLatencyHint(latency_hint); } +void RendererImpl::SetPreservesPitch(bool preserves_pitch) { + DVLOG(1) << __func__; + DCHECK(task_runner_->BelongsToCurrentThread()); + + if (audio_renderer_) + audio_renderer_->SetPreservesPitch(preserves_pitch); +} + void RendererImpl::Flush(base::OnceClosure flush_cb) { DVLOG(1) << __func__; DCHECK(task_runner_->BelongsToCurrentThread()); @@ -853,19 +861,15 @@ void RendererImpl::OnRendererEnded(DemuxerStream::Type type) { DCHECK((type == DemuxerStream::AUDIO) || (type == DemuxerStream::VIDEO)); TRACE_EVENT1("media", "RendererImpl::OnRendererEnded", "type", type_string); - if (state_ != STATE_PLAYING) + // If all streams are ended, do not propagate a redundant ended event. + if (state_ != STATE_PLAYING || PlaybackHasEnded()) return; if (type == DemuxerStream::AUDIO) { - // If all streams are ended, do not propagate a redundant ended event. - if (audio_ended_ && PlaybackHasEnded()) - return; + DCHECK(audio_renderer_); audio_ended_ = true; } else { DCHECK(video_renderer_); - // If all streams are ended, do not propagate a redundant ended event. - if (audio_ended_ && PlaybackHasEnded()) - return; video_ended_ = true; video_renderer_->OnTimeStopped(); } |