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

Media playback with ads is stuck #7161

Closed
chladto1 opened this issue Mar 30, 2020 · 11 comments
Closed

Media playback with ads is stuck #7161

chladto1 opened this issue Mar 30, 2020 · 11 comments

Comments

@chladto1
Copy link

Issue description

Media playback is stuck after prerolls are completed.

Reproduction steps

Use the following test code.

Link to test content

https://textuploader.com/1j7m1

A full bug report captured from the device

https://textuploader.com/1j7mo

Version of ExoPlayer being used

2.10.6

Device(s) and version(s) of Android being used

Android emulator with API 28

@andrewlewis
Copy link
Collaborator

After 793f12d playback shouldn't get stuck if we fail to preload an ad, and fa7d26d may have fixed the underlying problem. Please could you try to reproduce using the dev-v2 branch and let us know whether you are still seeing issues?

@chladto1
Copy link
Author

Media playback is still getting stuck even in dev-v2 branch.

@chladto1
Copy link
Author

Media playback is stuck sometimes also before or after midrolls.

@andrewlewis
Copy link
Collaborator

I couldn't reproduce the stuck playback using the ExoPlayer demo app with the IMA extension at tip-of-tree. When using the ads response from the paste, midrolls didn't play but playback didn't get stuck due to the new preloading timeout detection. You should see logging like this in the demo app:

05-29 14:45:16.207  1338  1338 E EventLogger: internalError [eventTime=14.79, mediaPos=4.70, window=0, loadError
05-29 14:45:16.207  1338  1338 E EventLogger:   com.google.android.exoplayer2.source.ads.AdsMediaSource$AdLoadException: java.io.IOException: Failed to load ad group 1
05-29 14:45:16.207  1338  1338 E EventLogger:       at com.google.android.exoplayer2.ext.ima.ImaAdsLoader.handleAdGroupLoadError(ImaAdsLoader.java:1367)
05-29 14:45:16.207  1338  1338 E EventLogger:       at com.google.android.exoplayer2.ext.ima.ImaAdsLoader.getContentProgress(ImaAdsLoader.java:798)
05-29 14:45:16.207  1338  1338 E EventLogger:       at com.google.ads.interactivemedia.v3.internal.akk.c(IMASDK:2)
05-29 14:45:16.207  1338  1338 E EventLogger:       at com.google.ads.interactivemedia.v3.internal.akk.handleMessage(IMASDK:11)
05-29 14:45:16.207  1338  1338 E EventLogger:       at android.os.Handler.dispatchMessage(Handler.java:102)
05-29 14:45:16.207  1338  1338 E EventLogger:       at android.os.Looper.loop(Looper.java:223)
05-29 14:45:16.207  1338  1338 E EventLogger:       at android.app.ActivityThread.main(ActivityThread.java:7623)
05-29 14:45:16.207  1338  1338 E EventLogger:       at java.lang.reflect.Method.invoke(Native Method)
05-29 14:45:16.207  1338  1338 E EventLogger:       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
05-29 14:45:16.207  1338  1338 E EventLogger:       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
05-29 14:45:16.207  1338  1338 E EventLogger:   Caused by: java.io.IOException: Failed to load ad group 1
05-29 14:45:16.207  1338  1338 E EventLogger:       ... 10 more
05-29 14:45:16.207  1338  1338 E EventLogger:   Caused by: java.io.IOException: Ad preloading timed out
05-29 14:45:16.207  1338  1338 E EventLogger:       ... 9 more
05-29 14:45:16.207  1338  1338 E EventLogger: ]

I see some logging from the IMA SDK about "Uncaught AdError 501: The overlay ad content could not be displayed since creative dimensions do not align with display area." which I haven't seen before. Please check that the ads response is as expected.

If you still see this with dev-v2 please provide detailed steps so I can reproduce the same problem you are seeing and diagnose what is going wrong. Thanks.

@andrewlewis
Copy link
Collaborator

Marked 'need more info' in case you can provide detailed steps to reproduce. Otherwise, this issue can be closed as not reproducible.

@chladto1
Copy link
Author

Please try this VMAP. It has static content, so the issue should be reproducible also on your side. The issue is not 100% reproducible, please try it more times.

@andrewlewis
Copy link
Collaborator

I tried reproducing it five times using my current development branch and playback didn't get stuck.

Please could you give more details steps to reproduce? If you install the development branch version of the demo app and play your ad tag using adb shell am start -a com.google.android.exoplayer.demo.action.VIEW -d "https://storage.googleapis.com/exoplayer-test-media-1/mp4/frame-counter-one-hour.mp4" --es ad_tag_uri "https://devs.origin.cdn.cra.cz/ima/googlevmap.xml" do you see issues? Are you seeking, skipping ads or backgrounding/resuming to reproduce the issue?

It would also help if you could hard-code ImaAdsLoader.DEBUG to be true then reproduce the issue and provide the logging with tag ImaAdsLoader. Thanks.

@ladamek
Copy link

ladamek commented Jun 24, 2020

Hi @andrewlewis , this should help to replicate the issue by following these steps and we have attached a video as well.

  1. Watch pre-roll
  2. After pre-roll, immediately seek somewhere after mid-roll 1 (and before mid-roll 2)
  3. Let the video run into mid-roll 2
    Mid-roll 2 won't launch and won't make a call as shown on the attached video. If we skip the seek and continue watching the whole content, mid-roll2 will play without a problem.

Stream: https://devs.origin.cdn.cra.cz:4433/prima/x/testbundle/testbundle.smil/manifest.mpd
VMAP: https://devs.origin.cdn.cra.cz/ima/googlevmapshort.xml

Video: adstuck.zip

@andrewlewis
Copy link
Collaborator

@ladamek I checked out r2.11.6 which we just released, built the demo app with the extension variant then started playback for those streams using: adb shell am start -a com.google.android.exoplayer.demo.action.VIEW -d "https://devs.origin.cdn.cra.cz:4433/prima/x/testbundle/testbundle.smil/manifest.mpd" --es ad_tag_uri "https://devs.origin.cdn.cra.cz/ima/googlevmapshort.xml", but found that the second midroll played as expected even with a seek after the preroll.

Please could you test on r2.11.6? If it's reproducible please set ImaAdsLoader.DEBUG = true, reproduce the issue and attach the log output here. Thanks.

@google-oss-bot
Copy link
Collaborator

Hey @chladto1. We need more information to resolve this issue but there hasn't been an update in 14 weekdays. I'm marking the issue as stale and if there are no new updates in the next 7 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

@google-oss-bot
Copy link
Collaborator

Since there haven't been any recent updates here, I am going to close this issue.

@chladto1 if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.

@google google locked and limited conversation to collaborators Sep 22, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants