From 792d9b39e0db647c13a6fc0d73f21648d2293667 Mon Sep 17 00:00:00 2001 From: kimvde Date: Mon, 3 Feb 2020 16:05:58 +0000 Subject: [PATCH] Flac extension: disable BinarySearchSeeker if totalSamples is unknown The ceilingTimePosition is based on the total number of samples. Binary search seeking is not possible if this value is unknown. PiperOrigin-RevId: 292921177 --- .../com/google/android/exoplayer2/ext/flac/FlacExtractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/FlacExtractor.java b/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/FlacExtractor.java index 922680ebcd..62bc129eb0 100644 --- a/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/FlacExtractor.java +++ b/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/FlacExtractor.java @@ -250,7 +250,7 @@ public final class FlacExtractor implements Extractor { SeekMap seekMap; if (haveSeekTable) { seekMap = new FlacSeekMap(streamMetadata.getDurationUs(), decoderJni); - } else if (streamLength != C.LENGTH_UNSET) { + } else if (streamLength != C.LENGTH_UNSET && streamMetadata.totalSamples > 0) { long firstFramePosition = decoderJni.getDecodePosition(); binarySearchSeeker = new FlacBinarySearchSeeker(