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

IE11: error 6006 (FAILED TO GENERATE LICENSE REQUEST) when playing video with separate video and audio keys #1689

Closed
gigon opened this issue Nov 20, 2018 · 10 comments
Assignees
Labels
component: EME The issue involves the Encrypted Media Extensions web API status: archived Archived and locked; will not be updated status: will not implement The team chooses not to implement this enhancement type: bug Something isn't working correctly

Comments

@gigon
Copy link
Contributor

gigon commented Nov 20, 2018

Have you read the FAQ and checked for duplicate open issues?: yes
What version of Shaka Player are you using?: v2.4.5

Can you reproduce the issue with our latest release version?: yes

Can you reproduce the issue with the latest code from master?: yes

Are you using the demo app or your own custom app?: both

If custom app, can you reproduce the issue using our demo app?: yes

What browser and OS are you using?: IE11 (11.1387) on Windows 10 (1703)

What are the manifest and license server URIs?: Will send by email

What did you do?
Play my DASH video with separate keys for video and audio on your Demo app, on IE11.
Notice in order to play the video you have to turn off CORS restriction in IE Security Settings
(Internet Options - Security - Custom Level- Misc. - Access Data Sources across domains (Enable this.)

What did you expect to happen? Play without issues

What actually happened?
The video plays ok (with audio), but after 10-15 seconds I get Shaka error 6006
(FAILED_TO_GENERATE_LICENSE_REQUEST), and this repeats every 10-15 seconds.

  • The same video plays without issues on Edge browser.
  • The same video plays without issues on IE11 with DASHJS player.
  • A similar video with a single playready key for video and audio plays well on IE11.

--

@gigon gigon changed the title IE11: error 6006 when playing video with different keys for video and audio IE11: error 6006 (FAILED TO GENERATE LICENSE REQUEST) when playing video with separate video and audio keys Nov 20, 2018
@TheModMaker
Copy link
Contributor

This is usually caused by the platform rejecting the content, and there is often nothing we can do about it. I can't reproduce this on our Windows machine. I get a different error and the video doesn't play at all. Could you try with verbose logging and post those logs? Did you try with the nightly site? Can you also look at the error object to get extended error codes, I think it will be in error.data[0].errorCode. You could also look at lib/polyfill/patchedmediakeys_ms.js and look at the onMsKeyError_ function to see if there is any more info in the native error object.

@gigon
Copy link
Contributor Author

gigon commented Nov 28, 2018 via email

@TheModMaker
Copy link
Contributor

When this happens, we get an error from the browser with a code of 0x8004b8ad, which I can't find any reference to this anywhere. This appears to be some internal COM error with an undocumented error code. Oddly enough, the video plays fine and I don't get the error if I reload the video in the same tab.

It looks like your audio init segment contains invalid data. The pssh box isn't the correct size and probably results in parsing errors in PlayReady (somehow it doesn't cause video errors).

@TheModMaker TheModMaker added status: bad content Caused by invalid, broken, or unsupported content and removed needs triage labels Nov 28, 2018
@joeyparrish
Copy link
Member

I found a reference to this. It's not documented by MS, but it seems to be a PlayReady-related error:

/*
*    MessageId:    MSPR_E_INVALID_CDMSESSION
*    Message Meaning:
*       Only one reactive CDM Session can be attached to a playback session at a time.
*    Hex Value:    0x8004B8AD
*/
#define MSPR_E_INVALID_CDMSESSION                                   MAKE_DRM_RESULT(DRM_SEVERITY_ERROR,  DRM_FACILITY_ITF, DRM_E_MSPRSDK_BASECODE+0x00AD)

https://github.com/tpn/winsdk-10/blob/master/Include/10.0.16299.0/winrt/Windows.Media.Protection.PlayReadyErrors.h

Could our IE11 EME polyfill have a race condition? That might explain the inconsistency in repro.

@TheModMaker
Copy link
Contributor

I'm not sure, but it is hard to diagnose because we are getting invalid data from the media, which will cause errors either way. I tried doing a similar path with our own assets and the version @gigon sent us that works, and both work fine. So I don't think it is a race unless we get it with non-broken content.

shaka-bot pushed a commit that referenced this issue Nov 28, 2018
Issue #1689

Change-Id: I7d3b4eee487395fdb8c121a4b6acc11ec461f0e3
@gigon
Copy link
Contributor Author

gigon commented Nov 29, 2018

@TheModMaker, please explain how come the same asset works fine, including audio, on Edge browser,
if it has a bad PSSH box?
And: do you have any reference Playready content with separate keys for video and audio?

@TheModMaker
Copy link
Contributor

@TheModMaker, please explain how come the same asset works fine, including audio, on Edge browser,
if it has a bad PSSH box?

My guess would be Edge either more resilient against errors or has a different parser so it ignores the parts that are wrong.

And: do you have any reference Playready content with separate keys for video and audio?

I just tried the Axinom Multi-DRM, multi-key asset and I get the same error, so maybe there is a platform bug or something the IE EME polyfill is doing. See #959.

@TheModMaker TheModMaker added type: bug Something isn't working correctly component: EME The issue involves the Encrypted Media Extensions web API and removed status: bad content Caused by invalid, broken, or unsupported content labels Nov 30, 2018
@TheModMaker TheModMaker added this to the v2.5 milestone Nov 30, 2018
shaka-bot pushed a commit that referenced this issue Nov 30, 2018
- We can get a 'msneedkey' event with no init data.
- Use the correct message type name.

Issue #1689

Change-Id: Ic0e54fe8331d4700971d78095b77831de2d9580b
joeyparrish pushed a commit that referenced this issue Jan 17, 2019
Issue #1689

Backported to v2.4.x

Change-Id: I7d3b4eee487395fdb8c121a4b6acc11ec461f0e3
joeyparrish pushed a commit that referenced this issue Jan 17, 2019
- We can get a 'msneedkey' event with no init data.
- Use the correct message type name.

Issue #1689

Backported to v2.4.x

Change-Id: Ic0e54fe8331d4700971d78095b77831de2d9580b
@joeyparrish
Copy link
Member

joeyparrish commented Jan 22, 2019

Extended error code and work so far cherry-picked for v2.4.6.

@joeyparrish
Copy link
Member

I just tried the Axinom Multi-DRM, multi-key asset and I get the same error, so maybe there is a platform bug or something the IE EME polyfill is doing.

Axinom has stated that they simply don't support IE with their content, so that is not going to be fixed. It's still unclear if the content in this issue is encoded in the same way as Axinom's. If that is the case, then there's nothing we can do.

@joeyparrish joeyparrish modified the milestones: v2.5, Backlog May 8, 2019
@joeyparrish joeyparrish modified the milestones: Backlog, Backlog 2 Jan 28, 2020
@joeyparrish
Copy link
Member

Unlikely to get fixed given that Axinom doesn't support IE and our support for IE ends after v2.6.

@joeyparrish joeyparrish added the status: will not implement The team chooses not to implement this enhancement label Feb 12, 2020
@joeyparrish joeyparrish removed this from the Backlog milestone Feb 13, 2020
@TheModMaker TheModMaker self-assigned this Feb 27, 2020
@shaka-project shaka-project locked and limited conversation to collaborators Apr 12, 2020
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: EME The issue involves the Encrypted Media Extensions web API status: archived Archived and locked; will not be updated status: will not implement The team chooses not to implement this enhancement type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

4 participants