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

Fire TV - Google DAI ad playback errors on CMAF streams #1072

Open
1 task
mictakim opened this issue Feb 6, 2024 · 3 comments
Open
1 task

Fire TV - Google DAI ad playback errors on CMAF streams #1072

mictakim opened this issue Feb 6, 2024 · 3 comments
Assignees
Labels

Comments

@mictakim
Copy link

mictakim commented Feb 6, 2024

Version

Media3 1.2.1

More version details

No response

Devices that reproduce the issue

Fire TV

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Yes

Reproduction steps

  1. Set up a live stream that uses CMAF format and passes through Google DAI for ad insertion. Test stream: https://googleads.github.io/googleads-ima-html5-dai/vsi/
  2. Run live stream on a Fire TV demo app using Media3 1.2.1
  3. Observe playback failure when midroll CUE-OUT event is triggered

Expected result

Successful midroll playback and resume to content stream.

Actual result

Playback failure when midroll CUE-OUT event is triggered

GAM Support provided following error flag:
androidx.media3.exoplayer.ExoPlaybackException: Source error ExoPlayerImplInternal: Playback error LoadTask: Unexpected exception loading stream

Media

Test app access to be provided via email.

Bug Report

@marcbaechinger
Copy link
Contributor

marcbaechinger commented Feb 6, 2024

Thanks for your report!

We can't start email conversation over android-media-github@google.com. That's a one way channel I'm afraid. Can you please provide us with the IMA assetKey for the live test stream?

Another step would be to create a bug report right after you have reproduced the failure, upload it here or send it by email using a subject in the format "Issue #1072". Please also update this issue to indicate you’ve done this.

If this is specific to a Fire TV device, it would probably be more difficult for us to help. Please provide us with a bug report in this case so we can see the entire log output and the exact device model.

@marcbaechinger
Copy link
Contributor

When I play the live DAI stream from the assetKey or the HLS stream directly I see it fail for reasons of HTPP 404. Can you please check whether you see the same issues when playing the stream? If this is the case I think this isn't a player problem but the HLS playlist contains URIs that are not available.

I'd recommend using our demo app for testing, because then we both use the same app and can rule out problems in an app. You can edit/add a live HLS DAI entry in the media.exolist.json and then run the demo app. When I do this I see the 404s pasted below.

The error you reported above is about a failed LoadTask:

androidx.media3.exoplayer.ExoPlaybackException: Source error ExoPlayerImplInternal: Playback error LoadTask: Unexpected exception loading stream

This potentially matches to the 404 exceptions I see when playing the stream you sent us:

2024-02-08 10:54:44.071 20227-20227 EventLogger             androidx.media3.demo.main            
E  internalError [eventTime=26.09, mediaPos=65.74, window=0, loadError
    androidx.media3.datasource.HttpDataSource$InvalidResponseCodeException: Response code: 404
        at androidx.media3.datasource.cronet.CronetDataSource.open(CronetDataSource.java:630)
        at androidx.media3.datasource.DefaultDataSource.open(DefaultDataSource.java:275)
        at androidx.media3.datasource.cache.CacheDataSource.openNextSource(CacheDataSource.java:798)
        at androidx.media3.datasource.cache.CacheDataSource.open(CacheDataSource.java:611)
        at androidx.media3.datasource.StatsDataSource.open(StatsDataSource.java:86)
        at androidx.media3.datasource.DataSourceInputStream.checkOpened(DataSourceInputStream.java:101)
        at androidx.media3.datasource.DataSourceInputStream.open(DataSourceInputStream.java:64)
        at androidx.media3.exoplayer.upstream.ParsingLoadable.load(ParsingLoadable.java:180)
        at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:418)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)
  ]

@mictakim
Copy link
Author

Hey Marc -

Wanted to bump this as I don't recall whether I provided Google Ad Manager Support's findings. They are asserting there is a codec issue on the Media3 side - is there a known DAI playback issue?

Media3 Player playback errors on Fire TV

Our team was able to reproduce the error using one of our android test apps. The IMA SDK support team identified the root cause as a codec issue within the AndroidX Media3 ExoPlayer library. (ie:

androidx.media3.exoplayer.ExoPlaybackException: Source error ExoPlayerImplInternal: Playback error LoadTask: Unexpected exception loading stream

Unfortunately, this issue is outside our direct control (as ExoPlayer is maintained by a separate Google team) but to get this issue addressed by the right people, could you please file a bug using this link? https://github.com/google/ExoPlayer/issues

We will have a live stream available today starting around 2:00pm PST.

Here's the GAM IMA info:
assetKey: Nf_XQHyLTK-ckL3GzbN3bA
Stream URL: https://pubads.g.doubleclick.net/ssai/event/Nf_XQHyLTK-ckL3GzbN3bA/master.m3u8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants