From 450448b220f4f7919b37bcfda66bb82c66a764db Mon Sep 17 00:00:00 2001 From: olly Date: Fri, 13 Jul 2018 07:13:46 -0700 Subject: [PATCH] Fix bug where sourceId wasn't set for the first chunk The sample queues haven't been created when the first init call occurs. In this case we need to set sourceId when we subsequently create the queues. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=204467538 --- .../android/exoplayer2/source/hls/HlsSampleStreamWrapper.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java index ff16d271f3..93895d0acc 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java @@ -140,6 +140,7 @@ import java.util.List; // Accessed only by the loading thread. private boolean tracksEnded; private long sampleOffsetUs; + private int chunkUid; /** * @param trackType The type of the track. One of the {@link C} {@code TRACK_TYPE_*} constants. @@ -698,6 +699,7 @@ import java.util.List; audioSampleQueueMappingDone = false; videoSampleQueueMappingDone = false; } + this.chunkUid = chunkUid; for (SampleQueue sampleQueue : sampleQueues) { sampleQueue.sourceId(chunkUid); } @@ -752,6 +754,7 @@ import java.util.List; } } SampleQueue trackOutput = new SampleQueue(allocator); + trackOutput.sourceId(chunkUid); trackOutput.setSampleOffsetUs(sampleOffsetUs); trackOutput.setUpstreamFormatChangeListener(this); sampleQueueTrackIds = Arrays.copyOf(sampleQueueTrackIds, trackCount + 1);