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

Server certificate is not configured before Store and Delete operations #1623

Closed
gigon opened this issue Oct 17, 2018 · 3 comments
Closed

Server certificate is not configured before Store and Delete operations #1623

gigon opened this issue Oct 17, 2018 · 3 comments
Labels
flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this status: archived Archived and locked; will not be updated type: enhancement New feature or request
Milestone

Comments

@gigon
Copy link
Contributor

gigon commented Oct 17, 2018

Have you read the FAQ and checked for duplicate open issues?: Yes

What version of Shaka Player are you using?: v2.5.0-beta-master

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?: demo app

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

What browser and OS are you using?: Chrome/Windows 10

What are the manifest and license server URIs?:
Will send the manifest, license, and certificate URIs to shaka-player-issues@google.com

What did you do?
Added my asset to the demo assets list OR filled the manifest, license, and certificate URIs as Custom asset, select my asset and download it.

What did you expect to happen?
a) No errors in the debug console
b) The first (and only) license request raised from the CDM is for a license.

What actually happened?
a) The call to storage.configure raises an error: "Invalid config, unrecognized key .progressCallback"

b) The first license request raised from the CDM is for a widevine certificate (2nd one is for a license)

gigon added a commit to gigon/shaka-player that referenced this issue Oct 17, 2018
Call configureCertificate before Store and Delete calls,
when certificateUri is given.

Fixes shaka-project#1623.
@vaage vaage added status: unable to reproduce Issue could not be reproduced by the team and removed needs triage labels Oct 17, 2018
@vaage
Copy link
Contributor

vaage commented Oct 17, 2018

@gigon When I try your content, it plays without issue. Now I noticed that in the content your provided the cert path was different from the cert you sent us. After fixing that, everything played without issue on master.

@gigon
Copy link
Contributor Author

gigon commented Oct 17, 2018

@vaage The issue is not about playback, it is about download.
And it does get downloaded fine.
The issue is about the optimization where the application has the certificate beforehand (e.g. by downloading it), and feeds it to Shaka library, which calls the widevine (EME) function setServerCertificate before creating the key sessions.
This prevents getting a "key message" event from the CDM that requests a widevine certificate,
before the event that requests the actual license.

This optimization is demonstrated in case of playback, but in case of Download (and also in the release of a persistent license!), the demo application does not preload the certificate I set in the Custom field.

You can see this by looking at XHR requests in the chrome debugger.
In case of streaming playback you get only one request to our license server.
In case of Download or Delete you get two requests.

I added code to the demo application, to preload the certificate, in a Pull request I submitted.
But later I saw that Shaka library does not call setServerCertificate at all in case of Storage session.
It calls it only when a video tag is attached before playback.

Please correct me if I misunderstand.

@vaage vaage added needs triage and removed status: unable to reproduce Issue could not be reproduced by the team labels Oct 17, 2018
gigon added a commit to gigon/shaka-player that referenced this issue Oct 21, 2018
Call setServerCertificate before store and
delete operations, when serverCertificate
exists.
In demo application, request and
configure certificate when certificateUri
is given in asset.

Fixes shaka-project#1623.
@TheModMaker TheModMaker changed the title Demo + Offline: a) typo b) certificate is not configured before Store and Delete operations Server certificate is not configured before Store and Delete operations Oct 22, 2018
@TheModMaker TheModMaker added type: enhancement New feature or request and removed needs triage labels Oct 22, 2018
@TheModMaker TheModMaker added this to the Backlog milestone Oct 22, 2018
@TheModMaker TheModMaker added the flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this label Oct 22, 2018
TheModMaker pushed a commit that referenced this issue Oct 24, 2018
Call setServerCertificate before store and
delete operations, when serverCertificate
exists.
In demo application, request and
configure certificate when certificateUri
is given in asset.

Fixes #1623
@joeyparrish joeyparrish modified the milestones: Backlog, v2.5 Nov 2, 2018
@joeyparrish
Copy link
Member

Released in v2.5.0-beta2.

@shaka-project shaka-project locked and limited conversation to collaborators Dec 23, 2018
@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
flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants