Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Issue 1069253004: Fix MSE playback regression by not changing pipeline duration at EOS (Closed)

Created:
5 years, 8 months ago by servolk
Modified:
5 years, 8 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix MSE playback regression by not changing pipeline duration at EOS There has been a regression in MSE stream playback, that I tracked down to this CL: https://codereview.chromium.org/740663002/ I think the root cause of the issue is that Pipeline::RunEndedCallbackIfNeeded invokes SetDuration(media_time) - this sets media duration on the media::Pipeline object level, but not on the demuxer level. In case of URL playback that works, since for URL playback HTMLMediaElement::duration gets the actual duration from the media::Pipeline (via WebMediaPlayerImpl::duration). But in case of MSE playback HTMLMediaElement::duration gets duration directly from the demuxer (via WebMediaSourceImpl::duration) and that causes mismatch between the HTMLMediaElement::duration and HTMLMediaElement::currentTime, which causes HTMLMediaElement to never send the 'ended' event. I think we shouldn't need to do this SetDuration on the pipeline level, since WebMediaPlayerImpl::currentTime will return duration() value after end-of-stream has been processed by media::Pipeline (see https://code.google.com/p/chromium/codesearch#chromium/src/media/blink/webmediaplayer_impl.cc&rcl=1428421466&l=446) And another part of CL 740663002 will make sure Pipeline::GetMediaTime also returns duration_ after end-of-stream has been reached by renderer I've verified this CL by running media_unittests and internal Chromecast MSE unit tests. BUG=475244 Committed: https://crrev.com/86a0801b082cb38f4c6f80d52336fca620d0d4fe Cr-Commit-Position: refs/heads/master@{#324470}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+0 lines, -13 lines) Patch
M media/base/pipeline.cc View 1 chunk +0 lines, -10 lines 0 comments Download
M media/base/pipeline_unittest.cc View 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 14 (2 generated)
servolk
5 years, 8 months ago (2015-04-08 22:23:29 UTC) #2
DaleCurtis
Hmm, do layout tests still pass after this?
5 years, 8 months ago (2015-04-08 22:27:03 UTC) #3
servolk
On 2015/04/08 22:27:03, DaleCurtis wrote: > Hmm, do layout tests still pass after this? Haven't ...
5 years, 8 months ago (2015-04-08 22:33:40 UTC) #4
servolk
On 2015/04/08 22:33:40, servolk wrote: > On 2015/04/08 22:27:03, DaleCurtis wrote: > > Hmm, do ...
5 years, 8 months ago (2015-04-09 00:46:25 UTC) #5
servolk
On 2015/04/09 00:46:25, servolk wrote: > On 2015/04/08 22:33:40, servolk wrote: > > On 2015/04/08 ...
5 years, 8 months ago (2015-04-09 00:56:55 UTC) #6
servolk
On 2015/04/09 00:56:55, servolk wrote: > On 2015/04/09 00:46:25, servolk wrote: > > On 2015/04/08 ...
5 years, 8 months ago (2015-04-09 16:52:51 UTC) #7
DaleCurtis
lgtm, since the code which needs this isn't in yet.
5 years, 8 months ago (2015-04-09 16:55:55 UTC) #8
DaleCurtis
(/ was reverted)
5 years, 8 months ago (2015-04-09 16:56:05 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1069253004/1
5 years, 8 months ago (2015-04-09 16:59:13 UTC) #11
wolenetz
lgtm also, though please see my comments on your layout test CL for filing follow-up ...
5 years, 8 months ago (2015-04-09 17:34:03 UTC) #12
commit-bot: I haz the power
Committed patchset #1 (id:1)
5 years, 8 months ago (2015-04-09 17:54:52 UTC) #13
commit-bot: I haz the power
5 years, 8 months ago (2015-04-09 17:55:42 UTC) #14
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/86a0801b082cb38f4c6f80d52336fca620d0d4fe
Cr-Commit-Position: refs/heads/master@{#324470}

Powered by Google App Engine
This is Rietveld 408576698