diff options
author | Pierre-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 |
commit | 3bcf5d2dd02c56c6ca6803a7a4fc9472ac3e7ee8 (patch) | |
tree | 9210dbb413840dd6d3afec9cbb0aad2c19305ec0 | |
parent | 792bc9a6352e80691e1f0b4d2e2721db4f3787c8 (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.cpp | 27 |
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> ¬ify) { 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; |