-
Notifications
You must be signed in to change notification settings - Fork 6k
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
ExoPlayer freezes after playing ad #5444
Comments
Hi, I am facing a similar issue where the player continues playback before the last ad in a multiple ad roll completes. I can see the ad countdown timer at the bottom left of the screen (at 0:00 remaining) while the player has continued playback. This occurs when the actual ad length is very short as mentioned above. And sometimes it's stuck in the BUFFERING state too (as mentioned above). I am using DASH and an IMA url which contains multiple pre-roll ads and two mid-roll (each with multiple ads). If you would like a sample stream url and ad url to test, then please let me know. |
The IMA SDK doesn't pass us information on which ad group failed to load when reaching an empty ad group (see also #5006). The problem here seems to be that we get the empty ad load error relating to the ad group at 19 seconds even before we've played the ad that successfully loads at 18 seconds. The logic we have for calculating which ad group an empty ad load error relates to currently doesn't expect a load error to be received before we've played an ad that has successfully loaded after the current content position. I'll look into whether we can refine this logic to match the IMA SDK code more closely, but I'm concerned this will be fragile in case the IMA SDK preloading logic changes in future. It also seems like a bit of an edge case to have two ad groups so close to each other. I think this bug is triggered if you end up with an ad group that loads less than the preload duration (currently four seconds) after another ad group that does load, so you could try spacing these ad groups apart by four seconds or more. In any case, having two ad groups within a second seems like it would give a bad user experience if both loaded! Alternatively, you can probably avoid this situation in the first place by using optimized ad pods (so no ad pods are empty). |
Thanks for looking it. It occurs when fast-forwarding is repeated :( CONTENT_URL: https://file.ogaclejapan.com/video/video_300s_hls/index.m3u8 |
Sorry for the long delay. This is probably fixed by fa7d26d but I couldn't verify as I get an error We also added automatic timing out when preloading is not working correctly in 793f12d, so that should make the failure mode less bad. Please could you try to reproduce this on the |
Issue description
ExoPlayer freezes at the ending of the ad, in BUFFERING state. This problem occurs when the advertisement interval is very short and VAST response document is empty.
Reproduction steps
https://github.com/google/ExoPlayer/compare/release-v2...ogaclejapan:ima-freezes?expand=1
Demo1: freezes at 18s
Ad cuepoints : 0s(empty), 18s, 19s(empty)
Demo2: no problem
Ad cuepoints : 0s(empty), 18s, 23s(empty)
Link to test content
CONTENT_URL: https://file.ogaclejapan.com/video/video_30s_hls/index.m3u8
AD_TAG_URL: https://vast-ads.netlify.com/demo.xml
Version of ExoPlayer being used
I tried version is 2.9.0 and 2.9.4 and release-v2
Device(s) and version(s) of Android being used
Device: Nexus 6P
Version: 8.1.0
The text was updated successfully, but these errors were encountered: