From 4907c2153b10cb59aa236449450c07fa0c7cac57 Mon Sep 17 00:00:00 2001 From: bachinger Date: Thu, 3 Dec 2020 12:35:00 +0000 Subject: [PATCH] Add FLAG_MIGHT_NOT_USE_FULL_NETWORK_SPEED to HLS preload media chunks Issue: #5011 PiperOrigin-RevId: 345425048 --- .../android/exoplayer2/source/hls/HlsMediaChunk.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaChunk.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaChunk.java index cc5e60dd51..30e8350982 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaChunk.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaChunk.java @@ -15,6 +15,8 @@ */ package com.google.android.exoplayer2.source.hls; +import static com.google.android.exoplayer2.upstream.DataSpec.FLAG_MIGHT_NOT_USE_FULL_NETWORK_SPEED; + import android.net.Uri; import androidx.annotation.Nullable; import com.google.android.exoplayer2.C; @@ -92,10 +94,12 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; // Media segment. HlsMediaPlaylist.SegmentBase mediaSegment = segmentBaseHolder.segmentBase; DataSpec dataSpec = - new DataSpec( - UriUtil.resolveToUri(mediaPlaylist.baseUri, mediaSegment.url), - mediaSegment.byteRangeOffset, - mediaSegment.byteRangeLength); + new DataSpec.Builder() + .setUri(UriUtil.resolveToUri(mediaPlaylist.baseUri, mediaSegment.url)) + .setPosition(mediaSegment.byteRangeOffset) + .setLength(mediaSegment.byteRangeLength) + .setFlags(segmentBaseHolder.isPreload ? FLAG_MIGHT_NOT_USE_FULL_NETWORK_SPEED : 0) + .build(); boolean mediaSegmentEncrypted = mediaSegmentKey != null; @Nullable byte[] mediaSegmentIv =