commit | 3defa5495fc19bb5115286876dc94e0887874cd2 | [log] [tgz] |
---|---|---|
author | Dale Curtis <dalecurtis@chromium.org> | Tue Nov 07 00:52:32 2017 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Nov 07 00:52:32 2017 |
tree | 2d86f23ff90186c61b60a60c5e6903f6ba3e74ee | |
parent | 9ddecf04a93bdfdc24464e460b61515a3e349052 [diff] |
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}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .