You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Videos without audio (adaptionset) in the manifest get a forced default audio group (see media-groups.js). We run into an error when switching to another qualitylevels of the video available in the manifest. The exact error is "Cannot use 'in' operator to search for 'default' in undefined". This error originates from the 'removeOldMediaGroupLabels' function in the dash-playlist-loader.js file, which is called by one of the hooks.
It seems like that, after switching the qualitylevel of the video, its trying to remove the old (forced) default audio media group label in the newMain mediagroup while the group isn't there. This leads to an error in the console.
Sources
Default audio mediagroup is added here
Its trying to remove the default audio group label here
Steps to reproduce
Play a video with multiple qualitylevels but without audio specified in its dash manifest (see example below).
Switch qualitylevel. Either manually or automatically (e.g. by limiting your band width).
Check error in console browser (tested in Chrome).
Results
Expected
No errors in the console. I would say if the default audio group can not be found in the new mediagroup, then skip deletion.
Also I'm wondering if its needed to have a forced audio group for videos without audio but im not to involved in the code.
Error output
Console error:
"ERROR TypeError: Cannot use 'in' operator to search 'default' in undefined"
videojs-http-streaming version
what version of videojs-http-streaming does this occur with?
videojs-http-streaming 3.9.0
videojs version
what version of videojs does this occur with?
video.js 8.7.0
Browsers
what browsers are affected? please include browser and version for each
Chrome Versie 120.0.6099.129
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.
To help make it easier for us to investigate your issue, please follow the contributing guidelines.
KaasJ
changed the title
Can not find default audio (media) group after switching qualitylevels
Can not find default audio group after switching qualitylevels
Jan 8, 2024
We can reproduce the issue, and it's even worse for us: Once any quality switch happens, e.g. if the initial playback quality lies below the highest available quality, the video stops buffering and does not play after ~8 seconds, or seemingly some later multiple of segment duration. The forementioned error in the console comes directly after starting the playback.
To reproduce it yourself, please use the following CodePen: https://codepen.io/cenetp/pen/mdgboQN (to make the error appear, make sure that your initial playback resolution is below 240p, like in the video).
Description
Videos without audio (adaptionset) in the manifest get a forced default audio group (see media-groups.js). We run into an error when switching to another qualitylevels of the video available in the manifest. The exact error is "Cannot use 'in' operator to search for 'default' in undefined". This error originates from the 'removeOldMediaGroupLabels' function in the dash-playlist-loader.js file, which is called by one of the hooks.
It seems like that, after switching the qualitylevel of the video, its trying to remove the old (forced) default audio media group label in the newMain mediagroup while the group isn't there. This leads to an error in the console.
Sources
Default audio mediagroup is added here
Its trying to remove the default audio group label here
Steps to reproduce
Results
Expected
No errors in the console. I would say if the default audio group can not be found in the new mediagroup, then skip deletion.
Also I'm wondering if its needed to have a forced audio group for videos without audio but im not to involved in the code.
Error output
Console error:
"ERROR TypeError: Cannot use 'in' operator to search 'default' in undefined"
videojs-http-streaming version
what version of videojs-http-streaming does this occur with?
videojs-http-streaming 3.9.0
videojs version
what version of videojs does this occur with?
video.js 8.7.0
Browsers
what browsers are affected? please include browser and version for each
Chrome Versie 120.0.6099.129
Manifest example
The text was updated successfully, but these errors were encountered: