summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-07-30 15:40:31 -0700
committerChong Zhang <chz@google.com>2014-07-30 15:42:43 -0700
commit9bf32f06e8971c1d3eb4fc5edd74b69557f97212 (patch)
treeb437115d7b9daf6e6bdafa0f66edbf407a9490a9 /media
parenta6d28be0be0fa813080a021bd6a5920a8cb4fbb1 (diff)
downloadframeworks_av-9bf32f06e8971c1d3eb4fc5edd74b69557f97212.zip
frameworks_av-9bf32f06e8971c1d3eb4fc5edd74b69557f97212.tar.gz
frameworks_av-9bf32f06e8971c1d3eb4fc5edd74b69557f97212.tar.bz2
ATSParser: treat stream type 0x83 as TrueHD AC3
Bug: 16668055 Change-Id: I11fd3f795bbb50113e1a1e28e682edd76f11e146
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/MediaCodecList.cpp4
-rw-r--r--media/libstagefright/mpeg2ts/ATSParser.cpp8
-rw-r--r--media/libstagefright/mpeg2ts/ATSParser.h4
3 files changed, 7 insertions, 9 deletions
diff --git a/media/libstagefright/MediaCodecList.cpp b/media/libstagefright/MediaCodecList.cpp
index 8f54343..d021533 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 3d241e0..eda6387 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 86b025f..8986a22 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: