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

IMA post roll is not playing well #7518

Closed
hyl0376 opened this issue Jun 18, 2020 · 2 comments
Closed

IMA post roll is not playing well #7518

hyl0376 opened this issue Jun 18, 2020 · 2 comments
Assignees
Labels

Comments

@hyl0376
Copy link

hyl0376 commented Jun 18, 2020

[REQUIRED] Issue description

In a demo app, playing post roll after the video ends looks abnormal.

[REQUIRED] Reproduction steps

  1. When video ends with no seeking action, post roll ad layer is not exposed. And then, set app to background (like press home button) and back to foreground, post roll is start at first position not the paused position.
  2. When video ends with seeking action (seek to the end of the video), post roll ad layer is well exposed and played. But set app to background (like press home button) and back to foreground, post roll is stopped.

Tested with ExoPlayer demo app, 'IMA sample ad tags' - VMAP post-roll, VMAP post-roll + bumper.

[REQUIRED] A full bug report captured from the device

  1. logcat
  2. logcat
    bugreport.zip

[REQUIRED] Version of ExoPlayer being used

2.11.5

[REQUIRED] Device(s) and version(s) of Android being used

Galaxy note8 API 26, Android Emulators API 29

@andrewlewis
Copy link
Collaborator

Thanks for reporting this. There are two bugs here:

  1. Postrolls now preload (since the recent API changes), but that means we need to trigger content complete when transitioning to the preloaded postroll.
  2. On resuming from background during a postroll, the period duration is unset briefly (I think we no longer use the content duration from the ad playback state) so we think the ad has ended and tell the IMA SDK that, which causes a stopAd call.

We should have a fix for these soon.

andrewlewis added a commit that referenced this issue Jun 23, 2020
The IMA SDK now preloads postrolls which is great as we no longer need
to rely on detecting buffering at the end of the stream to trigger
playing postrolls.

Add in the required logic to detect the period transition to playing
the postroll.

Issue: #7518
PiperOrigin-RevId: 317610682
andrewlewis added a commit that referenced this issue Jun 23, 2020
Postrolls would be skipped because the period duration wasn't know at
the moment of resuming playback after backgrounding, so the position
wouldn't be resolved to resume the postroll ad.

We have the period duration stored in the AdPlaybackState, so we can
use that directly.

Issue: #7518
PiperOrigin-RevId: 317830418
ojw28 pushed a commit that referenced this issue Jun 23, 2020
The IMA SDK now preloads postrolls which is great as we no longer need
to rely on detecting buffering at the end of the stream to trigger
playing postrolls.

Add in the required logic to detect the period transition to playing
the postroll.

Issue: #7518
PiperOrigin-RevId: 317610682
ojw28 pushed a commit that referenced this issue Jun 23, 2020
Postrolls would be skipped because the period duration wasn't know at
the moment of resuming playback after backgrounding, so the position
wouldn't be resolved to resume the postroll ad.

We have the period duration stored in the AdPlaybackState, so we can
use that directly.

Issue: #7518
PiperOrigin-RevId: 317830418
@ojw28
Copy link
Contributor

ojw28 commented Jun 23, 2020

Fixed in the commits referenced above. This will be part of 2.11.6, which should be released today or tomorrow.

@ojw28 ojw28 closed this as completed Jun 23, 2020
@google google locked and limited conversation to collaborators Aug 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants