Skip to content

Add option to disable EME expiration events #2252

@hbofolts1

Description

@hbofolts1

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

What version of Shaka Player are you using?
2.5.0

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 recreate the issue, yes.

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

What browser and OS are you using?
EDGE 18.18362 on Windows 10 and also XBOX

What are the manifest and license server URIs?
Asset is encrypted with PlayReady.

What did you do?
Start playback of a dash manifest encrypted with playready.

What did you expect to happen?
Playback played back without interruption

What actually happened?
Video playback struggles, every few frames the video appears to get stuck and no dropped frames are reported.

I have been digging into an issue where XBOX is having an issue where it "stutters". The shaka player is being used on XBOX and the content is encrypted with PlayReady. Upon diagnosing this issue I eventually discovered there is an expirationTimer running every second. When I add a rudimentary timer around the call to session.expired I see this call taking around 1000 milliseconds consistently. This expirationTimer appears to be a no-op for dash manifests and it would be nice to have a way to disable this timer as it is impacting video playback on XBOX. This ticket may make more since as a feature request. As far as I can tell there is no way to disable the timer and the cost of checking the expiration seems expensive with the playready cdm on EDGE.

https://github.com/google/shaka-player/blob/v2.4.x/lib/media/drm_engine.js#L1708

Metadata

Metadata

Assignees

No one assigned

    Labels

    component: EMEThe issue involves the Encrypted Media Extensions web APIflag: seeking PRWe are actively seeking PRs for this; we do not currently expect the core team will resolve thisstatus: archivedArchived and locked; will not be updatedtype: enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions