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

HDCP Error on HBO GO #363

Open
RodrigoDLPontes opened this issue Oct 6, 2017 · 9 comments
Open

HDCP Error on HBO GO #363

RodrigoDLPontes opened this issue Oct 6, 2017 · 9 comments
Labels

Comments

@RodrigoDLPontes
Copy link

RodrigoDLPontes commented Oct 6, 2017

I have extracted libpepflashplayer.so from the "HP Chromebox CB1-(000-099) / HP Chromebox G1/ HP Chromebox for Meetings" image (the only one with ZAKO in the pattern) and am using it with Fresh Player.
When watching HBO GO, the first part of the video loads (it didn't while using regular NPAPI Flash), but then I get an HDCP error.
Is there anything I can do to fix this? Should I provide any more information? Thanks!

EDIT: The issue seems to be related to DRM in general, not only HBO GO. The DRM test here also fails with this log:

Starts to get video metadata at Fri Oct 6 10:50:13 GMT-0400 2017
DRMContentData received on Fri Oct 6 10:50:13 GMT-0400 2017
authenticationMethod = anonymous
ServerURL = http://drmtest2.adobe.com:8080
license ID = 43345AEF-52FF-3F20-90FF-ABDC98A2E3E4

DRMErrorEvent dispatched by DRMManger received on Fri Oct 6 10:50:13 GMT-0400 2017
event type = drmError
Error Code = 3321 [I15nFailed]
Sub Error Code = 1107296357
Error Details = 
drmUpdateNeeded = false
systemUpdateNeeded = false

EDIT 2: I just realized this is probably related to the 3321 error that has already been reported. It seems that this issue has begun after some Flash update (maybe 26?). Could anyone with a working version share their libpepflashplayer.so? Perhaps @i-rinat has some older versions?

@RodrigoDLPontes RodrigoDLPontes changed the title HDPC Error on HBO GO HDCP Error on HBO GO Oct 6, 2017
@i-rinat
Copy link
Owner

i-rinat commented Oct 15, 2017

There was a similar issue (#359), and during debugging I found that with Firefox 52.4.0 ESR drm test page works fine, while on current Firefox 56.0 it does not. Could you try Firefox 52.4.0 ESR to see if it's working with HBO too? I don't think it's available in Russia, so I can't test myself.

@RodrigoDLPontes
Copy link
Author

Can confirm DRM is working on Firefox 52.4.0 ESR! HBO GO works too! Thank you so much for this!!! I've been trying to stream DRM content on Linux forever. And let me know if there is anyway I can assist to fix the issue with newer versions.

@i-rinat
Copy link
Owner

i-rinat commented Oct 17, 2017

if there is anyway I can assist to fix the issue with newer versions.

(I'm not saying that you should do the following. Just planning next steps.)

Well, next step is to bisect Firefox code to find which changeset introduced current unwanted behavior. Then, by looking into a patch one needs to figure out what went wrong. It's easy to blame Firefox for breaking what worked before. But it could be freshplayerplugin doing something wrong, that was exposed by a changeset in Firefox. Next step is to fix it where it should be fixed.

@i-rinat
Copy link
Owner

i-rinat commented Dec 4, 2017

with newer versions

Well... Looks like there will be no need to fix that in newer versions.

A day ago I tried to bisect repository history to find which changeset in Firefox caused the issue. Hoping to understand where it went wrong. And... freshplayerplugin fails to run under newest version of Firefox (I think it's the same code version as in Firefox Nightly). They just removed NPN_PluginThreadAsyncCall method from NPAPI. It turned out that NPAPI version of Adobe's Flash doesn't use that method at all. And since Firefox doesn't support any other plugins than Flash, that method was removed.

Freshplayerplugin relies on that method, as it actively uses threads. I thought that method was essential for all plugins. So I don't understand how NPAPI Flash works. My only guess is that they are using NPAPI in a wrong way, causing race conditions. Such code may work 99% of the time, but fail at random.

I asked in the related bug report on bugzilla.mozilla.org. But from response I got, it's unlikely that Firefox will return the removed code. If that's the case, there is no sense in fixing any other NPAPI-related bug. Nothing to fix for.

Removal is scheduled to land in Firefox 58, which will be released in January next year (2018-01-16). With that version, freshplayerplugin will stop work in Firefox at all.

@ROBERT-MCDOWELL
Copy link

it's time to create another internet of not things, but humans ;)

@i-rinat
Copy link
Owner

i-rinat commented Dec 9, 2017

Removal is scheduled to land in Firefox 58, which will be released in January next year (2018-01-16). With that version, freshplayerplugin will stop work in Firefox at all.

Figured out what NPAPI Flash does, and implemented similar trick.

@i-rinat
Copy link
Owner

i-rinat commented Dec 10, 2017

Bisecting code gives this changeset as first "bad" one:

The first bad revision is:
changeset:   357226:102c0159724c
user:        Lie Ryan <[email protected]>
date:        Sat May 06 07:27:08 2017 +0000
summary:     Bug 1352572 - Return NPERR_GENERIC_ERROR if plugin calls NPN_PostURLNotify(file=true); r=bsmedberg

And indeed, https://bugzilla.mozilla.org/show_bug.cgi?id=1352572 is about removing file support from NPN_PostURLNotify. They say, Flash does not use files, but instead passes data in a buffer. I was using files.

Should be no so hard to fix.

@i-rinat
Copy link
Owner

i-rinat commented Dec 10, 2017

Should be fixed in 4a29ab5, which is now pushed to the master branch.

@i-rinat
Copy link
Owner

i-rinat commented Dec 23, 2017

v0.3.9 have the fix included.

@i-rinat i-rinat added the fixed label Dec 23, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants