diff options
author | Mark Harris <mark.hsj@gmail.com> | 2022-06-20 22:23:26 -0700 |
---|---|---|
committer | Mark Harris <mark.hsj@gmail.com> | 2022-06-25 14:10:35 -0700 |
commit | 8101b33e6c59b51b22aeeeaf39045e34a402b01f (patch) | |
tree | a5c0471ff666864caaae97beec621e9ead5ccb30 /celt | |
parent | ccaaffa9a3ee427e9401c4dcf6462e378d9a4694 (diff) | |
download | opus-8101b33e6c59b51b22aeeeaf39045e34a402b01f.tar.gz |
Correct redundancy handling with lost/DTX frames
In https://github.com/xiph/opus/issues/253, the encoder generates a
Hybrid frame with redundancy, to switch to CELT-only mode, and then
activates DTX immediately afterwards. The decoder ran Hybrid PLC,
which isn't right. Use CELT PLC instead if there was already a
transition to CELT via redundancy at the end of the previous frame.
Also do not use a stale CELT decoder to decode a second redundancy
frame when the first redundancy frame for a transition from SILK-only
mode was lost. Instead of mixing in old audio from the last time
that CELT was used, ignore the second redundancy frame in this case.
Alternatively the CELT decoder could be reset before decoding, but
it would not be ready until after the 2.5 ms of audio that is needed.
Reviewed by Jean-Marc Valin.
Diffstat (limited to 'celt')
0 files changed, 0 insertions, 0 deletions