Моя внешняя китайская USB-звуковуха поддерживает железно максимум 44100, но написанная на C++ ALSA-программка неожиданно смогла «открыть» звуковуху на 96000 и пропихнуть туда данные, взятые из .wav - файлика 96khz/16bit и я даже услышал песенку.
При этом 1core ЦП почти целиком нагружено и проводит всё время в ядре (вызовы ядра). Это, я так понимаю, ALSA открыла звуковуху на 44100/16 и втихую ресемплит данные? И делает она это «в пространстве» ядра, будучи модулем ядра? Так примерно всё?