mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-31 11:01:40 +00:00
0facadf342
The logic here intends to (as is written in the comment) append one block of silence to the track to allow for us to underrun one full scratch buffer. The code doesn't match this behavior however, because if we are not underrunning by less than a block, we end up appending *less* than a block. This causes us to append at a later time as the scratch buffer can swallow more (up to a full block) than we appended. Without processing this seems to work because of timing and ordering, but with processing (aec/agc/ns) we tend to add 71 (512 for an iteration - 441 packed) samples of silence, leaving us to hit the assert with a 44% ((128-71)/128) chance during subsequent iterations. Differential Revision: https://phabricator.services.mozilla.com/D2644 --HG-- extra : moz-landing-system : lando