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

HLS KEY None Decryption Support #4846

Closed
dbanbahji opened this issue Dec 20, 2022 · 1 comment · Fixed by #4847
Closed

HLS KEY None Decryption Support #4846

dbanbahji opened this issue Dec 20, 2022 · 1 comment · Fixed by #4847
Assignees
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@dbanbahji
Copy link

dbanbahji commented Dec 20, 2022

Have you read the FAQ and checked for duplicate open issues?
yes I think its related to this one. #4774 but it might include additional feature.

What version of Shaka Player are you using?
4.3

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

Can you reproduce the issue with the latest code from main?
yes

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

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

What browser and OS are you using?
chrome macos 108

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
n.a

What are the manifest and license server URIs?
https://pub-e06bd0d1422649108618e7121f2af8b5.r2.dev/finite.m3u8

What configuration are you using? What is the output of player.getConfiguration()?
no changes.

What did you do?
when theres a discontinuty with key method none shaka assumes the segmenet is aes 128 and throws a type error

What did you expect to happen?
with a discontinuty it should signal to the player theres a change coming and read the new key type #EXT-X-KEY method tag.

What actually happened?
shaka throws type error. This stream plays in hls.js theoplayer bitmovin etc.

The chromecast MPL player that shaka is replacing kinda played this stream and others with this type of workflow, but it struggled and buffered/stalled around these changes and ad breaks and switches in encryption even with a full buffer, so it would be good to watch out for that when making a solution.

This is what I think that issue earlier #4774 is fundamentally about. This is very common in ssai ad insertion workflows for aes 128 streams, encrypted main content then a discontinuity with key method none then unencrypted segments, then back to encryption and main content. I guess once theres a change in key type the player should assume that key type for all future segments until told otherwise when a new #EXT-X-KEY method comes up in the playlist even through multiple discontinuities with key none still applying until the playlist shows a sample/aes 128 key type.

It can also be common in slating workflows when a stream has technical issues it can show a slate like in the stream above.

https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#section-4.4.4.4
#EXT-X-KEY:

The following attributes are defined:

  METHOD

  The value is an enumerated-string that specifies the encryption
  method.  This attribute is REQUIRED.

  The methods defined are: NONE, AES-128, and SAMPLE-AES.

This was some of the errors in the console.
shaka-player.compiled.debug.js:834 Assertion failed: Should only receive a Shaka error
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.throw_ @ shaka-player.compiled.debug.js:35
throw @ shaka-player.compiled.debug.js:38
c @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:862
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.clearBuffer_ @ shaka-player.compiled.debug.js:861
(anonymous) @ shaka-player.compiled.debug.js:818
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
shaka-player.compiled.debug.js:835 (video:1) failed fetch and append: code=0
(anonymous) @ shaka-player.compiled.debug.js:835
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.throw_ @ shaka-player.compiled.debug.js:35
throw @ shaka-player.compiled.debug.js:38
c @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:862
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.clearBuffer_ @ shaka-player.compiled.debug.js:861
(anonymous) @ shaka-player.compiled.debug.js:818
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
shaka-player.compiled.debug.js:1143 Assertion failed: Wrong error type!
shaka.Player.onError_ @ shaka-player.compiled.debug.js:1143
onError @ shaka-player.compiled.debug.js:1041
(anonymous) @ shaka-player.compiled.debug.js:867
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.handleStreamingError_ @ shaka-player.compiled.debug.js:867
(anonymous) @ shaka-player.compiled.debug.js:836
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.throw_ @ shaka-player.compiled.debug.js:35
throw @ shaka-player.compiled.debug.js:38
c @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.fetchAndAppend_ @ shaka-player.compiled.debug.js:829
shaka.media.StreamingEngine.update_ @ shaka-player.compiled.debug.js:824
(anonymous) @ shaka-player.compiled.debug.js:819
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:862
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.clearBuffer_ @ shaka-player.compiled.debug.js:861
(anonymous) @ shaka-player.compiled.debug.js:818
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
shaka.media.StreamingEngine.onUpdate_ @ shaka-player.compiled.debug.js:817
(anonymous) @ shaka-player.compiled.debug.js:864
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
(anonymous) @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGenerator @ shaka-player.compiled.debug.js:39
$jscomp.asyncExecutePromiseGeneratorProgram @ shaka-player.compiled.debug.js:39
(anonymous) @ shaka-player.compiled.debug.js:864
(anonymous) @ shaka-player.compiled.debug.js:200
setTimeout (async)
shaka.util.DelayedTick.tickAfter @ shaka-player.compiled.debug.js:200
shaka.media.StreamingEngine.scheduleUpdate_ @ shaka-player.compiled.debug.js:865
(anonymous) @ shaka-player.compiled.debug.js:834
$jscomp.generator.Engine_.nextStep_ @ shaka-player.compiled.debug.js:37
$jscomp.generator.Engine_.next_ @ shaka-player.compiled.debug.js:33
next @ shaka-player.compiled.debug.js:38
b @ shaka-player.compiled.debug.js:39
Promise.then (async)
f @ shaka-player.compiled.debug.js:39
shakaapp.js:80 Error code 0 object Error

@dbanbahji dbanbahji added the type: bug Something isn't working correctly label Dec 20, 2022
@github-actions github-actions bot added this to the v4.4 milestone Dec 20, 2022
@avelad avelad added component: HLS The issue involves Apple's HLS manifest format priority: P1 Big impact or workaround impractical; resolve before feature release labels Dec 20, 2022
@avelad avelad self-assigned this Dec 20, 2022
@avelad
Copy link
Member

avelad commented Dec 20, 2022

I am working on a fix for this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants