fix: prevent errors in getKeyIdSet if playlist.contentProtection object is incomplete
#1582
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
When attempting to playback a HLS source with Fairplay, Playready and Widevine DRM, I'm seeing errors coming from
getKeyIdSetbecause it looks like Fairplay and Playready support are only partially implemented in m3u8-parser.When
getKeyIdSetis looping the available playlists,playlist.contentProtection[keysystem].attributesandplaylist.contentProtection[keysystem].attributes.keyIdcan be missing.Specific Changes proposed
This change checks we can get a value for keyId before attempting to assign it.
Requirements Checklist