Skip to content
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

fix: Fix in-band key rotation on Xbox One #4478

Merged
merged 7 commits into from
Oct 4, 2022

Conversation

caridley
Copy link
Contributor

@caridley caridley commented Sep 9, 2022

Fixes #4401

Description

in-band key rotation, in which new keys are signaled by a change in the pssh in the media segments, is not working on the Xbox one, but is working for other browsers and devices. It appear that the Xbox does not continue watching for pssh changes after the initial DRM session has been setup.

The problem is fix by parsing the pssh from media segments prior to appending to the source buffer. This behavior is controlled with the new boolean config field drm.parseInbandPsshEnabled.

@github-actions
Copy link
Contributor

github-actions bot commented Sep 9, 2022

Incremental code coverage: 90.20%

@caridley caridley changed the title Fix #4401 - in-band key rotation not working with Xbox one fix: in-band key rotation not working with Xbox one Sep 9, 2022
@avelad avelad added type: bug Something isn't working correctly component: EME The issue involves the Encrypted Media Extensions web API platform: Xbox Issues affecting Xbox component: PlayReady The issue involves the PlayReady DRM labels Sep 12, 2022
@avelad avelad added this to the v4.3 milestone Sep 12, 2022
@avelad avelad requested review from joeyparrish, theodab and avelad and removed request for joeyparrish and theodab September 12, 2022 16:13
@avelad avelad self-requested a review September 19, 2022 14:23
@caridley
Copy link
Contributor Author

@joeyparrish we would love get your feedback on this PR

@avelad avelad added the priority: P1 Big impact or workaround impractical; resolve before feature release label Sep 26, 2022
@joeyparrish
Copy link
Member

@joeyparrish we would love get your feedback on this PR

I say make the default setting true for Xbox and false everywhere else, then we can merge.

…ion work on Xbox one, which does not seem to be watching for pssh changes. Is enabled with the config field drm.parseInbandPsshEnabled.
@caridley caridley force-pushed the inBandKeyRotationMain branch from 01e04d4 to 927c933 Compare October 3, 2022 18:47
avelad
avelad previously requested changes Oct 3, 2022
externs/shaka/player.js Show resolved Hide resolved
@caridley caridley requested review from avelad and removed request for joeyparrish and theodab October 3, 2022 21:31
externs/shaka/player.js Outdated Show resolved Hide resolved
joeyparrish
joeyparrish previously approved these changes Oct 3, 2022
@joeyparrish joeyparrish changed the title fix: in-band key rotation not working with Xbox one fix: Fix in-band key rotation on Xbox One Oct 3, 2022
@joeyparrish joeyparrish dismissed avelad’s stale review October 3, 2022 23:07

feedback addressed

@joeyparrish joeyparrish merged commit 4e93311 into shaka-project:main Oct 4, 2022
JulianDomingo pushed a commit that referenced this pull request Oct 6, 2022
In-band key rotation, in which new keys are signaled by a change in the
pssh in the media segments, is not working on the Xbox one, but is
working for other browsers and devices. It appear that the Xbox does not
continue watching for pssh changes after the initial DRM session has
been setup.

The problem is fixed by parsing the pssh from media segments prior to
appending to the source buffer. This behavior is controlled with the new
boolean config field drm.parseInbandPsshEnabled.

Fixes #4401
JulianDomingo pushed a commit that referenced this pull request Oct 6, 2022
In-band key rotation, in which new keys are signaled by a change in the
pssh in the media segments, is not working on the Xbox one, but is
working for other browsers and devices. It appear that the Xbox does not
continue watching for pssh changes after the initial DRM session has
been setup.

The problem is fixed by parsing the pssh from media segments prior to
appending to the source buffer. This behavior is controlled with the new
boolean config field drm.parseInbandPsshEnabled.

Fixes #4401
JulianDomingo pushed a commit that referenced this pull request Oct 7, 2022
🤖 I have created a release *beep* *boop*
---


##
[4.1.5](v4.1.4...v4.1.5)
(2022-10-07)


### Bug Fixes

* allow build without text
([#4506](#4506))
([1db6265](1db6265))
* allow the playback on platforms when low latency APIs are not
supported
([#4485](#4485))
([55d1390](55d1390))
* check for negative rows before moving
([#4510](#4510))
([31abae3](31abae3)),
closes
[#4508](#4508)
* Filter unsupported H.264 streams in Xbox
([#4493](#4493))
([1ecede6](1ecede6))
* Fix choppy HLS startup
([#4553](#4553))
([1675bff](1675bff)),
closes
[#4516](#4516)
* Fix errors with TS segments on Chromecast
([#4543](#4543))
([15a1c60](15a1c60))
* Fix hang when seeking to the last segment
([#4537](#4537))
([72a119d](72a119d))
* Fix HLS dynamic to static transition
([932d37c](932d37c))
* Fix HLS dynamic to static transition
([#4483](#4483))
([932d37c](932d37c)),
closes
[#4431](#4431)
* Fix in-band key rotation on Xbox One
([#4478](#4478))
([5a8f09c](5a8f09c)),
closes
[#4401](#4401)
* Respect existing app usage of Cast SDK
([#4523](#4523))
([9c3a494](9c3a494)),
closes
[#4521](#4521)
* **ttml:** Default TTML background color to transparent if unspecified
([#4496](#4496))
([16da1e7](16da1e7)),
closes
[#4468](#4468)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
JulianDomingo pushed a commit that referenced this pull request Oct 7, 2022
🤖 I have created a release *beep* *boop*
---


##
[4.2.2](v4.2.1...v4.2.2)
(2022-10-07)


### Bug Fixes

* allow build without text
([#4506](#4506))
([7e93720](7e93720))
* allow the playback on platforms when low latency APIs are not
supported
([#4485](#4485))
([cf8c857](cf8c857))
* check for negative rows before moving
([#4510](#4510))
([23f39d7](23f39d7)),
closes
[#4508](#4508)
* Filter unsupported H.264 streams in Xbox
([#4493](#4493))
([914a08a](914a08a))
* Fix choppy HLS startup
([#4553](#4553))
([950ce69](950ce69)),
closes
[#4516](#4516)
* Fix errors with TS segments on Chromecast
([#4543](#4543))
([8204db6](8204db6))
* Fix hang when seeking to the last segment
([#4537](#4537))
([3d6c768](3d6c768))
* Fix HLS dynamic to static transition
([d9ecbf3](d9ecbf3))
* Fix HLS dynamic to static transition
([#4483](#4483))
([d9ecbf3](d9ecbf3)),
closes
[#4431](#4431)
* Fix in-band key rotation on Xbox One
([#4478](#4478))
([bc0a588](bc0a588)),
closes
[#4401](#4401)
* Missing AES-128 key of last HLS segment
([#4519](#4519))
([2c2677f](2c2677f)),
closes
[#4517](#4517)
* Respect existing app usage of Cast SDK
([#4523](#4523))
([3db2568](3db2568)),
closes
[#4521](#4521)
* **ttml:** Default TTML background color to transparent if unspecified
([#4496](#4496))
([0b5c985](0b5c985)),
closes
[#4468](#4468)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Jul 25, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 25, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: EME The issue involves the Encrypted Media Extensions web API component: PlayReady The issue involves the PlayReady DRM platform: Xbox Issues affecting Xbox priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

Successfully merging this pull request may close these issues.

in-band key rotation not working with Xbox One
3 participants