From 284b7e7f28752438191015487900a82797a3bcbf Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Fri, 15 Jan 2016 09:14:19 -0800 Subject: [PATCH] Comment (e-)AC-3/DTS descriptor tags. Also, use terminology from ATSC spec in Ac3Util comment. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112254908 --- .../exoplayer/extractor/ts/TsExtractor.java | 14 +++++++++----- .../com/google/android/exoplayer/util/Ac3Util.java | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer/extractor/ts/TsExtractor.java b/library/src/main/java/com/google/android/exoplayer/extractor/ts/TsExtractor.java index 646785f543..4ce7cdf071 100644 --- a/library/src/main/java/com/google/android/exoplayer/extractor/ts/TsExtractor.java +++ b/library/src/main/java/com/google/android/exoplayer/extractor/ts/TsExtractor.java @@ -46,6 +46,7 @@ public final class TsExtractor implements Extractor { private static final int TS_STREAM_TYPE_MPA_LSF = 0x04; private static final int TS_STREAM_TYPE_AAC = 0x0F; private static final int TS_STREAM_TYPE_AC3 = 0x81; + private static final int TS_STREAM_TYPE_DTS = 0x8A; private static final int TS_STREAM_TYPE_E_AC3 = 0x87; private static final int TS_STREAM_TYPE_H262 = 0x02; private static final int TS_STREAM_TYPE_H264 = 0x1B; @@ -326,7 +327,7 @@ public final class TsExtractor implements Extractor { continue; } - ElementaryStreamReader pesPayloadReader = null; + ElementaryStreamReader pesPayloadReader; switch (streamType) { case TS_STREAM_TYPE_MPA: pesPayloadReader = new MpegAudioReader(output.track(TS_STREAM_TYPE_MPA)); @@ -358,6 +359,9 @@ public final class TsExtractor implements Extractor { case TS_STREAM_TYPE_ID3: pesPayloadReader = id3Reader; break; + default: + pesPayloadReader = null; + break; } if (pesPayloadReader != null) { @@ -394,12 +398,12 @@ public final class TsExtractor implements Extractor { streamType = TS_STREAM_TYPE_H265; } break; - } else if (descriptorTag == 0x6A) { + } else if (descriptorTag == 0x6A) { // AC-3_descriptor in DVB (ETSI EN 300 468) streamType = TS_STREAM_TYPE_AC3; - } else if (descriptorTag == 0x7A) { + } else if (descriptorTag == 0x7A) { // enhanced_AC-3_descriptor streamType = TS_STREAM_TYPE_E_AC3; - } else if (descriptorTag == 0x7B) { - // TODO: TS_STREAM_TYPE_DTS; + } else if (descriptorTag == 0x7B) { // DTS_descriptor + streamType = TS_STREAM_TYPE_DTS; } data.skipBytes(descriptorLength); diff --git a/library/src/main/java/com/google/android/exoplayer/util/Ac3Util.java b/library/src/main/java/com/google/android/exoplayer/util/Ac3Util.java index ac28222015..8642af4409 100644 --- a/library/src/main/java/com/google/android/exoplayer/util/Ac3Util.java +++ b/library/src/main/java/com/google/android/exoplayer/util/Ac3Util.java @@ -152,7 +152,7 @@ public final class Ac3Util { */ public static MediaFormat parseEac3SyncframeFormat(ParsableBitArray data, String trackId, long durationUs, String language) { - data.skipBits(16 + 2 + 3 + 11); // syncword, strmtype, strmid, frmsiz + data.skipBits(16 + 2 + 3 + 11); // syncword, strmtype, substreamid, frmsiz int sampleRate; int fscod = data.readBits(2); if (fscod == 3) {