mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 03:05:34 +00:00
0ebe8e14ac
The Java ExoPlayer that we use for HLS support on Android does an accurate seek, that is, it seeks to the frame at the seek target. This may not be a keyframe, which we can start decoding at. So change the HLS seek to seek 2 seconds behind the seek target, and drop all frames up to the next keyframe. This means that after a seek the HLSDemuxer will output a keyframe, and hopefully (but we can't guarantee of course) it will lie behind the actual seek target. We also need to purge the GeckoHlsVideoRenderer's queue of frames which it is holding onto in order to determine their durations, otherwise after a seek, we'll get output from this queue of frames. That is, after a seek we would still get a few frames from the old playback position. This seek case is particularly problematic as we aggressively shutdown decoders when the media is paused, including right after the load reaches loadedmetadata, and we need to seek in order to recover from going dormant. Differential Revision: https://phabricator.services.mozilla.com/D33254 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
android | ||
locales |