-
Notifications
You must be signed in to change notification settings - Fork 414
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
m3u8 parser bug discovered in Video.js version 8.7.0 onwards (reproducible) #1494
Comments
👋 Thanks for opening your first issue here! 👋 If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can. |
The problem goes away completely when I lower my desktop resolution from 2560x1440 to 1920x1080. I have reproduced this on another system. Additionally, opening dev tools shrinks the viewable window and has the same effect, so these two means of altering the player in how it's rendered seem to correlate. How could this be tied to video playback behavior though? It looks like this may not be a parser issue. Still investigating though. -edit It has been three days and by now you're probably aware of the issue. To re-establish stability, I've downgraded the video player in the test link to the last-known good version; v8.6.1. If you need a test link with v8.9.0, I will provision a node using that player for your investigations. |
👋 Thanks for opening your first issue here! 👋 If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can. |
Description
When Video.js from version v8.7.0 onwards loads a m3u8 master manifest, the player's timeline indicates extra segments are being loaded.
When the player is given the actual playlist to load (not master), all works well. This leads me to believe that the master manifest parsing logic and subsequent playlist parsing isn't working properly.
I've tested each version of Video.js, starting with pre-release v8.11.1 and can confirm that this problem is present in all previous releases, starting with v8.7.0. v8.6.1 seems to be working fine.
I've included a 15 second video link featuring Video.js release v8.9.0 for the test case, showing that the timeline increments during playback from 15 seconds total duration to 21 seconds total duration. Curiously, what lead me to believe extra segments are being loaded is that the target duration of the stream is 6 seconds, but the math could just be a coincidence.
I've verified that the master manifest and its playlists are valid. The mpeg-ts files that the playlists reference are valid as well. This behavior can be observed in all videos on the website, but it's subtle depending on the video. Big Buck Bunny test video makes it obvious.
The easiest way to reproduce this problem is to set the video's play position to the beginning, paused, and select the "auto" option from the player's quality menu. If you choose one of the actual resolutions, the problem does not occur.
As an aside, the problem is present in Chrome-based browsers and Firefox, but for some reason it doesn't appear when the dev tools are open. I've tested with clean caches in all browsers. I've only tested on Desktop.
Reduced test case
https://www.moartube.com
Steps to reproduce
Errors
No response
What version of Video.js are you using?
v8.9.0
Video.js plugins used.
videojs-landscape-fullscreen
What browser(s) including version(s) does this occur with?
Chrome 121.0.6167.140
What OS(es) and version(s) does this occur with?
Windows 11 22H2 OS Build 22621.3007
The text was updated successfully, but these errors were encountered: