Commit 23a21b34 authored by Ted Meyer's avatar Ted Meyer Committed by Commit Bot

Use PlaybackHasEnded generically to stop double ended event firing

Wez pointed out a good issue in crrev.com/c/1153144

Bug: 867872
Change-Id: I40e6f100c1f2fdee77ff536923e202f18d4eb7a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2212932Reviewed-by: default avatarWez <wez@chromium.org>
Commit-Queue: Ted Meyer <tmathmeyer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#771615}
parent 933a9ce2
...@@ -853,19 +853,15 @@ void RendererImpl::OnRendererEnded(DemuxerStream::Type type) { ...@@ -853,19 +853,15 @@ void RendererImpl::OnRendererEnded(DemuxerStream::Type type) {
DCHECK((type == DemuxerStream::AUDIO) || (type == DemuxerStream::VIDEO)); DCHECK((type == DemuxerStream::AUDIO) || (type == DemuxerStream::VIDEO));
TRACE_EVENT1("media", "RendererImpl::OnRendererEnded", "type", type_string); 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; return;
if (type == DemuxerStream::AUDIO) { if (type == DemuxerStream::AUDIO) {
// If all streams are ended, do not propagate a redundant ended event. DCHECK(audio_renderer_);
if (audio_ended_ && PlaybackHasEnded())
return;
audio_ended_ = true; audio_ended_ = true;
} else { } else {
DCHECK(video_renderer_); DCHECK(video_renderer_);
// If all streams are ended, do not propagate a redundant ended event.
if (audio_ended_ && PlaybackHasEnded())
return;
video_ended_ = true; video_ended_ = true;
video_renderer_->OnTimeStopped(); video_renderer_->OnTimeStopped();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment