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

Long EMEController. destroy block the next time setMediaKeys #6806

Open
JackPu opened this issue Oct 25, 2024 · 0 comments
Open

Long EMEController. destroy block the next time setMediaKeys #6806

JackPu opened this issue Oct 25, 2024 · 0 comments
Labels
Feature proposal Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix.

Comments

@JackPu
Copy link
Contributor

JackPu commented Oct 25, 2024

Is your feature request related to a problem? Please describe.

We recently used a class public static property(CDMCleanupPromise) to track the EME destroy promise.

https://github.com/video-dev/hls.js/blob/master/src/controller/eme-controller.ts#L1261

There is a hidden issue like this:

image

If our destroying promise cannot be resolved or rejected, the next time we will fail to setMediaKeys: https://github.com/video-dev/hls.js/blob/master/src/controller/eme-controller.ts#L693-L710

Describe the solution you'd like

I plan to add maxEMEDetroyTimeout config. We will force to clear the CDMCleanupPromise value if we reach the max timeout value.

Additional context

It worked well on most platforms. However, it failed on some low-performance OTT devices from Comcast. I didn't find any error report when destroying the instance. And I remove the CDMCleanupPromise setter when destroying. It could work for me.

@JackPu JackPu added Feature proposal Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Oct 25, 2024
@JackPu JackPu changed the title Long medieKaySession.close block the next time setMediaKeys Long EMEController. destroy block the next time setMediaKeys Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature proposal Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix.
Projects
None yet
Development

No branches or pull requests

1 participant