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

Issue 2645953004: Update duration when demuxed packets exceed known duration. (Closed)

Created:
3 years, 11 months ago by DaleCurtis
Modified:
3 years, 10 months ago
Reviewers:
chcunningham
CC:
chromium-reviews, feature-media-reviews_chromium.org, posciak+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Update duration when demuxed packets exceed known duration. This applies a similar algorithm to what MSE does, if we see a packet greater than the current duration or the duration is unknown, notify Blink of the updated duration. This prevents us from ending playback earlier on clips which report incorrect durations; specifically those which report 0.1s or similar. The UX experience is not great when this occurs, but is similar to what happens in other browsers. The timeline will increasingly fall behind as more content is demuxed and seeking is hard to accomplish. BUG=645998, 656599 TEST=updated test expectations. Review-Url: https://codereview.chromium.org/2645953004 Cr-Commit-Position: refs/heads/master@{#446889} Committed: https://chromium.googlesource.com/chromium/src/+/560640b659f688387d4c239e00f2dc941607e9f0

Patch Set 1 #

Patch Set 2 : Remux and encode test.ogv. Fixes bad duration. #

Total comments: 4

Patch Set 3 : Update expectations. #

Total comments: 1

Patch Set 4 : Final version, pending hang fix. #

Patch Set 5 : Remove broken CGI server. Rate limit duration changed events. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+107 lines, -85 lines) Patch
M content/renderer/media/render_media_log.h View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M content/renderer/media/render_media_log.cc View 1 2 3 4 2 chunks +11 lines, -0 lines 0 comments Download
M content/renderer/media/render_media_log_unittest.cc View 1 2 3 4 1 chunk +23 lines, -0 lines 0 comments Download
M media/filters/ffmpeg_demuxer.h View 1 2 3 2 chunks +1 line, -4 lines 0 comments Download
M media/filters/ffmpeg_demuxer.cc View 1 2 3 4 5 chunks +28 lines, -20 lines 0 comments Download
M media/filters/ffmpeg_demuxer_unittest.cc View 1 2 3 6 chunks +12 lines, -10 lines 2 comments Download
M media/test/pipeline_integration_test.cc View 1 2 3 5 chunks +6 lines, -5 lines 0 comments Download
M media/test/pipeline_integration_test_base.h View 1 chunk +2 lines, -1 line 0 comments Download
M media/test/pipeline_integration_test_base.cc View 1 chunk +16 lines, -7 lines 0 comments Download
A third_party/WebKit/LayoutTests/compositing/video/video-reflection-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/media/remove-while-loading.html View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/media/video-play-stall.html View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/media/video-play-stall-before-meta-data.html View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
D third_party/WebKit/LayoutTests/http/tests/resources/load-and-stall.cgi View 1 2 3 4 1 chunk +0 lines, -31 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/media-src-allowed.html View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/media-src-blocked.html View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/media-src-redirect-blocked-by-connect-src.html View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/media/color-profile-video-expected.png View 1 2 Binary file 0 comments Download
D third_party/WebKit/LayoutTests/media/color-profile-video-seek-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/media/color-profile-video-seek-object-fit-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/media/content/test.ogv View 1 Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/linux/compositing/video/video-reflection-expected.png View 1 2 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/media/color-profile-video-seek-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/color-profile-video-seek-filter-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/track/track-cue-rendering-horizontal-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/track/track-cue-rendering-vertical-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/video-aspect-ratio-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/video-canvas-alpha-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/video-layer-crash-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/video-overlay-cast-dark-rendering-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/video-remove-insert-repaints-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/video-replaces-poster-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/video-transformed-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/video-zoom-controls-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/media/video-zoom-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/android/fullscreen/full-screen-iframe-allowed-video-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/android/fullscreen/video-controls-timeline-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/android/fullscreen/video-scrolled-iframe-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-mac10.10/media/track/track-cue-rendering-vertical-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-mac10.9/media/track/track-cue-rendering-vertical-expected.png View 1 2 Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/mac/compositing/video/video-reflection-expected.png View 1 2 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/mac/media/color-profile-video-seek-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/color-profile-video-seek-filter-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/track/track-cue-rendering-horizontal-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/track/track-cue-rendering-vertical-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/video-aspect-ratio-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/video-canvas-alpha-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/video-layer-crash-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/video-overlay-cast-dark-rendering-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/video-remove-insert-repaints-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/video-replaces-poster-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/video-transformed-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/video-zoom-controls-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/media/video-zoom-expected.png View 1 2 Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/win/compositing/video/video-reflection-expected.png View 1 2 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/win/media/color-profile-video-seek-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/color-profile-video-seek-filter-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/track/track-cue-rendering-horizontal-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/track/track-cue-rendering-vertical-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/video-aspect-ratio-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/video-canvas-alpha-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/video-overlay-cast-dark-rendering-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/video-remove-insert-repaints-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/video-replaces-poster-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/video-zoom-controls-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/media/video-zoom-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win7/media/track/track-cue-rendering-vertical-expected.png View 1 2 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/win7/media/video-layer-crash-expected.png View 1 2 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win7/media/video-transformed-expected.png View 1 2 Binary file 0 comments Download

