Track changes may never resume if a client does not provide data at the resume point. |
||||||
Issue descriptionCan be seen by putting http://twitch.tv/ in the background, waiting for disable track to kick in (~10 seconds later). Letting this sit for some time and then returning to the tab. Sometimes the video will be frozen indefinitely; this does not always occur. This shows up to users as a result of disabling background video tracks which launched in M62, but seems to be exacerbated by some unknown change in M63.
,
Nov 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3defa5495fc19bb5115286876dc94e0887874cd2 commit 3defa5495fc19bb5115286876dc94e0887874cd2 Author: Dale Curtis <dalecurtis@chromium.org> Date: Tue Nov 07 00:52:32 2017 Fix hung streams if a track change never reaches have_enough. During a track change it's possible that a renderer will never reach the have_enough state again. I.e., with MSE a client may want to seek to a later location. The current code means the renderer will get stuck forever waiting for data that never comes. Instead Flush() calls from the Pipeline should always take precedence and cancel any track changes in progress. Upstream of the renderer the demuxer has already had the track enabled, so just letting the normal Flush() process occur is sufficient to restart the track. BUG= 781010 TEST=updated unittest Change-Id: I5c005e728d9c1babf2a95c2e603a75f7976ec16d Reviewed-on: https://chromium-review.googlesource.com/752048 Commit-Queue: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: Sergey Volk <servolk@chromium.org> Reviewed-by: Xiaohan Wang <xhwang@chromium.org> Cr-Commit-Position: refs/heads/master@{#514324} [modify] https://crrev.com/3defa5495fc19bb5115286876dc94e0887874cd2/media/renderers/renderer_impl.cc [modify] https://crrev.com/3defa5495fc19bb5115286876dc94e0887874cd2/media/renderers/renderer_impl.h [modify] https://crrev.com/3defa5495fc19bb5115286876dc94e0887874cd2/media/renderers/renderer_impl_unittest.cc
,
Nov 8 2017
Looks good on canary and user confirms fix.
,
Nov 8 2017
This bug requires manual review: M63 has already been promoted to the beta branch, so this requires manual review Please contact the milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), gkihumba@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Nov 8 2017
Approving merge to M63 branch 3239 based on comment #3 and per offline chat with dalecurtis@.
,
Nov 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3eac11068c80b99e2f5304ae40d5e8e4ce65d1ea commit 3eac11068c80b99e2f5304ae40d5e8e4ce65d1ea Author: Dale Curtis <dalecurtis@chromium.org> Date: Wed Nov 08 23:50:48 2017 Merge M63: "Fix hung streams if a track change never reaches have_enough." During a track change it's possible that a renderer will never reach the have_enough state again. I.e., with MSE a client may want to seek to a later location. The current code means the renderer will get stuck forever waiting for data that never comes. Instead Flush() calls from the Pipeline should always take precedence and cancel any track changes in progress. Upstream of the renderer the demuxer has already had the track enabled, so just letting the normal Flush() process occur is sufficient to restart the track. BUG= 781010 TEST=updated unittest TBR=dalecurtis@chromium.org, xhwang (cherry picked from commit 3defa5495fc19bb5115286876dc94e0887874cd2) Change-Id: I5c005e728d9c1babf2a95c2e603a75f7976ec16d Reviewed-on: https://chromium-review.googlesource.com/752048 Commit-Queue: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: Sergey Volk <servolk@chromium.org> Reviewed-by: Xiaohan Wang <xhwang@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#514324} Reviewed-on: https://chromium-review.googlesource.com/758967 Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Cr-Commit-Position: refs/branch-heads/3239@{#425} Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578} [modify] https://crrev.com/3eac11068c80b99e2f5304ae40d5e8e4ce65d1ea/media/renderers/renderer_impl.cc [modify] https://crrev.com/3eac11068c80b99e2f5304ae40d5e8e4ce65d1ea/media/renderers/renderer_impl.h [modify] https://crrev.com/3eac11068c80b99e2f5304ae40d5e8e4ce65d1ea/media/renderers/renderer_impl_unittest.cc
,
Nov 8 2017
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by gov...@chromium.org
, Nov 6 2017