Skip to content

Error 3018 when coming out of DAI slate and back to content in HLS live streams #8951

@saintberry

Description

@saintberry

What version of Shaka Player are you using?
4.15.9 - note earlier versions will not work with the streams I shared as the streams have Akamai tokenisation. There was an issue with url encoding these params which was resolved here #8713

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

Can you reproduce the issue with the latest code from main?
Not tested

Are you using the demo app or your own custom app?
Demo app and custom CAF receiver

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

What browser and OS are you using?
Chrome Version 138.0.7204.184 (Official Build) (arm64)

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
We are trying to get our HLS streams working with Shaka on CAF. However the issue is reproducible using the demo app in a browser. For CAF we're using latest firmware (tested multiple devices such as Google Streamer, Google Chromecast with Google TV and Google Nest Hub). As for libraries we're using:

    <script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
    <script src="//imasdk.googleapis.com/js/sdkloader/cast_dai.js"></script>

What are the manifest and license server URIs?
The issue is only observed when coming out of slate and back into content with streams delivered and conditioned by Google DAI. I have setup two streams for testing.

  1. HLS Muxed, Asset Key X7YLDVV3RsWd0-31x3nPgw - this asset does not have any text track and a short DVR window (60sec)
  2. HLS Demuxed, Asset Key k7m3kY2bQm-tx9upVP5YTw - this asset will contain a text track and a 30min DVR window

You will need to use these keys in the demo player to get the player to request a LIVE stream from the DAI API and play it back.

What configuration are you using? What is the output of player.getNonDefaultConfiguration()?
The default config in the demo app. Literally the only settings that are added to the "custom content" option is:

  • Name
  • Ads Asset Key (as above)

What did you do?
Play content. Wait for ads. Wait for slate. Observe error in console.

What did you expect to happen?
The player is able to play slate and then content when the ad break is over

What actually happened?
The two live streams referenced above will have ads inserted into them roughly every 15mins. The player will transition from content to ad without issue and play the ads. If the player encounters slate (no ads when an ad break should be playing) the player will throw Error 3018 when it starts to download playlists and segments of the content after downloading / playing playlists / segments of slate.

Are you planning to send a PR to fix it?
No, I'm not sure what's causing the issue. I had wondered if it's to do with a lack of text track in the slate (Google DAI behaviour). Hence trying the muxed stream. I also tried playing with ignoreTextStreamFailures and alwaysStreamText however this was just a wild guess and it didn't help.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working correctly

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions