Метод IVMRFilterConfig::SetNumberOfStreams (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод SetNumberOfStreams
задает количество потоков для перемешивания и указывает VMR перейти в режим микшера.
Синтаксис
HRESULT SetNumberOfStreams(
[in] DWORD dwMaxStreams
);
Параметры
[in] dwMaxStreams
Двойное слово, содержащее максимальное количество входных потоков, которые потребуется виртуальной машине для смешивания. Не должно быть больше MAX_MIXER_STREAMS (16).
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Код возврата | Описание |
---|---|
|
Микшер уже настроен. |
|
Предпринята попытка настроить микшер для более чем 16 входных потоков. |
|
Не удалось выделить память для управления потоками. |
Комментарии
Значение dwMaxStreams должно быть равно количеству необходимых входных контактов. После подключения виртуальной машины нельзя добавить или удалить контакты. Если вы заранее не знаете, сколько входных потоков потребуется, задайте для dxMaxStreams максимальное число, которое может потребоваться. Для dwMaxStreams допустимо значение 1. Это значение не приводит к созданию дополнительных контактов, но заставляет VMR перейти в режим микшера. Поэтому после вызова этого метода нельзя вызвать Метод SetRenderingMode , чтобы задать режим VMRMode_Renderless
VMR создает столько входных контактов, сколько указано, не пытаясь определить, достаточно ли видеопамяти для поддержки всех них. Это связано с тем, что в настоящее время он не может узнать тип носителя или размеры прямоугольника. Позже, когда фильтр вышестоящий пытается подключиться к контакту, в этот момент тип мультимедиа становится известным, и VMR проверит видеопамяти и завершит сбой подключения, если недостаточно для обработки потока.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP с пакетом обновления 1 (SP1) [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |
См. также раздел
Коды ошибок и успешного выполнения