diff --git a/library/src/main/java/com/google/android/exoplayer2/extractor/ts/TsExtractor.java b/library/src/main/java/com/google/android/exoplayer2/extractor/ts/TsExtractor.java index 855835a30f5..5e1a7b50756 100644 --- a/library/src/main/java/com/google/android/exoplayer2/extractor/ts/TsExtractor.java +++ b/library/src/main/java/com/google/android/exoplayer2/extractor/ts/TsExtractor.java @@ -538,7 +538,7 @@ private EsInfo readEsInfo(ParsableByteArray data, int length) { } else if (descriptorTag == TS_PMT_DESC_ISO639_LANG) { language = new String(data.data, data.getPosition(), 3).trim(); streamSubType = data.data[data.getPosition() + 3]; - } else if (descriptorTag == TS_PMT_DESC_DVBSUBS) { + } else if (descriptorTag == TS_PMT_DESC_DVBSUBS && descriptorLength == 8) { // we only support one subtitle service per PID streamType = TS_STREAM_TYPE_DVBSUBS; language = new String(data.data, data.getPosition(), 3).trim(); streamSubType = data.data[data.getPosition() + 3];