-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Widevine: Prevent version incompatibilities between the component and the Arm64 DLL #33595
Comments
Verification
Case 1: Bitmovin.com -
Confirmed the content was streamed in High-Definition (HD) quality (through visual inspection)
Netflix - 1.new profile Confirmed the content was streamed in High-Definition (HD) quality (through visual inspection)
Hbomax.com -
Confirmed the content was streamed in High-Definition (HD) quality, through visual inspection
Case 2: with the commandline-parameters - Bitmovin.com -
Confirmed the content was streamed in High-Definition (HD) quality (through visual inspection)
Netflix - 1.new profile Confirmed the content was streamed in High-Definition (HD) quality (through visual inspection)
Hbomax.com -
Confirmed the content was streamed in High-Definition (HD) quality, through visual inspection
|
Upstream doesn't support Widevine on Arm64 Windows out of the box. We have a workaround that achieves this support. It works by installing x64 Widevine via the normal mechanism, then fetching an additional Arm64 DLL from Google's official servers.
The current implementation of the workaround hardcodes the Arm64 DLL URL. Eg. https://dl.google.com/widevine-cdm/4.10.2662.3-win-arm64.zip. The problem is that when a new version of Widevine is released, the new version of the component gets installed but the (then) old DLL gets downloaded. This happened in #33594, with (fortunately) apparently no terrible side effects.
We should update our Widevine Arm64 workaround to try to dynamically download and install the latest Arm64 DLL. So when version 4.10.2710.0 of the component gets installed, the workaround should guess the URL of the Arm64 DLL (https://dl.google.com/widevine-cdm/4.10.2710.0-win-arm64.zip in the above case) and try to install that. Only if that fails should the workaround fall back to the known existing URL.
The problem is especially egregious because if a future Widevine version introduces an incompatibility with "our" old DLL, page crashes or other bad things such as the browser getting stuck on a potentially broken Widevine version could occur.
The text was updated successfully, but these errors were encountered: