Skip to content

Commit cf0b67a

Browse files
microkatzcopybara-github
authored andcommitted
Fix RtspClient not remove the user info from the redirect uri.
The redirection location uri provided in an HTTP 302 response should be used as is. Issue: #2398 PiperOrigin-RevId: 761937190
1 parent 839de45 commit cf0b67a

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

RELEASENOTES.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454
* DASH extension:
5555
* Smooth Streaming extension:
5656
* RTSP extension:
57+
* Fix `RtspClient` to use the location uri as provided when processing an
58+
HTTP 302 response
59+
([#2398](https://github.com/androidx/media/issues/2398)).
5760
* Decoder extensions (FFmpeg, VP9, AV1, etc.):
5861
* MIDI extension:
5962
* Leanback extension:

libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -571,9 +571,12 @@ private void handleRtspResponse(List<String> message) {
571571
sessionInfoListener.onSessionTimelineRequestFailed(
572572
"Redirection without new location.", /* cause= */ null);
573573
} else {
574-
Uri redirectionUri = Uri.parse(redirectionUriString);
575-
RtspClient.this.uri = RtspMessageUtil.removeUserInfo(redirectionUri);
576-
RtspClient.this.rtspAuthUserInfo = RtspMessageUtil.parseUserInfo(redirectionUri);
574+
RtspClient.this.uri = Uri.parse(redirectionUriString);
575+
RtspAuthUserInfo redirectRtspAuthUserInfo =
576+
RtspMessageUtil.parseUserInfo(RtspClient.this.uri);
577+
if (redirectRtspAuthUserInfo != null) {
578+
RtspClient.this.rtspAuthUserInfo = redirectRtspAuthUserInfo;
579+
}
577580
messageSender.sendDescribeRequest(RtspClient.this.uri, RtspClient.this.sessionId);
578581
}
579582
return;

0 commit comments

Comments
 (0)