Messages

Total messages: 26 (16 generated)
DaleCurtis
This passed media_unittests, still need to see what happens to layout tests. So dry running ...
3 years, 11 months ago (2017-01-20 20:43:50 UTC) #2
DaleCurtis
Le sigh, some layout tests will need some updating, failures: media/video-currentTime-set.html media/video-seek-past-end-paused.html media/video-played-collapse.html media/video-seek-to-duration-with-playbackrate-zero.html media/event-attributes.html
3 years, 11 months ago (2017-01-20 22:11:56 UTC) #5
chcunningham
https://codereview.chromium.org/2645953004/diff/20001/media/filters/ffmpeg_demuxer.cc File media/filters/ffmpeg_demuxer.cc (right): https://codereview.chromium.org/2645953004/diff/20001/media/filters/ffmpeg_demuxer.cc#newcode569 media/filters/ffmpeg_demuxer.cc:569: const base::TimeDelta new_duration = last_packet_timestamp_; Should this be last_packet_timestamp_ ...
3 years, 11 months ago (2017-01-23 19:14:10 UTC) #11
DaleCurtis
https://codereview.chromium.org/2645953004/diff/20001/media/filters/ffmpeg_demuxer.cc File media/filters/ffmpeg_demuxer.cc (right): https://codereview.chromium.org/2645953004/diff/20001/media/filters/ffmpeg_demuxer.cc#newcode569 media/filters/ffmpeg_demuxer.cc:569: const base::TimeDelta new_duration = last_packet_timestamp_; On 2017/01/23 at 19:14:10, ...
3 years, 11 months ago (2017-01-24 02:05:19 UTC) #12
DaleCurtis
This is all ready to go now. Turned out the network issue was due to ...
3 years, 10 months ago (2017-01-26 22:39:51 UTC) #14
chcunningham
Confused by some of the pngs.... we have some that were blank before and now ...
3 years, 10 months ago (2017-01-27 21:41:13 UTC) #19
DaleCurtis
The pixel based tests can vary a lot per platform depending on the scaling algorithm ...
3 years, 10 months ago (2017-01-27 21:50:56 UTC) #20
chcunningham
LGTM On 2017/01/27 21:50:56, DaleCurtis wrote: > The pixel based tests can vary a lot ...
3 years, 10 months ago (2017-01-27 22:58:34 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2645953004/100001
3 years, 10 months ago (2017-01-28 00:34:06 UTC) #23
commit-bot: I haz the power
3 years, 10 months ago (2017-01-28 02:50:49 UTC) #26
Message was sent while issue was closed.
Committed patchset #5 (id:100001) as
https://chromium.googlesource.com/chromium/src/+/560640b659f688387d4c239e00f2...

Powered by Google App Engine
This is Rietveld 408576698