Skip to content

DRM issue on Windows Edge - VIDEOJS: WARN: enabling non-HD playlist 0-placeholder-uri-0 because all playlists were excluded due to non-usable key IDs #1581

@kikklop

Description

@kikklop

Hi,
we are having issues with DRM playlist on Windows Edge. Its excluding HD playlists because its not matching key ID set. Its only happening on Windows Edge browser (DASH).

VIDEOJS: WARN: enabling non-HD playlist 1-placeholder-uri-1 because all playlists were excluded due to non-usable key IDs
i @ ott-player-vjs-pack.js:1
o.warn @ ott-player-vjs-pack.js:1
(anonymous) @ ott-player-vjs-pack.js:32
excludeNonUsablePlaylistsByKeyId_ @ ott-player-vjs-pack.js:32
excludeNonUsableThenChangePlaylist_ @ ott-player-vjs-pack.js:32
updatePlaylistByKeyStatus @ ott-player-vjs-pack.js:32
(anonymous) @ ott-player-vjs-pack.js:32

Issue is that the some playlists in contentProtection do not have an AdaptationSet taken over and based on that, it will probably discard HD playlists because it will evaluate them as non-usable. Its probably caused that DASH have only 1 default ID (cenc:default_KID) which is shared (or should be shared) by all representations but its not happening.

We probably localized the issue - its in "http-streaming" lib playlist-controller.js - getKeyIdSet(). DASH has own loader "dash-playlist-loader.js" where is selected only 1 key and after that it will exclude some playlist which dont have correctly assigned AdaptationSet from mpd-parser where should be the root of the problem when the set are setted.

We have some hotfix with which playlists work as expected and the warnings is not appering in the console.

FIX:
http-streaming - playlist-controller.js - line 2621
if (!keyIdSet || !keyIdSet.size || this.sourceType_ === 'dash')

With this condition its not continuing to nonusable exclusion. We find out when tried set keyIdSet as null it was also working but when its set it was stop working. So its just like some workaround to quickly fix it.

Have you encountered a similar problem and do you have a better alternative solution?

Could you please try to investigate this and suggest a solution? Or if you agree with the temporary solution that we tested in our local versions of videojs, http-streaming we can create PR and merge it.

Thanks in advance.

Errors

Error : HD playlists are excluded on DASH Windows Edge
MediaError {code: 3, message: 'Playback cannot continue. No available working or supported playlists.'}

What version of Video.js are you using?

8.23.3

Video.js plugins used.

videojs-contrib-eme": "5.5.1"
http-streaming": "3.17.0"

What browser(s) including version(s) does this occur with?

Edge

What OS(es) and version(s) does this occur with?

Windows (All versions)

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions