-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Live stream occasionally jumps back to earlier progress with slow internet speed #5282
Comments
Here is a similar issue: #4497 |
Hi @AkiDroid, Have you tried reproducing the issue on dev or latest release (v1.3.4)? |
In that issue the playlist updates produced old results (media sequence number jumped backwards) which is completely invalid. Looks like you have a three segment sliding window of 6 seconds (2 second segments). Is that correct? Is target duration also 2 seconds? Please test against latest or dev and update report. |
Hi, @robwalch I reproduced the problem on the latest code in the master branch. Our m3u8 files look like this:
each ts file is about two seconds long. |
#5317 has been merged. You can test the changes on dev at https://hlsjs-dev.video-dev.org/demo/ If you can still repro the issue please create a screen cap of the demo page showing the playlist progression along with a new set of console logs. We need to isolate why the end of the playlist is suddenly 14.123, and the logs from the version this was run in does not provide that context. If we don't see this in the latest, but the issue persists I can add some more details to the logs in dev:
|
I tested on the master branch, and the bug did not reproduce. Thank you! @robwalch |
What version of Hls.js are you using?
1.1.5
What browser (including version) are you using?
Chrome Version 104.0.5112.101 (Official Build) (x86_64)
What OS (including version) are you using?
macOS 13.2.1 (22D68)
Test stream
No response
Configuration
Additional player setup steps
No response
Checklist
Steps to reproduce
When playing a live m3u8 stream using hls.js and limiting the network speed to "fast 3G" or "slow 3G" in Chrome, it is possible for the stream progress to jump back after waiting for some time. This appears to be a bug.
Expected behaviour
Expect the video to just stall when there is no enough buffer.
What actually happened?
The live streaming progress has jumped back to a much earlier time.
After reviewing the code, it appears that the issue is caused by an error in the
synchronizeToLiveEdge
method of theBaseStreamController
class. TheliveSyncPosition
is being calculated as a much earlier value and is being assigned tomedia.currentTime
.In the following log, video.currentTime is set to 6.048 which is much smaller than correct live edge, and after several seconds set back to correct live edge.
Console output
Chrome media internals output
The text was updated successfully, but these errors were encountered: