Я нашел несколько частичных ответов на свой вопрос:
Поскольку моя проблема сводится к потреблению слишком большого количества MP3 без производства достаточного количества PCM, я использовал условные контрольные точки при подсчете количества посещений, чтобы определить, где это происходит, а затем углубился в это.
Это показало мне, что некоторые вызовы acmStreamConvert () возвращаются успешно, они потребляют 417 байтов src, но выдают 0 «используемых байтов dest».
Далее я планирую попробовать acmStreamSize (), чтобы спросить кодек, сколько байт src он «хочет» использовать, вместо того, чтобы «сказать» ему, что он потребляет 417.
Редактировать (продолжение): Я исправил это!
Все сводилось к передаче acmStreamConvert () достаточного количества src-байтов, чтобы сделать его счастливым. Придание ему запрошенного размера acmStreamSize () решило проблему в некоторых местах, но затем оно появилось в других; присвоение ему запрошенного размера, умноженного на 3, приводит к исцелению результата «0 dest bytes used» во всех протестированных мною MP3.
С этим исправлением acmStreamConvert () иногда возвращал гораздо большие преобразованные фрагменты (почти 32 КБ), поэтому мне также пришлось модифицировать некоторый другой код NAudio для передачи в более крупные целевые буферы для хранения результатов.