diff --git a/RELEASENOTES.md b/RELEASENOTES.md index e87ec82783..beaab36463 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -19,6 +19,9 @@ * Rename `DummySurface` to `PlaceHolderSurface`. * Audio: * Use LG AC3 audio decoder advertising non-standard MIME type. +* Ad playback / IMA: + * Decrease ad polling rate from every 100ms to every 200ms, to line up with + Media Rating Council (MRC) recommendations. * Extractors: * Matroska: Parse `DiscardPadding` for Opus tracks. * UI: diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java index d4176e67fc..ebf18e1cab 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java @@ -84,12 +84,14 @@ import java.util.Map; private static final String IMA_SDK_SETTINGS_PLAYER_VERSION = MediaLibraryInfo.VERSION; /** - * Interval at which ad progress updates are provided to the IMA SDK, in milliseconds. 100 ms is - * the interval recommended by the IMA documentation. + * Interval at which ad progress updates are provided to the IMA SDK, in milliseconds. 200 ms is + * the interval recommended by the Media Rating Council (MRC) for minimum polling of viewable + * video impressions. + * http://www.mediaratingcouncil.org/063014%20Viewable%20Ad%20Impression%20Guideline_Final.pdf. * * @see VideoAdPlayer.VideoAdPlayerCallback */ - private static final int AD_PROGRESS_UPDATE_INTERVAL_MS = 100; + private static final int AD_PROGRESS_UPDATE_INTERVAL_MS = 200; /** The value used in {@link VideoProgressUpdate}s to indicate an unset duration. */ private static final long IMA_DURATION_UNSET = -1L;