diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 0ffd35c6e9..d23968f463 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -4,6 +4,8 @@ * Common Library: * ExoPlayer: + * Fix sending `CmcdData` in manifest requests for DASH, HLS, and + SmoothStreaming ([#2253](https://github.com/androidx/media/pull/2253)). * Transformer: * Track Selection: * Extractors: diff --git a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaSource.java b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaSource.java index 81cc424411..39f07b0d5f 100644 --- a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaSource.java +++ b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaSource.java @@ -1122,7 +1122,7 @@ public final class DashMediaSource extends BaseMediaSource { if (manifest != null) { cmcdDataFactory.setIsLive(manifest.dynamic); } - cmcdDataFactory.createCmcdData().addToDataSpec(dataSpec); + dataSpec = cmcdDataFactory.createCmcdData().addToDataSpec(dataSpec); } startLoading( new ParsingLoadable<>(dataSource, dataSpec, C.DATA_TYPE_MANIFEST, manifestParser), diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/DefaultHlsPlaylistTracker.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/DefaultHlsPlaylistTracker.java index 41ae7d471b..9f8cce4373 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/DefaultHlsPlaylistTracker.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/DefaultHlsPlaylistTracker.java @@ -153,7 +153,7 @@ public final class DefaultHlsPlaylistTracker new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_HLS) .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST) .createCmcdData(); - cmcdData.addToDataSpec(dataSpec); + dataSpec = cmcdData.addToDataSpec(dataSpec); } ParsingLoadable multivariantPlaylistLoadable = new ParsingLoadable<>( @@ -796,7 +796,7 @@ public final class DefaultHlsPlaylistTracker if (primaryMediaPlaylistSnapshot != null) { cmcdDataFactory.setIsLive(!primaryMediaPlaylistSnapshot.hasEndTag); } - cmcdDataFactory.createCmcdData().addToDataSpec(dataSpec); + dataSpec = cmcdDataFactory.createCmcdData().addToDataSpec(dataSpec); } ParsingLoadable mediaPlaylistLoadable = new ParsingLoadable<>( diff --git a/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.java b/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.java index 3ff6aafd8e..e380f18c04 100644 --- a/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.java +++ b/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.java @@ -689,7 +689,7 @@ public final class SsMediaSource extends BaseMediaSource if (manifest != null) { cmcdDataFactory.setIsLive(manifest.isLive); } - cmcdDataFactory.createCmcdData().addToDataSpec(dataSpec); + dataSpec = cmcdDataFactory.createCmcdData().addToDataSpec(dataSpec); } ParsingLoadable loadable = new ParsingLoadable<>(manifestDataSource, dataSpec, C.DATA_TYPE_MANIFEST, manifestParser);