UnitedRPMs / issues

Feel free to report problems
MIT License
1 stars 0 forks source link

chromium-freeworld Flash DRM device ID support #23

Closed pasikarkkainen closed 4 years ago

pasikarkkainen commented 6 years ago

chromium-freeworld currently does not support/provide a device ID for Flash DRM to use (even when using DRM-enabled pepper flash plugin from chromeOS). This can be easily verified by trying to use the adobe flash DRM test webapp (with DRM-enabled flash plugin):

go to url: http://drmtest2.adobe.com:8080/SVP/SampleVideoPlayer_FP.html enable "Show DRM Events" button and enter the following video url in the input text field: http://drmtest2.adobe.com:8080/Content/anonymous.f4v click "play" --> drmError 3307 appears in the log window.

chromium-freeworld gives the following error in the console at the same time: "ERROR:device_id_fetcher.cc(143)] Empty machine id"

This issue is well explained here: https://github.com/cshorler/hal-flash/issues/26#issuecomment-341218369 I'll copy&paste the most important part of the text here:

According to the Chromium source code, the "Empty machine id" comes from

https://chromium.googlesource.com/chromium/chromium/+/1029af07a7f398a3eb30865a100118da7bab3b25/chrome/browser/renderer_host/pepper/device_id_fetcher.cc#155

and leads me to ComputeOnUIThread() which leads me to GetMachineIDAsync() which leads me to

https://chromium.googlesource.com/chromium/chromium/+/1029af07a7f398a3eb30865a100118da7bab3b25/chrome/browser/renderer_host/pepper/device_id_fetcher.cc#40

which leads me to: "Not implemented for other platforms." (which is !defined(OS_WIN) && !defined(OS_CHROMEOS)). Thus finally

https://chromium.googlesource.com/chromium/chromium/+/1029af07a7f398a3eb30865a100118da7bab3b25/chrome/browser/renderer_host/pepper/device_id_fetcher.cc#59

takes me back to

https://chromium.googlesource.com/chromium/chromium/+/1029af07a7f398a3eb30865a100118da7bab3b25/chrome/browser/renderer_host/pepper/device_id_fetcher.cc#155

which finally leaves me with: No DRM – even not with libpepflashplayer.so from ChromeOS.

Note the same Adobe Flash DRM test webapp works OK on Linux when using the exact same version of chromeOS pepper flash plugin with Firefox (via freshplayerplugin wrapper).. so the Device ID implementation is only missing from chromium-freeworld.

Anyone up to adding support for Device ID ?

kuboosoft commented 6 years ago

@pasikarkkainen . Our chromium-pepper-flash doesn't include DRM... Reason, because from official isn't included yet... Other bad news

"Chrome 69 will also progress the long-running project to deprecate Flash Player, which Adobe has announced will reach end of life in 2020. "

cd /usr/lib64/chromium/PepperFlash/
strings -a libpepflashplayer.so | grep PPB_Flash_DRM

If you get something like this in the output, know that it supports DRM:

PPB_Flash_DRM;1.1
PPB_Flash_DRM;1.0
pasikarkkainen commented 6 years ago

I'm not using chromium-pepper-flash rpm, I'm using the pepper flash plugin library extracted from google chromeos, which includes the DRM features:

$ strings -a libpepflashplayer.so | grep PPB_Flash_DRM PPB_Flash_DRM;1.0 PPB_Flash_DRM;1.1

Like said, I'm using this DRM-enabled libpepflashplayer.so successfully with Firefox (via freshplayerplugin wrapper), where Adobe Flash DRM test works OK. So the DRM features in libpepflashplayer.so are working properly.

The problem is chromium-freeworld, which doesn't implement the Flash DRM Device ID feature, well, because google only implemented it for Windows and ChromeOS in the chromium sources.

So this was more like a RFE to implement the missing Device ID bits for Linux in chromium-freeworld, to be able to use Flash DRM.

kuboosoft commented 6 years ago

@pasikarkkainen we can implement it, if you have a patch it can help... example widevine by default was disabled from the source in linux... but we patched it... and it works.

tobeorla commented 6 years ago

That would be so cool! Stupid HBO that still requires flash in 2018