mirror of https://git.ffmpeg.org/ffmpeg.git
aacsbr: Turnoff in the event of over read.
Aliased compressed AAC bytes are almost certainly not meaningful SBR data. In the wild this causes harsh artifacts switching HE-AAC streams that don't have SBR headers aligned with segment boundaries. Turning off SBR falls back to a default set of upsampling parameters that can function as a sort of error concealment. This is consistent with how the decoder handles other sorts of errors.
This commit is contained in:
parent
db7a05dab0
commit
2c8a3aa985
|
@ -1137,6 +1137,7 @@ int AAC_RENAME(ff_decode_sbr_extension)(AACContext *ac, SpectralBandReplication
|
||||||
if (bytes_read > cnt) {
|
if (bytes_read > cnt) {
|
||||||
av_log(ac->avctx, AV_LOG_ERROR,
|
av_log(ac->avctx, AV_LOG_ERROR,
|
||||||
"Expected to read %d SBR bytes actually read %d.\n", cnt, bytes_read);
|
"Expected to read %d SBR bytes actually read %d.\n", cnt, bytes_read);
|
||||||
|
sbr_turnoff(sbr);
|
||||||
}
|
}
|
||||||
return cnt;
|
return cnt;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue