diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/CmcdData.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/CmcdData.java index 3c8151badb..38f43a12b9 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/CmcdData.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/CmcdData.java @@ -65,36 +65,6 @@ public final class CmcdData { /** {@link CmcdData.Factory} for {@link CmcdData} instances. */ public static final class Factory { - /** Represents the Dynamic Adaptive Streaming over HTTP (DASH) format. */ - public static final String STREAMING_FORMAT_DASH = "d"; - - /** Represents the HTTP Live Streaming (HLS) format. */ - public static final String STREAMING_FORMAT_HLS = "h"; - - /** Represents the Smooth Streaming (SS) format. */ - public static final String STREAMING_FORMAT_SS = "s"; - - /** Represents the Video on Demand (VOD) stream type. */ - public static final String STREAM_TYPE_VOD = "v"; - - /** Represents the Live Streaming stream type. */ - public static final String STREAM_TYPE_LIVE = "l"; - - /** Represents the object type for an initialization segment in a media container. */ - public static final String OBJECT_TYPE_INIT_SEGMENT = "i"; - - /** Represents the object type for audio-only content in a media container. */ - public static final String OBJECT_TYPE_AUDIO_ONLY = "a"; - - /** Represents the object type for video-only content in a media container. */ - public static final String OBJECT_TYPE_VIDEO_ONLY = "v"; - - /** Represents the object type for muxed audio and video content in a media container. */ - public static final String OBJECT_TYPE_MUXED_AUDIO_AND_VIDEO = "av"; - - /** Represents the object type for a manifest or playlist file, in a media container. */ - public static final String OBJECT_TYPE_MANIFEST = "m"; - /** * Custom key names MUST carry a hyphenated prefix to ensure that there will not be a namespace * collision with future revisions to this specification. Clients SHOULD use a reverse-DNS @@ -103,7 +73,7 @@ public final class CmcdData { private static final Pattern CUSTOM_KEY_NAME_PATTERN = Pattern.compile(".*-.*"); private final CmcdConfiguration cmcdConfiguration; - private final @CmcdData.StreamingFormat String streamingFormat; + private final @StreamingFormat String streamingFormat; @Nullable private ExoTrackSelection trackSelection; private long bufferedDurationUs; private float playbackRate; @@ -111,7 +81,7 @@ public final class CmcdData { private boolean didRebuffer; private boolean isBufferEmpty; private long chunkDurationUs; - @Nullable private @CmcdData.ObjectType String objectType; + @Nullable private @ObjectType String objectType; @Nullable private String nextObjectRequest; @Nullable private String nextRangeRequest; @@ -121,8 +91,7 @@ public final class CmcdData { * @param cmcdConfiguration The {@link CmcdConfiguration} for this source. * @param streamingFormat The streaming format of the media content. */ - public Factory( - CmcdConfiguration cmcdConfiguration, @CmcdData.StreamingFormat String streamingFormat) { + public Factory(CmcdConfiguration cmcdConfiguration, @StreamingFormat String streamingFormat) { this.cmcdConfiguration = cmcdConfiguration; this.bufferedDurationUs = C.TIME_UNSET; this.playbackRate = C.RATE_UNSET; @@ -180,7 +149,7 @@ public final class CmcdData { *

Default is {@code null}. */ @CanIgnoreReturnValue - public Factory setObjectType(@Nullable @CmcdData.ObjectType String objectType) { + public Factory setObjectType(@Nullable @ObjectType String objectType) { this.objectType = objectType; return this; } @@ -421,13 +390,13 @@ public final class CmcdData { } private static boolean isManifestObjectType(@Nullable @ObjectType String objectType) { - return Objects.equals(objectType, Factory.OBJECT_TYPE_MANIFEST); + return Objects.equals(objectType, OBJECT_TYPE_MANIFEST); } private static boolean isMediaObjectType(@Nullable @ObjectType String objectType) { - return Objects.equals(objectType, Factory.OBJECT_TYPE_AUDIO_ONLY) - || Objects.equals(objectType, Factory.OBJECT_TYPE_VIDEO_ONLY) - || Objects.equals(objectType, Factory.OBJECT_TYPE_MUXED_AUDIO_AND_VIDEO); + return Objects.equals(objectType, OBJECT_TYPE_AUDIO_ONLY) + || Objects.equals(objectType, OBJECT_TYPE_VIDEO_ONLY) + || Objects.equals(objectType, OBJECT_TYPE_MUXED_AUDIO_AND_VIDEO); } private void validateCustomDataListFormat(List customDataList) { @@ -440,35 +409,61 @@ public final class CmcdData { /** Indicates the streaming format used for media content. */ @Retention(RetentionPolicy.SOURCE) - @StringDef({ - Factory.STREAMING_FORMAT_DASH, - Factory.STREAMING_FORMAT_HLS, - Factory.STREAMING_FORMAT_SS - }) + @StringDef({STREAMING_FORMAT_DASH, STREAMING_FORMAT_HLS, STREAMING_FORMAT_SS}) @Documented @Target(TYPE_USE) public @interface StreamingFormat {} + /** Represents the Dynamic Adaptive Streaming over HTTP (DASH) format. */ + public static final String STREAMING_FORMAT_DASH = "d"; + + /** Represents the HTTP Live Streaming (HLS) format. */ + public static final String STREAMING_FORMAT_HLS = "h"; + + /** Represents the Smooth Streaming (SS) format. */ + public static final String STREAMING_FORMAT_SS = "s"; + /** Indicates the type of streaming for media content. */ @Retention(RetentionPolicy.SOURCE) - @StringDef({Factory.STREAM_TYPE_VOD, Factory.STREAM_TYPE_LIVE}) + @StringDef({STREAM_TYPE_VOD, STREAM_TYPE_LIVE}) @Documented @Target(TYPE_USE) public @interface StreamType {} + /** Represents the Video on Demand (VOD) stream type. */ + public static final String STREAM_TYPE_VOD = "v"; + + /** Represents the Live Streaming stream type. */ + public static final String STREAM_TYPE_LIVE = "l"; + /** Indicates the media type of current object being requested. */ @Retention(RetentionPolicy.SOURCE) @StringDef({ - Factory.OBJECT_TYPE_INIT_SEGMENT, - Factory.OBJECT_TYPE_AUDIO_ONLY, - Factory.OBJECT_TYPE_VIDEO_ONLY, - Factory.OBJECT_TYPE_MUXED_AUDIO_AND_VIDEO, - Factory.OBJECT_TYPE_MANIFEST + OBJECT_TYPE_INIT_SEGMENT, + OBJECT_TYPE_AUDIO_ONLY, + OBJECT_TYPE_VIDEO_ONLY, + OBJECT_TYPE_MUXED_AUDIO_AND_VIDEO, + OBJECT_TYPE_MANIFEST }) @Documented @Target(TYPE_USE) public @interface ObjectType {} + /** Represents the object type for an initialization segment in a media container. */ + public static final String OBJECT_TYPE_INIT_SEGMENT = "i"; + + /** Represents the object type for audio-only content in a media container. */ + public static final String OBJECT_TYPE_AUDIO_ONLY = "a"; + + /** Represents the object type for video-only content in a media container. */ + public static final String OBJECT_TYPE_VIDEO_ONLY = "v"; + + /** Represents the object type for muxed audio and video content in a media container. */ + public static final String OBJECT_TYPE_MUXED_AUDIO_AND_VIDEO = "av"; + + /** Represents the object type for a manifest or playlist file, in a media container. */ + public static final String OBJECT_TYPE_MANIFEST = "m"; + private static final Joiner COMMA_JOINER = Joiner.on(","); private final CmcdObject cmcdObject; diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/upstream/CmcdDataTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/upstream/CmcdDataTest.java index 65ff949074..292b2fc4e8 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/upstream/CmcdDataTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/upstream/CmcdDataTest.java @@ -45,16 +45,16 @@ public class CmcdDataTest { "Track selection must be set", IllegalStateException.class, () -> - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_INIT_SEGMENT) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_INIT_SEGMENT) .createCmcdData()); assertThrows( "Buffered duration must be set", IllegalStateException.class, () -> - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_AUDIO_ONLY) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_AUDIO_ONLY) .setTrackSelection(trackSelection) .setChunkDurationUs(100_000) .createCmcdData()); @@ -63,8 +63,8 @@ public class CmcdDataTest { "Chunk duration must be set", IllegalStateException.class, () -> - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_AUDIO_ONLY) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_AUDIO_ONLY) .setTrackSelection(trackSelection) .setBufferedDurationUs(100_000) .createCmcdData()); @@ -94,9 +94,9 @@ public class CmcdDataTest { when(trackSelection.getLatestBitrateEstimate()).thenReturn(500_000L); DataSpec dataSpec = new DataSpec.Builder().setUri(Uri.EMPTY).build(); CmcdData cmcdData = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) .setTrackSelection(trackSelection) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_AUDIO_ONLY) + .setObjectType(CmcdData.OBJECT_TYPE_AUDIO_ONLY) .setBufferedDurationUs(1_760_000) .setPlaybackRate(2.0f) .setIsLive(true) @@ -144,8 +144,8 @@ public class CmcdDataTest { when(trackSelection.getLatestBitrateEstimate()).thenReturn(500_000L); DataSpec dataSpec = new DataSpec.Builder().setUri(Uri.EMPTY).build(); CmcdData cmcdData = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_AUDIO_ONLY) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_AUDIO_ONLY) .setTrackSelection(trackSelection) .setBufferedDurationUs(1_760_000) .setPlaybackRate(2.0f) @@ -174,8 +174,8 @@ public class CmcdDataTest { cmcdConfigurationFactory.createCmcdConfiguration(mediaItem); DataSpec dataSpec = new DataSpec.Builder().setUri(Uri.EMPTY).build(); CmcdData cmcdData = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_MANIFEST) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST) .createCmcdData(); dataSpec = cmcdData.addToDataSpec(dataSpec); @@ -199,8 +199,8 @@ public class CmcdDataTest { cmcdConfigurationFactory.createCmcdConfiguration(mediaItem); DataSpec dataSpec = new DataSpec.Builder().setUri(Uri.EMPTY).build(); CmcdData cmcdData = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_MANIFEST) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST) .createCmcdData(); dataSpec = cmcdData.addToDataSpec(dataSpec); @@ -226,7 +226,7 @@ public class CmcdDataTest { when(trackSelection.getLatestBitrateEstimate()).thenReturn(500_000L); DataSpec dataSpec = new DataSpec.Builder().setUri(Uri.EMPTY).build(); CmcdData cmcdData = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) .setTrackSelection(trackSelection) .setPlaybackRate(2.0f) .setIsLive(true) @@ -268,7 +268,7 @@ public class CmcdDataTest { when(trackSelection.getLatestBitrateEstimate()).thenReturn(500_000L); DataSpec dataSpec = new DataSpec.Builder().setUri(Uri.EMPTY).build(); CmcdData cmcdData = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) .setTrackSelection(trackSelection) .setPlaybackRate(2.0f) .setIsLive(true) @@ -307,8 +307,8 @@ public class CmcdDataTest { cmcdConfigurationFactory.createCmcdConfiguration(MediaItem.EMPTY); DataSpec dataSpec = new DataSpec.Builder().setUri(Uri.EMPTY).build(); CmcdData cmcdData = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_MANIFEST) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST) .createCmcdData(); dataSpec = cmcdData.addToDataSpec(dataSpec); @@ -347,8 +347,8 @@ public class CmcdDataTest { cmcdConfigurationFactory.createCmcdConfiguration(MediaItem.EMPTY); DataSpec dataSpec = new DataSpec.Builder().setUri(Uri.EMPTY).build(); CmcdData cmcdData = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_MANIFEST) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST) .createCmcdData(); dataSpec = cmcdData.addToDataSpec(dataSpec); @@ -381,8 +381,8 @@ public class CmcdDataTest { assertThrows( IllegalStateException.class, () -> - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_MANIFEST) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST) .createCmcdData()); } } 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 d2d67c80c5..bd909dd194 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 @@ -1105,8 +1105,8 @@ public final class DashMediaSource extends BaseMediaSource { new DataSpec.Builder().setUri(manifestUri).setFlags(DataSpec.FLAG_ALLOW_GZIP).build(); if (cmcdConfiguration != null) { CmcdData.Factory cmcdDataFactory = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_MANIFEST); + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) + .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST); if (manifest != null) { cmcdDataFactory.setIsLive(manifest.dynamic); } diff --git a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DefaultDashChunkSource.java b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DefaultDashChunkSource.java index b651ce73fe..5e06a4ebe8 100644 --- a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DefaultDashChunkSource.java +++ b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DefaultDashChunkSource.java @@ -421,7 +421,7 @@ public class DefaultDashChunkSource implements DashChunkSource { CmcdData.Factory cmcdDataFactory = cmcdConfiguration == null ? null - : new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_DASH) + : new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_DASH) .setTrackSelection(trackSelection) .setBufferedDurationUs(max(0, bufferedDurationUs)) .setPlaybackRate(loadingInfo.playbackSpeed) @@ -747,7 +747,7 @@ public class DefaultDashChunkSource implements DashChunkSource { /* httpRequestHeaders= */ ImmutableMap.of()); if (cmcdDataFactory != null) { CmcdData cmcdData = - cmcdDataFactory.setObjectType(CmcdData.Factory.OBJECT_TYPE_INIT_SEGMENT).createCmcdData(); + cmcdDataFactory.setObjectType(CmcdData.OBJECT_TYPE_INIT_SEGMENT).createCmcdData(); dataSpec = cmcdData.addToDataSpec(dataSpec); } diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsChunkSource.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsChunkSource.java index 68a5374fb9..4d3e51fe83 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsChunkSource.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsChunkSource.java @@ -507,7 +507,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @Nullable CmcdData.Factory cmcdDataFactory = null; if (cmcdConfiguration != null) { cmcdDataFactory = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_HLS) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_HLS) .setTrackSelection(trackSelection) .setBufferedDurationUs(max(0, bufferedDurationUs)) .setPlaybackRate(loadingInfo.playbackSpeed) @@ -516,7 +516,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; .setIsBufferEmpty(queue.isEmpty()) .setObjectType( getIsMuxedAudioAndVideo() - ? CmcdData.Factory.OBJECT_TYPE_MUXED_AUDIO_AND_VIDEO + ? CmcdData.OBJECT_TYPE_MUXED_AUDIO_AND_VIDEO : CmcdData.Factory.getObjectType(trackSelection)); long nextMediaSequence = segmentBaseHolder.partIndex == C.INDEX_UNSET @@ -930,7 +930,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; new DataSpec.Builder().setUri(keyUri).setFlags(DataSpec.FLAG_ALLOW_GZIP).build(); if (cmcdDataFactory != null) { if (isInitSegment) { - cmcdDataFactory.setObjectType(CmcdData.Factory.OBJECT_TYPE_INIT_SEGMENT); + cmcdDataFactory.setObjectType(CmcdData.OBJECT_TYPE_INIT_SEGMENT); } CmcdData cmcdData = cmcdDataFactory.createCmcdData(); dataSpec = cmcdData.addToDataSpec(dataSpec); diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaChunk.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaChunk.java index 3f3fab6dee..49b71b4ee9 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaChunk.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaChunk.java @@ -146,9 +146,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; .build(); if (cmcdDataFactory != null) { CmcdData cmcdData = - cmcdDataFactory - .setObjectType(CmcdData.Factory.OBJECT_TYPE_INIT_SEGMENT) - .createCmcdData(); + cmcdDataFactory.setObjectType(CmcdData.OBJECT_TYPE_INIT_SEGMENT).createCmcdData(); initDataSpec = cmcdData.addToDataSpec(initDataSpec); } 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 9254177423..41ae7d471b 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 @@ -150,8 +150,8 @@ public final class DefaultHlsPlaylistTracker .build(); if (cmcdConfiguration != null) { CmcdData cmcdData = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_HLS) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_MANIFEST) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_HLS) + .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST) .createCmcdData(); cmcdData.addToDataSpec(dataSpec); } @@ -791,8 +791,8 @@ public final class DefaultHlsPlaylistTracker .build(); if (cmcdConfiguration != null) { CmcdData.Factory cmcdDataFactory = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_HLS) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_MANIFEST); + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_HLS) + .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST); if (primaryMediaPlaylistSnapshot != null) { cmcdDataFactory.setIsLive(!primaryMediaPlaylistSnapshot.hasEndTag); } diff --git a/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/DefaultSsChunkSource.java b/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/DefaultSsChunkSource.java index 3d0b9d51ca..4f08940c6d 100644 --- a/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/DefaultSsChunkSource.java +++ b/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/DefaultSsChunkSource.java @@ -360,7 +360,7 @@ public class DefaultSsChunkSource implements SsChunkSource { @Nullable CmcdData.Factory cmcdDataFactory = null; if (cmcdConfiguration != null) { cmcdDataFactory = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_SS) + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_SS) .setTrackSelection(trackSelection) .setBufferedDurationUs(max(0, bufferedDurationUs)) .setPlaybackRate(loadingInfo.playbackSpeed) 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 a2dfd4b783..ddab05e5aa 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 @@ -682,8 +682,8 @@ public final class SsMediaSource extends BaseMediaSource new DataSpec.Builder().setUri(manifestUri).setFlags(DataSpec.FLAG_ALLOW_GZIP).build(); if (cmcdConfiguration != null) { CmcdData.Factory cmcdDataFactory = - new CmcdData.Factory(cmcdConfiguration, CmcdData.Factory.STREAMING_FORMAT_SS) - .setObjectType(CmcdData.Factory.OBJECT_TYPE_MANIFEST); + new CmcdData.Factory(cmcdConfiguration, CmcdData.STREAMING_FORMAT_SS) + .setObjectType(CmcdData.OBJECT_TYPE_MANIFEST); if (manifest != null) { cmcdDataFactory.setIsLive(manifest.isLive); }