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

perf(DRM): pass preferredKeySystems to filterManifest() #6468

Merged
merged 3 commits into from
Apr 23, 2024

Conversation

tykus160
Copy link
Member

Follow up to #5391
Always use preferredKeySystems during manifest filtering, not only via DRM Engine.

@tykus160 tykus160 requested a review from avelad April 23, 2024 12:44
@avelad avelad added type: performance A performance issue priority: P1 Big impact or workaround impractical; resolve before feature release labels Apr 23, 2024
@avelad avelad added this to the v4.8 milestone Apr 23, 2024
@shaka-bot
Copy link
Collaborator

Incremental code coverage: 100.00%

@joeyparrish
Copy link
Member

I see the "perf" label... Do you have any rough data on how much of a performance improvement this is?

@joeyparrish joeyparrish merged commit c9b61fe into shaka-project:main Apr 23, 2024
20 checks passed
@tykus160 tykus160 deleted the wt-keysystemconfig branch April 24, 2024 06:07
@tykus160
Copy link
Member Author

@joeyparrish previous PR reduced load i.e. on Xbox Series S from ~400 ms to ~100 ms as it avoided 10 calls to widevine. This one does relatively the same, but on manifest updates.

@avelad
Copy link
Member

avelad commented Apr 24, 2024

@tykus160 Since Xbox only supports PlayReady, I wonder if, given this improvement, we should add the default PlayReady drm.preferredKeySystems config for Xbox. What do you think?

@tykus160
Copy link
Member Author

tykus160 commented Apr 24, 2024

@avelad recently shaka added some platform-dependant logic, so I'd say adding by default preferredKeySystems for single DRM platforms makes sense in current state (assuming we don't care about ClearKey).
It would be:

  • PlayReady for Xbox
  • Widevine for Chrome (*) & Firefox
  • Fairplay for Safari

* Chrome is tricky though, as Chromium-based platforms would be also affected, i.e. Platform.isChrome() returns true for WebOS which also supports PlayReady.

@avelad
Copy link
Member

avelad commented Apr 24, 2024

ClearKey it's necessary, so, for me the platforms are Xbox and PlayStation since only supports PlayReady .

ClearKey support will eventually come to Safari, so I don't want to limit the platform.

avelad added a commit that referenced this pull request Apr 24, 2024
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Jun 22, 2024
@shaka-project shaka-project locked as resolved and limited conversation to collaborators Jun 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: performance A performance issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants