Merge pull request #1138 from Lavamancer:bugfix/rtsp_message_util_encoded_authority

PiperOrigin-RevId: 674239756
This commit is contained in:
Copybara-Service 2024-09-13 04:16:05 -07:00
commit 023fd32cb1
3 changed files with 9 additions and 1 deletions

View File

@ -46,6 +46,8 @@
* DASH Extension:
* Smooth Streaming Extension:
* RTSP Extension:
* Fix user info removal for URLs that contain encoded @ characters
([#1138](https://github.com/androidx/media/pull/1138)).
* Decoder Extensions (FFmpeg, VP9, AV1, etc.):
* MIDI extension:
* Leanback extension:

View File

@ -192,7 +192,7 @@ import java.util.regex.Pattern;
}
// The Uri must include a "@" if the user info is non-null.
String authorityWithUserInfo = checkNotNull(uri.getAuthority());
String authorityWithUserInfo = checkNotNull(uri.getEncodedAuthority());
checkArgument(authorityWithUserInfo.contains("@"));
String authority = Util.split(authorityWithUserInfo, "@")[1];
return uri.buildUpon().encodedAuthority(authority).build();

View File

@ -449,6 +449,12 @@ public final class RtspMessageUtilTest {
.isEqualTo(Uri.parse("rtsp://foo.bar:5050/foo.mkv"));
}
@Test
public void removeUserInfo_withEncodedAtInUserInfo() {
Uri uri = Uri.parse("rtsp://user%40name:pass@foo.bar/foo.mkv");
assertThat(RtspMessageUtil.removeUserInfo(uri)).isEqualTo(Uri.parse("rtsp://foo.bar/foo.mkv"));
}
@Test
public void parseContentLengthHeader_withContentLengthOver31Bits_succeeds() throws Exception {
String line = "Content-Length: 1000000000000000";