-
Notifications
You must be signed in to change notification settings - Fork 409
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
[VOD DAI - Widevine DRM] Demo app is crashing in ImaServerSideAdInsertionMediaSource when fast forward beyond last Midroll break. #1741
Comments
The email has been sent with the steps to setup the content. |
Note - there is also some information about this in [internal: b/369366766]. |
IMA always starts midrolls at index 1. So if there is no preroll ad, the ad group index in AdPlaybackState is off by 1 all the time, and may also lead to ArrayIndexOutOfBoundsExceptions when trying to access the last midroll ad Issue: #1741 PiperOrigin-RevId: 682324368
The commit above should fix the issue, will be released with |
I might be wrong but the commit in question may not fix the issue. if preroll AdGroupIndex is 0 and if first midroll adPodIndex is 1 then the AdGroupIndex for that first midroll is also 0 so you would end up with the same AdGroupIndex for preroll and midroll. |
If a preroll exists, the index won't be corrected in the new code. See the |
Verified the fix with release-1.5.0-rc02 branch and the issue seems to be rectified. |
Version
Media3 1.4.1
More version details
No response
Devices that reproduce the issue
Device: Pixel 6 running Android 14
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
Play a DAI VOD content with multiple midroll ad breaks and when starting playback fast forward to position after the last midroll. The steps to setup the content will be provided in the email sent to android-media-github@google.com.
Expected result
The media plays successfully.
Actual result
Playback crashes with the following stack trace (btw, the issue is also present in Exoplayer 2.19.1 so it is not a regression) :
09-19 15:30:10.390 32585 32585 D AndroidRuntime: Shutting down VM
09-19 15:30:10.391 32585 32585 E AndroidRuntime: FATAL EXCEPTION: main
09-19 15:30:10.391 32585 32585 E AndroidRuntime: Process: androidx.media3.demo.main, PID: 32585
09-19 15:30:10.391 32585 32585 E AndroidRuntime: java.lang.ArrayIndexOutOfBoundsException: length=10; index=10
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at androidx.media3.common.AdPlaybackState.getAdGroup(AdPlaybackState.java:686)
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at androidx.media3.exoplayer.ima.ImaServerSideAdInsertionMediaSource.setVodAdInPlaceholder(ImaServerSideAdInsertionMediaSource.java:903)
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at androidx.media3.exoplayer.ima.ImaServerSideAdInsertionMediaSource.access$3300(ImaServerSideAdInsertionMediaSource.java:114)
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at androidx.media3.exoplayer.ima.ImaServerSideAdInsertionMediaSource$VodAdEventListener.onAdEvent(ImaServerSideAdInsertionMediaSource.java:1497)
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at androidx.media3.exoplayer.ima.ImaServerSideAdInsertionMediaSource$ComponentListener.onAdEvent(ImaServerSideAdInsertionMediaSource.java:1063)
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at com.google.ads.interactivemedia.v3.impl.zzac.zzc(com.google.ads.interactivemedia.v3:interactivemedia@@3.33.0:27)
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at com.google.ads.interactivemedia.v3.impl.zzbr.zzc(com.google.ads.interactivemedia.v3:interactivemedia@@3.33.0:12)
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at com.google.ads.interactivemedia.v3.impl.zzav.zzl(com.google.ads.interactivemedia.v3:interactivemedia@@3.33.0:49)
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at com.google.ads.interactivemedia.v3.impl.zzbc.zzg(com.google.ads.interactivemedia.v3:interactivemedia@@3.33.0:7)
09-19 15:30:10.391 32585 32585 E AndroidRuntime: at com.google.ads.interactivemedia.v3.impl.zzay.onPostMessage(com.google.ads.interactivemedia.v3:interactivemedia@@3.33.0:2)
Media
will provide in the separate email.
Bug Report
adb bugreport
to android-media-github@google.com after filing this issue.The text was updated successfully, but these errors were encountered: