diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 23da916f8a..ed36139f82 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -45,6 +45,9 @@ ([#7832](https://github.com/google/ExoPlayer/issues/7832)). * Fix a bug that caused multiple ads in an ad pod to be skipped when one ad in the ad pod was skipped. + * Fix a bug that caused ad progress not to be updated if the player + resumed after buffering during an ad + ([#8239](https://github.com/google/ExoPlayer/issues/8239)). * Fix passing an ads response to the `ImaAdsLoader` builder. * Set the overlay language based on the device locale by default. * Cronet extension: diff --git a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java index bfb8a58e4c..252aa2e396 100644 --- a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java +++ b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java @@ -1243,6 +1243,7 @@ public final class ImaAdsLoader private void handlePlayerStateChanged(boolean playWhenReady, @Player.State int playbackState) { if (playingAd && imaAdState == IMA_AD_STATE_PLAYING) { if (!bufferingAd && playbackState == Player.STATE_BUFFERING) { + bufferingAd = true; AdMediaInfo adMediaInfo = checkNotNull(imaAdMediaInfo); for (int i = 0; i < adCallbacks.size(); i++) { adCallbacks.get(i).onBuffering(adMediaInfo);