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

Enable widevine cdm component updater in linux #7081

Closed
simonhong opened this issue Nov 25, 2019 · 6 comments · Fixed by brave/brave-core#7228 or #12847
Closed

Enable widevine cdm component updater in linux #7081

simonhong opened this issue Nov 25, 2019 · 6 comments · Fixed by brave/brave-core#7228 or #12847

Comments

@simonhong
Copy link
Member

simonhong commented Nov 25, 2019

With C79, linux can component updater for widevine cdm.
Currently, we use our own widevine updater. So, need to integrate both.

In linux, brave://components should have widevine component entry.

@simonhong simonhong self-assigned this Nov 25, 2019
simonhong added a commit to brave/brave-core that referenced this issue Nov 25, 2019
We are not ready to use chrome's widevine cdm component updater in
linux. We are using our own widevine updater for now.
Our widevine updater should be integrated with widevine cdm component
updater.
Issue: brave/brave-browser#7081
mkarolin pushed a commit to brave/brave-core that referenced this issue Nov 26, 2019
We are not ready to use chrome's widevine cdm component updater in
linux. We are using our own widevine updater for now.
Our widevine updater should be integrated with widevine cdm component
updater.
Issue: brave/brave-browser#7081
mkarolin pushed a commit to brave/brave-core that referenced this issue Nov 27, 2019
We are not ready to use chrome's widevine cdm component updater in
linux. We are using our own widevine updater for now.
Our widevine updater should be integrated with widevine cdm component
updater.
Issue: brave/brave-browser#7081
mkarolin pushed a commit to brave/brave-core that referenced this issue Nov 27, 2019
We are not ready to use chrome's widevine cdm component updater in
linux. We are using our own widevine updater for now.
Our widevine updater should be integrated with widevine cdm component
updater.
Issue: brave/brave-browser#7081
@rebron
Copy link
Collaborator

rebron commented Jan 24, 2020

@simonhong Is this one still needed? or a dupe?

@simonhong
Copy link
Member Author

simonhong commented Jan 28, 2020

@rebron This issue is still valid.
We don't use component updater on linux for widevine for now.
This issue is for using component updater instead of using our own widevine downloader/updater.

@mherrmann
Copy link

mherrmann commented Nov 27, 2020

I want to mention my PR brave/brave-core#7164 here. Maybe it is related.

If I read Chromium's code correctly, then components are installed by registering them with version 0.0.0.0 and then waiting for an automatic update to install the correct version. Automatic updates are currently broken in Brave for those components that are not hosted on Brave's own component update server. Brave seems to implicitly rely on this to prevent unwanted components from being installed: By not hosting them, the automatic update check fails and the component isn't installed.

The Widevine plugin is an exception to the above. It is not hosted on Brave's server for licensing reasons. However, to still be installed, it has a workaround in brave-core to perform an immediate on-demand update check. Unlike automatic updates, on-demand update checks do work and so Widevine is installed:

void RegisterAndInstallWidevine() {
  // This code is similar to RegisterWidevineCdmComponent_ChromiumImpl
  // but that ignores the callback, and we handle it so we can force
  // an on demand update.
  ...

@simonhong My PR would fix the broken automatic component updates. Does this have any implications on your work on this issue? In particular, will your code still work once automatic component updates work again?

More info about exactly why and how automatic component updates are currently broken can be found at #10464 (comment).

@simonhong
Copy link
Member Author

simonhong commented Nov 27, 2020

@mherrmann Thanks for sharing. I didn't know why we do explicit on-demend update.
I think your work will not affect my work for current issue. With your PR, widevine will also can get updated in background. :)
Then, I think we can remove explicit on-demand update (from OnWidevineRegistered()).

@mherrmann
Copy link

Okay, great! :)

@btlechowski
Copy link

Verification passed on

Brave 1.20.86 Chromium: 88.0.4324.96 (Official Build) dev (64-bit)
Revision 68dba2d8a0b149a1d3afac56fa74648032bcf46b-refs/branch-heads/4324@{#1784}
OS Ubuntu 18.04 LTS

Verified test plan from brave/brave-core#7228
Test with clean profile
Verified widevine is not available from brave://components on clean profile
image
Verified widevine is available from brave://components after installation
image
Verified able to watch netflix:
image

Test with old profile(widevine enabled)
Verified widevine is available from brave://components and it's version is 4.10.1610.0
image
Verified able to watch netflix:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment