Capitalize r's in HlsMediaPlaylist byte ranges

PiperOrigin-RevId: 306504969
This commit is contained in:
aquilescanta 2020-04-14 21:37:37 +01:00 committed by Ian Baker
parent 6cff8a6ad0
commit 4d22121cde
5 changed files with 30 additions and 32 deletions

View File

@ -647,7 +647,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
checkInBounds();
Segment segment = playlist.segments.get((int) getCurrentIndex());
Uri chunkUri = UriUtil.resolveToUri(playlist.baseUri, segment.url);
return new DataSpec(chunkUri, segment.byterangeOffset, segment.byterangeLength);
return new DataSpec(chunkUri, segment.byteRangeOffset, segment.byteRangeLength);
}
@Override

View File

@ -94,8 +94,8 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
DataSpec dataSpec =
new DataSpec(
UriUtil.resolveToUri(mediaPlaylist.baseUri, mediaSegment.url),
mediaSegment.byterangeOffset,
mediaSegment.byterangeLength);
mediaSegment.byteRangeOffset,
mediaSegment.byteRangeLength);
boolean mediaSegmentEncrypted = mediaSegmentKey != null;
@Nullable
byte[] mediaSegmentIv =
@ -118,7 +118,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
: null;
Uri initSegmentUri = UriUtil.resolveToUri(mediaPlaylist.baseUri, initSegment.url);
initDataSpec =
new DataSpec(initSegmentUri, initSegment.byterangeOffset, initSegment.byterangeLength);
new DataSpec(initSegmentUri, initSegment.byteRangeOffset, initSegment.byteRangeLength);
initDataSource = buildDataSource(dataSource, initSegmentKey, initSegmentIv);
}

View File

@ -141,7 +141,7 @@ public final class HlsDownloader extends SegmentDownloader<HlsPlaylist> {
}
}
Uri segmentUri = UriUtil.resolveToUri(baseUri, segment.url);
DataSpec dataSpec = new DataSpec(segmentUri, segment.byterangeOffset, segment.byterangeLength);
DataSpec dataSpec = new DataSpec(segmentUri, segment.byteRangeOffset, segment.byteRangeLength);
out.add(new Segment(startTimeUs, dataSpec));
}
}

View File

@ -70,30 +70,28 @@ public final class HlsMediaPlaylist extends HlsPlaylist {
* encrypted.
*/
@Nullable public final String encryptionIV;
/**
* The segment's byte range offset, as defined by #EXT-X-BYTERANGE.
*/
public final long byterangeOffset;
/** The segment's byte range offset, as defined by #EXT-X-BYTERANGE. */
public final long byteRangeOffset;
/**
* The segment's byte range length, as defined by #EXT-X-BYTERANGE, or {@link C#LENGTH_UNSET} if
* no byte range is specified.
*/
public final long byterangeLength;
public final long byteRangeLength;
/** Whether the segment is tagged with #EXT-X-GAP. */
public final boolean hasGapTag;
/**
* @param uri See {@link #url}.
* @param byterangeOffset See {@link #byterangeOffset}.
* @param byterangeLength See {@link #byterangeLength}.
* @param byteRangeOffset See {@link #byteRangeOffset}.
* @param byteRangeLength See {@link #byteRangeLength}.
* @param fullSegmentEncryptionKeyUri See {@link #fullSegmentEncryptionKeyUri}.
* @param encryptionIV See {@link #encryptionIV}.
*/
public Segment(
String uri,
long byterangeOffset,
long byterangeLength,
long byteRangeOffset,
long byteRangeLength,
@Nullable String fullSegmentEncryptionKeyUri,
@Nullable String encryptionIV) {
this(
@ -106,8 +104,8 @@ public final class HlsMediaPlaylist extends HlsPlaylist {
/* drmInitData= */ null,
fullSegmentEncryptionKeyUri,
encryptionIV,
byterangeOffset,
byterangeLength,
byteRangeOffset,
byteRangeLength,
/* hasGapTag= */ false);
}
@ -121,8 +119,8 @@ public final class HlsMediaPlaylist extends HlsPlaylist {
* @param drmInitData See {@link #drmInitData}.
* @param fullSegmentEncryptionKeyUri See {@link #fullSegmentEncryptionKeyUri}.
* @param encryptionIV See {@link #encryptionIV}.
* @param byterangeOffset See {@link #byterangeOffset}.
* @param byterangeLength See {@link #byterangeLength}.
* @param byteRangeOffset See {@link #byteRangeOffset}.
* @param byteRangeLength See {@link #byteRangeLength}.
* @param hasGapTag See {@link #hasGapTag}.
*/
public Segment(
@ -135,8 +133,8 @@ public final class HlsMediaPlaylist extends HlsPlaylist {
@Nullable DrmInitData drmInitData,
@Nullable String fullSegmentEncryptionKeyUri,
@Nullable String encryptionIV,
long byterangeOffset,
long byterangeLength,
long byteRangeOffset,
long byteRangeLength,
boolean hasGapTag) {
this.url = url;
this.initializationSegment = initializationSegment;
@ -147,8 +145,8 @@ public final class HlsMediaPlaylist extends HlsPlaylist {
this.drmInitData = drmInitData;
this.fullSegmentEncryptionKeyUri = fullSegmentEncryptionKeyUri;
this.encryptionIV = encryptionIV;
this.byterangeOffset = byterangeOffset;
this.byterangeLength = byterangeLength;
this.byteRangeOffset = byteRangeOffset;
this.byteRangeLength = byteRangeLength;
this.hasGapTag = hasGapTag;
}

View File

@ -96,8 +96,8 @@ public class HlsMediaPlaylistParserTest {
assertThat(segment.title).isEqualTo("");
assertThat(segment.fullSegmentEncryptionKeyUri).isNull();
assertThat(segment.encryptionIV).isNull();
assertThat(segment.byterangeLength).isEqualTo(51370);
assertThat(segment.byterangeOffset).isEqualTo(0);
assertThat(segment.byteRangeLength).isEqualTo(51370);
assertThat(segment.byteRangeOffset).isEqualTo(0);
assertThat(segment.url).isEqualTo("https://priv.example.com/fileSequence2679.ts");
segment = segments.get(1);
@ -107,8 +107,8 @@ public class HlsMediaPlaylistParserTest {
assertThat(segment.fullSegmentEncryptionKeyUri)
.isEqualTo("https://priv.example.com/key.php?r=2680");
assertThat(segment.encryptionIV).isEqualTo("0x1566B");
assertThat(segment.byterangeLength).isEqualTo(51501);
assertThat(segment.byterangeOffset).isEqualTo(2147483648L);
assertThat(segment.byteRangeLength).isEqualTo(51501);
assertThat(segment.byteRangeOffset).isEqualTo(2147483648L);
assertThat(segment.url).isEqualTo("https://priv.example.com/fileSequence2680.ts");
segment = segments.get(2);
@ -117,8 +117,8 @@ public class HlsMediaPlaylistParserTest {
assertThat(segment.title).isEqualTo("segment title .,:/# with interesting chars");
assertThat(segment.fullSegmentEncryptionKeyUri).isNull();
assertThat(segment.encryptionIV).isEqualTo(null);
assertThat(segment.byterangeLength).isEqualTo(51501);
assertThat(segment.byterangeOffset).isEqualTo(2147535149L);
assertThat(segment.byteRangeLength).isEqualTo(51501);
assertThat(segment.byteRangeOffset).isEqualTo(2147535149L);
assertThat(segment.url).isEqualTo("https://priv.example.com/fileSequence2681.ts");
segment = segments.get(3);
@ -130,8 +130,8 @@ public class HlsMediaPlaylistParserTest {
// 0xA7A == 2682.
assertThat(segment.encryptionIV).isNotNull();
assertThat(Util.toUpperInvariant(segment.encryptionIV)).isEqualTo("A7A");
assertThat(segment.byterangeLength).isEqualTo(51740);
assertThat(segment.byterangeOffset).isEqualTo(2147586650L);
assertThat(segment.byteRangeLength).isEqualTo(51740);
assertThat(segment.byteRangeOffset).isEqualTo(2147586650L);
assertThat(segment.url).isEqualTo("https://priv.example.com/fileSequence2682.ts");
segment = segments.get(4);
@ -143,8 +143,8 @@ public class HlsMediaPlaylistParserTest {
// 0xA7B == 2683.
assertThat(segment.encryptionIV).isNotNull();
assertThat(Util.toUpperInvariant(segment.encryptionIV)).isEqualTo("A7B");
assertThat(segment.byterangeLength).isEqualTo(C.LENGTH_UNSET);
assertThat(segment.byterangeOffset).isEqualTo(0);
assertThat(segment.byteRangeLength).isEqualTo(C.LENGTH_UNSET);
assertThat(segment.byteRangeOffset).isEqualTo(0);
assertThat(segment.url).isEqualTo("https://priv.example.com/fileSequence2683.ts");
}