Skip to content

Commit 023fd32

Browse files
Merge pull request #1138 from Lavamancer:bugfix/rtsp_message_util_encoded_authority
PiperOrigin-RevId: 674239756
2 parents ff65601 + 661f3de commit 023fd32

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

RELEASENOTES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
* DASH Extension:
4747
* Smooth Streaming Extension:
4848
* RTSP Extension:
49+
* Fix user info removal for URLs that contain encoded @ characters
50+
([#1138](https://github.com/androidx/media/pull/1138)).
4951
* Decoder Extensions (FFmpeg, VP9, AV1, etc.):
5052
* MIDI extension:
5153
* Leanback extension:

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ public static Uri removeUserInfo(Uri uri) {
192192
}
193193

194194
// The Uri must include a "@" if the user info is non-null.
195-
String authorityWithUserInfo = checkNotNull(uri.getAuthority());
195+
String authorityWithUserInfo = checkNotNull(uri.getEncodedAuthority());
196196
checkArgument(authorityWithUserInfo.contains("@"));
197197
String authority = Util.split(authorityWithUserInfo, "@")[1];
198198
return uri.buildUpon().encodedAuthority(authority).build();

libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspMessageUtilTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,12 @@ public void removeUserInfo_withNoUserInfo() {
449449
.isEqualTo(Uri.parse("rtsp://foo.bar:5050/foo.mkv"));
450450
}
451451

452+
@Test
453+
public void removeUserInfo_withEncodedAtInUserInfo() {
454+
Uri uri = Uri.parse("rtsp://user%40name:[email protected]/foo.mkv");
455+
assertThat(RtspMessageUtil.removeUserInfo(uri)).isEqualTo(Uri.parse("rtsp://foo.bar/foo.mkv"));
456+
}
457+
452458
@Test
453459
public void parseContentLengthHeader_withContentLengthOver31Bits_succeeds() throws Exception {
454460
String line = "Content-Length: 1000000000000000";

0 commit comments

Comments
 (0)