summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Hugues Husson <phh@phh.me>2021-03-07 01:30:54 +0100
committerƁukasz Patron <priv.luk@gmail.com>2021-04-29 14:04:32 +0200
commit3bcf5d2dd02c56c6ca6803a7a4fc9472ac3e7ee8 (patch)
tree9210dbb413840dd6d3afec9cbb0aad2c19305ec0
parent792bc9a6352e80691e1f0b4d2e2721db4f3787c8 (diff)
Don't fail AAC decoding if DRC parameter isn't available
The DRC parameter has been introduced by I50fcc5ef35cb7e96592c2267652228b5fa074ba9, and is parsed by vendor. Vendors prior to this commit are supposed to fail this request. Anyway, assume this isn't an error, and simply ignore DRC parameters if vendor doesn't support this. Change-Id: I117411ad7063e24a7d01de90774d5ca1f5dc4bea
-rw-r--r--media/libstagefright/ACodec.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index acf96fd9b8..e0d68c74ff 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -5331,21 +5331,20 @@ status_t ACodec::getPortFormat(OMX_U32 portIndex, sp<AMessage> &notify) {
err = mOMXNode->getParameter(
(OMX_INDEXTYPE)OMX_IndexParamAudioAndroidAacDrcPresentation,
&presentation, sizeof(presentation));
- if (err != OK) {
- return err;
+ if (err == OK) {
+ notify->setInt32("aac-encoded-target-level",
+ presentation.nEncodedTargetLevel);
+ notify->setInt32("aac-drc-cut-level", presentation.nDrcCut);
+ notify->setInt32("aac-drc-boost-level", presentation.nDrcBoost);
+ notify->setInt32("aac-drc-heavy-compression",
+ presentation.nHeavyCompression);
+ notify->setInt32("aac-target-ref-level",
+ presentation.nTargetReferenceLevel);
+ notify->setInt32("aac-drc-effect-type", presentation.nDrcEffectType);
+ notify->setInt32("aac-drc-album-mode", presentation.nDrcAlbumMode);
+ notify->setInt32("aac-drc-output-loudness",
+ presentation.nDrcOutputLoudness);
}
- notify->setInt32("aac-encoded-target-level",
- presentation.nEncodedTargetLevel);
- notify->setInt32("aac-drc-cut-level", presentation.nDrcCut);
- notify->setInt32("aac-drc-boost-level", presentation.nDrcBoost);
- notify->setInt32("aac-drc-heavy-compression",
- presentation.nHeavyCompression);
- notify->setInt32("aac-target-ref-level",
- presentation.nTargetReferenceLevel);
- notify->setInt32("aac-drc-effect-type", presentation.nDrcEffectType);
- notify->setInt32("aac-drc-album-mode", presentation.nDrcAlbumMode);
- notify->setInt32("aac-drc-output-loudness",
- presentation.nDrcOutputLoudness);
}
}
break;