diff --git a/api.txt b/api.txt index 4c03f14089..e138ae401a 100644 --- a/api.txt +++ b/api.txt @@ -548,6 +548,7 @@ package androidx.media3.common { field public static final String APPLICATION_PGS = "application/pgs"; field @Deprecated public static final String APPLICATION_RAWCC = "application/x-rawcc"; field public static final String APPLICATION_RTSP = "application/x-rtsp"; + field public static final String APPLICATION_SDP = "application/sdp"; field public static final String APPLICATION_SS = "application/vnd.ms-sstr+xml"; field public static final String APPLICATION_SUBRIP = "application/x-subrip"; field public static final String APPLICATION_TTML = "application/ttml+xml"; diff --git a/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java b/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java index 969b61a0b2..91bebc4960 100644 --- a/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java +++ b/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java @@ -139,6 +139,7 @@ public final class MimeTypes { public static final String APPLICATION_VOBSUB = BASE_TYPE_APPLICATION + "/vobsub"; public static final String APPLICATION_PGS = BASE_TYPE_APPLICATION + "/pgs"; @UnstableApi public static final String APPLICATION_SCTE35 = BASE_TYPE_APPLICATION + "/x-scte35"; + public static final String APPLICATION_SDP = BASE_TYPE_APPLICATION + "/sdp"; @UnstableApi public static final String APPLICATION_CAMERA_MOTION = BASE_TYPE_APPLICATION + "/x-camera-motion"; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java index 11c47251a7..a551beb0e8 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java @@ -39,11 +39,11 @@ import static java.lang.annotation.ElementType.TYPE_USE; import android.net.Uri; import android.os.Handler; -import android.os.Looper; import android.util.SparseArray; import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.media3.common.C; +import androidx.media3.common.MimeTypes; import androidx.media3.common.ParserException; import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; @@ -384,7 +384,11 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; public void sendDescribeRequest(Uri uri, @Nullable String sessionId) { sendRequest( getRequestWithCommonHeaders( - METHOD_DESCRIBE, sessionId, /* additionalHeaders= */ ImmutableMap.of(), uri)); + METHOD_DESCRIBE, + sessionId, + /* additionalHeaders= */ ImmutableMap.of( + RtspHeaders.ACCEPT, MimeTypes.APPLICATION_SDP), + uri)); } public void sendSetupRequest(Uri trackUri, String transport, @Nullable String sessionId) { diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspClientTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspClientTest.java index e699de2ea7..f0ad3788a2 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspClientTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspClientTest.java @@ -15,10 +15,12 @@ */ package androidx.media3.exoplayer.rtsp; +import static androidx.media3.common.util.Assertions.checkArgument; import static com.google.common.truth.Truth.assertThat; import android.net.Uri; import androidx.annotation.Nullable; +import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Util; import androidx.media3.exoplayer.rtsp.RtspClient.PlaybackEventListener; import androidx.media3.exoplayer.rtsp.RtspClient.SessionInfoListener; @@ -167,6 +169,8 @@ public final class RtspClientTest { @Override public RtspResponse getDescribeResponse(Uri requestedUri, RtspHeaders headers) { + checkArgument( + headers.asMultiMap().containsEntry(RtspHeaders.ACCEPT, MimeTypes.APPLICATION_SDP)); return RtspTestUtils.newDescribeResponseWithSdpMessage( SESSION_DESCRIPTION, rtpPacketStreamDumps, requestedUri); }