From 9bf32f06e8971c1d3eb4fc5edd74b69557f97212 Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Wed, 30 Jul 2014 15:40:31 -0700 Subject: [PATCH] ATSParser: treat stream type 0x83 as TrueHD AC3 Bug: 16668055 Change-Id: I11fd3f795bbb50113e1a1e28e682edd76f11e146 --- media/libstagefright/MediaCodecList.cpp | 4 ++-- media/libstagefright/mpeg2ts/ATSParser.cpp | 8 ++------ media/libstagefright/mpeg2ts/ATSParser.h | 4 +++- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/media/libstagefright/MediaCodecList.cpp b/media/libstagefright/MediaCodecList.cpp index 8f5434354e..d0215337f8 100644 --- a/media/libstagefright/MediaCodecList.cpp +++ b/media/libstagefright/MediaCodecList.cpp @@ -803,7 +803,7 @@ const char *MediaCodecList::getCodecName(size_t index) const { bool MediaCodecList::isEncoder(size_t index) const { if (index >= mCodecInfos.size()) { - return NULL; + return false; } const CodecInfo &info = mCodecInfos.itemAt(index); @@ -813,7 +813,7 @@ bool MediaCodecList::isEncoder(size_t index) const { bool MediaCodecList::codecHasQuirk( size_t index, const char *quirkName) const { if (index >= mCodecInfos.size()) { - return NULL; + return false; } const CodecInfo &info = mCodecInfos.itemAt(index); diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp index 3d241e0157..eda63879e8 100644 --- a/media/libstagefright/mpeg2ts/ATSParser.cpp +++ b/media/libstagefright/mpeg2ts/ATSParser.cpp @@ -503,11 +503,7 @@ ATSParser::Stream::Stream( ElementaryStreamQueue::MPEG4_VIDEO); break; - case STREAMTYPE_PCM_AUDIO: - mQueue = new ElementaryStreamQueue( - ElementaryStreamQueue::PCM_AUDIO); - break; - + case STREAMTYPE_LPCM_AC3: case STREAMTYPE_AC3: mQueue = new ElementaryStreamQueue( ElementaryStreamQueue::AC3); @@ -622,7 +618,7 @@ bool ATSParser::Stream::isAudio() const { case STREAMTYPE_MPEG1_AUDIO: case STREAMTYPE_MPEG2_AUDIO: case STREAMTYPE_MPEG2_AUDIO_ADTS: - case STREAMTYPE_PCM_AUDIO: + case STREAMTYPE_LPCM_AC3: case STREAMTYPE_AC3: return true; diff --git a/media/libstagefright/mpeg2ts/ATSParser.h b/media/libstagefright/mpeg2ts/ATSParser.h index 86b025f994..8986a22287 100644 --- a/media/libstagefright/mpeg2ts/ATSParser.h +++ b/media/libstagefright/mpeg2ts/ATSParser.h @@ -93,7 +93,9 @@ struct ATSParser : public RefBase { // From ATSC A/53 Part 3:2009, 6.7.1 STREAMTYPE_AC3 = 0x81, - STREAMTYPE_PCM_AUDIO = 0x83, + // Stream type 0x83 is non-standard, + // it could be LPCM or TrueHD AC3 + STREAMTYPE_LPCM_AC3 = 0x83, }; protected: -- 2.11.0