Столкнулся с вопросом: как определить максимальное кол-во источников, поддерживаемых теукщим устройством _аппаратно_? В списке аттрибутов контекста (ALC_ATTRIBUTES) есть свойства ALC_MONO_SOURCES и ALC_STEREO_SOURCES. Но как я понимаю, эти параметры можно выставить при инициализации звуковой системы.
По умолчанию у меня стоят следующие значения:
ALC_MONO_SOURCES == 255
ALC_STEREO_SOURCES == 1
Провел тест: создал 255 источников и начал их одновременное произведение — как и ожидалось — начались жуткие тормоза. При попытке создать больше 255 источников oal возвращает ошибку.
Сейчас предполагаю (только предполагаю, так как в sdk не нашел об этом ни слова), что на каждый источник выделяется по каналу звуковой карты, а если источников больше, чем аппаратно поддерживаемых каналов, то oal начинает эмулировать каналы программно. True?
Если да, то как программно определить кол-во каналов звуковой карты?