Android SDK [name: VAST_MEDIA_LOAD_TIMEOUT, number: 402] error causes content to play early

656 views
Skip to first unread message

cbur...@sbgtv.com

unread,
Sep 1, 2017, 2:26:05 PM9/1/17
to Interactive Media Ads SDK
1. To set up this question I am using the the latest Android SDK with ExoPlayer version with 2.5.1 and trying to get a preroll ad to play
3. The ad plays fine in the Video Suite Inspector, but when used in conjuction with an m3u8 video in a player the ad stops playing after around 8 seconds and a flag for CONTENT_RESUME_REQUESTED gets thrown and the ad finishes early to play the Content URI

For more information. I have been researching the various causes of  this and I read that for HTML this was changed I believe ~6/5  to default to 8 seconds from 15 seconds. I also see that in the HTML version of this library, there is a way under RenderingSettings to set the timeout
https://developers.google.com/interactive-media-ads/docs/sdks/html5/v3/apis#ima.AdsRenderingSettings.loadVideoTimeout. However I don't see this having a similar field in the Android SDK

please advise

-Thanks,
Chad
    IMA_Ads_Load_Error.txt

    Deepika Uragayala (IMA SDK Team)

    unread,
    Sep 1, 2017, 6:53:11 PM9/1/17
    to Interactive Media Ads SDK
    Hi there,

    If you want to load ads while playing a livestream (m3u8), you need to use our Dynamic Ad Insertion feature to be able to do this. You need to contact DFP Publisher Support to assist you with creating your DAI supported Ad Tag and then get back to us to assist you with the SDK side implementation. Your Ad Tag will not work for live stream playback.

    Regards,
    Deepika Uragayala
    IMA SDK Team

    cbur...@sbgtv.com

    unread,
    Sep 5, 2017, 2:56:15 PM9/5/17
    to Interactive Media Ads SDK
    Hi,
    I don't believe that is quite the problem, we are just trying to play a preroll here. If we play with a different m3u8 one say https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8
    the ad plays all the way through

    Chris Feldman (IMA SDK Team)

    unread,
    Sep 5, 2017, 3:37:12 PM9/5/17
    to Interactive Media Ads SDK
    Hi Chad,

    I think there was some confusion regarding your original post. The Android SDK does support m3u8 media files (compatibility guide).

    That being said, I wasn't able to reproduce your issue when I tested in our Basic Example. Can you please try testing with that code? If you aren't able to reproduce the issue in the sample, that points to a problem with your implementation - in which case, I suggest debugging against the sample code. If you are able to reproduce the issue in our sample, please share with me the detailed steps for how to do so. I'll need step by step instructions, as well as details about your test setup (device/Android version/etc.).

    Regards,
    Chris Feldman
    IMA SDK Team

    cbur...@sbgtv.com

    unread,
    Sep 5, 2017, 5:46:47 PM9/5/17
    to Interactive Media Ads SDK
    I will check with the basic example, the implementation we are running is another Google run project https://github.com/google/ExoPlayer/tree/release-v2/extensions/ima. The problem is the error that is happening is part of the IMA obfuscated code. From what we are able to tell there is a timeout happening after 8 seconds that causes an error to be thrown.

       at com.google.android.exoplayer2.ext.ima.ImaAdsLoader.onAdError(ImaAdsLoader.java:399)
                                                                                             at com.google.obf.he.a(IMASDK:8)
                                                                                             at com.google.obf.gy.a(IMASDK:60)
                                                                                             at com.google.obf.gy.a(IMASDK:95)
                                                                                             at com.google.obf.gq.a(IMASDK:71)
                                                                                             at com.google.obf.hj.f(IMASDK:202)
                                                                                             at com.google.obf.hj.a(IMASDK:41)
                                                                                             at com.google.obf.hk.b(IMASDK:39)
                                                                                             at com.google.obf.hk$1.shouldOverrideUrlLoading(IMASDK:4)
                                                                                             at android.webkit.WebViewClient.shouldOverrideUrlLoading(WebViewClient.java:73)
                                                                                             at com.android.webview.chromium.WebViewContentsClientAdapter.shouldOverrideUrlLoading(WebViewContentsClientAdapter.java:72)
                                                                                             at org.chromium.android_webview.AwContentsClient.shouldIgnoreNavigation(AwContentsClient.java:15)
                                                                                             at org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading(AwContentsClientBridge.java:140)
                                                                                             at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
                                                                                             at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:7)
                                                                                             at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                             at android.os.Looper.loop(Looper.java:154)
                                                                                             at android.app.ActivityThread.main(ActivityThread.java:6121)
                                                                                             at java.lang.reflect.Method.invoke(Native Method)
                                                                                             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
                                                                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
                                                                                          Caused by: AdError [errorType: PLAY, errorCode: AdErrorCode [name: VAST_MEDIA_LOAD_TIMEOUT, number: 402], message: VAST media file loading reached a timeout of 8 seconds.]
                                                                                             at com.google.obf.gy.a(IMASDK:94)

    ------

    I am also looking to see if there is a way to increase the load timeout in the Android SDK much like there is the ability to in the HTML5 version at least. I will try our urls in the example you provided above and report back

    Kihn

    unread,
    Sep 6, 2017, 12:10:16 AM9/6/17
    to Interactive Media Ads SDK
    Hello IMA SDK Team !

    We have the same problems, play live streaming m3u8 with IMA in ExoPlayer, ads counter wrong, sometime it's repeat. any knows, please give idea to help ?

    Thanks.

    Chris Feldman (IMA SDK Team)

    unread,
    Sep 6, 2017, 3:11:31 PM9/6/17
    to Interactive Media Ads SDK
    Hi All,

    The IMA SDK team doesn't actually support the ExoPlayer IMA extension. Even though IMA is throwing the error in this case, it's possible that something in their player implementation is the cause. I'd suggest reaching out for support on their GitHub Issue Tracker
     
    Have you seen this issue in our Basic Example or Advanced Example? If so, our team will be able to investigate further.

    Regards,
    Chris Feldman
    IMA SDK Team

    Reply all
    Reply to author
    Forward
    0 new messages