Skip to content

Commit

Permalink
Avoid using trickplay variants for preparing an HLS stream
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 324810361
  • Loading branch information
AquilesCanta authored and kim-vde committed Aug 7, 2020
1 parent 71fd335 commit 0670782
Showing 1 changed file with 9 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@
import com.google.android.exoplayer2.util.TimestampAdjuster;
import com.google.android.exoplayer2.util.UriUtil;
import com.google.android.exoplayer2.util.Util;
import com.google.common.primitives.Ints;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
Expand Down Expand Up @@ -151,11 +153,15 @@ public HlsChunkSource(
}
encryptionDataSource = dataSourceFactory.createDataSource(C.DATA_TYPE_DRM);
trackGroup = new TrackGroup(playlistFormats);
int[] initialTrackSelection = new int[playlistUrls.length];
// Use only non-trickplay variants for preparation. See [Internal ref: b/161529098].
ArrayList<Integer> initialTrackSelection = new ArrayList<>();
for (int i = 0; i < playlistUrls.length; i++) {
initialTrackSelection[i] = i;
if ((playlistFormats[i].roleFlags & C.ROLE_FLAG_TRICK_PLAY) == 0) {
initialTrackSelection.add(i);
}
}
trackSelection = new InitializationTrackSelection(trackGroup, initialTrackSelection);
trackSelection =
new InitializationTrackSelection(trackGroup, Ints.toArray(initialTrackSelection));
}

/**
Expand Down

0 comments on commit 0670782

Please sign in to comment.