Skip to content

Conversation

@KunXi-Fox
Copy link
Contributor

This PR will...

Cache both the endianness-converted key ID and the original key ID to prevent key ID mismatch issues in PlayReady.

Why is this Pull Request needed?

On certain devices, the key ID received from the `keystatuseschange event is already endianness-converted. Reapplying endianness conversion in such cases causes a mismatch with the cached key ID, which can trigger EME errors and result in playback failure.

Are there any points in the code the reviewer needs to double check?

Please review the key ID caching logic to ensure it correctly handles both converted and original key IDs across all device cases.

Resolves issues:

Fix #7580

Checklist

  • changes have been done against master branch, and PR does not conflict
  • new unit / functional tests have been added (whenever applicable)
  • API or design changes are documented in API.md

robwalch
robwalch previously approved these changes Nov 7, 2025
@robwalch robwalch mentioned this pull request Nov 13, 2025
3 tasks
@robwalch robwalch merged commit 6238bc8 into video-dev:master Nov 14, 2025
12 checks passed
@github-project-automation github-project-automation bot moved this from Top priorities to Done in HLS.js Release Planning and Backlog Nov 14, 2025
robwalch pushed a commit that referenced this pull request Nov 14, 2025
robwalch added a commit that referenced this pull request Nov 19, 2025
* patch/v1.6.x:
  Increase minimum Windows test version for saucelabs
  Fix FairPlay key ID patching Fixes "keyId is null" error mentioned in #7542 (comment) #7654
  Fix fallback to primary on live start Fixes #7641
  Do not reset interstitial when seeking between assets Fixes #7640
  Fixed issue with progressive loading of subtitles by disabling progressive loading for webVTT (#7649)
  Fix audio TS segment duration calculation ##7646 (comment)
  Resolve end-of-stream with empty or gap segments at end of playlist Fixes #7572 (and maybe #7564)
  Fix issue where some devices not works with playready (#7631)
  Fix switching back to main audio after end-of-stream buffered Fixes #7643
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

Playback errors when use PlayReady as key system

2 participants