aboutsummaryrefslogtreecommitdiffstats
path: root/libDRCdec/src/drcDec_reader.cpp
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2019-03-14 22:08:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-03-14 22:08:07 +0000
commit041424440adeb86d730f23ece1042ac18022e2e5 (patch)
tree850976122716be1924242a32582cb7410687be37 /libDRCdec/src/drcDec_reader.cpp
parent358e6d14ac6048827c4894fa6eb461d4ddac9e3f (diff)
parentc2e0dfe237e2a3bd8a43e8a8025631d6fec4590d (diff)
downloadfdk-aac-041424440adeb86d730f23ece1042ac18022e2e5.tar.gz
fdk-aac-041424440adeb86d730f23ece1042ac18022e2e5.tar.bz2
fdk-aac-041424440adeb86d730f23ece1042ac18022e2e5.zip
Merge "Clear config in case of parsing error in drcDec_readUniDrc()"
Diffstat (limited to 'libDRCdec/src/drcDec_reader.cpp')
-rw-r--r--libDRCdec/src/drcDec_reader.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/libDRCdec/src/drcDec_reader.cpp b/libDRCdec/src/drcDec_reader.cpp
index e7b3360..a784457 100644
--- a/libDRCdec/src/drcDec_reader.cpp
+++ b/libDRCdec/src/drcDec_reader.cpp
@@ -185,10 +185,18 @@ drcDec_readUniDrc(HANDLE_FDK_BITSTREAM hBs, HANDLE_UNI_DRC_CONFIG hUniDrcConfig,
uniDrcConfigPresent = FDKreadBits(hBs, 1);
if (uniDrcConfigPresent) {
err = drcDec_readUniDrcConfig(hBs, hUniDrcConfig);
- if (err) return err;
+ if (err) {
+ /* clear config, if parsing error occured */
+ FDKmemclear(hUniDrcConfig, sizeof(UNI_DRC_CONFIG));
+ hUniDrcConfig->diff = 1;
+ }
}
err = drcDec_readLoudnessInfoSet(hBs, hLoudnessInfoSet);
- if (err) return err;
+ if (err) {
+ /* clear config, if parsing error occured */
+ FDKmemclear(hLoudnessInfoSet, sizeof(LOUDNESS_INFO_SET));
+ hLoudnessInfoSet->diff = 1;
+ }
}
if (hUniDrcGain != NULL) {