From 4cd8f00d72bc857cf73621ccdb28d9873d9a2ba1 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Mon, 17 Aug 2020 14:28:40 +0100 Subject: [PATCH] Avoid setting a PMT reader if one exists for the same PID This change should only affect HLS, where we don't remove the PAT reader after reading a PAT. Issue: #7756 PiperOrigin-RevId: 327008936 --- .../google/android/exoplayer2/extractor/ts/TsExtractor.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/TsExtractor.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/TsExtractor.java index 7c48720c61..2fcfd422a0 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/TsExtractor.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/TsExtractor.java @@ -484,8 +484,10 @@ public final class TsExtractor implements Extractor { patScratch.skipBits(13); // network_PID (13) } else { int pid = patScratch.readBits(13); - tsPayloadReaders.put(pid, new SectionReader(new PmtReader(pid))); - remainingPmts++; + if (tsPayloadReaders.get(pid) == null) { + tsPayloadReaders.put(pid, new SectionReader(new PmtReader(pid))); + remainingPmts++; + } } } if (mode != MODE_HLS) {