Метод IApoAuxiliaryInputConfiguration::IsInputFormatSupported (audioenginebaseapo.h)
Проверяет, поддерживается ли APO определенный вспомогательный формат входных данных.
Синтаксис
HRESULT IsInputFormatSupported(
IAudioMediaType *pRequestedInputFormat,
IAudioMediaType **ppSupportedInputFormat
);
Параметры
pRequestedInputFormat
Формат входных данных, который требуется проверить.
ppSupportedInputFormat
APO заполняет этот параметр поддерживаемым форматом входных данных, ближайшим к формату, передаваемого в метод .
Возвращаемое значение
HRESULT
HRESULT | Описание: |
---|---|
S_OK | Успешное завершение. APO должен добавить ссылку на pRequestedInputFormat и вернуть ее в ppSupportedInputFormat. |
S_FALSE | Формат не поддерживается. APO должен возвращать предлагаемый поддерживаемый формат в ppSupportedInputFormat. |
APOERR_FORMAT_NOT_SUPPORTED | Формат не поддерживается. APO не должен изменять ppSupportedInputFormat |
E_POINTER | В эту функцию передан недопустимый указатель. |
Другие значения | Другой компонент вызывает сбой. Эти сбои отслеживаются системой. |
Комментарии
Если APO может принять запрошенный формат, он должен добавить ссылку на запрошенный формат, вернуть его в качестве поддерживаемого выходного формата и вернуть S_OK.
Если APO не может принять запрошенный формат, он может предложить альтернативный запрошенный формат. В этом случае он должен создать и вернуть предлагаемый формат, а также вернуть S_FALSE.
Возвращаемый поддерживаемый формат должен быть "ближе всего" к запрошенному формату, то есть формат должен иметь одинаковые значения для следующих свойств, указанных в порядке приоритета.
- Пример формата
- битовая глубина
- количество каналов
- частота выборки
Предлагаемый формат может отличаться от запрошенного только в том случае, если возвращается S_FALSE. При возврате любого сбоя предлагаемый формат следует оставить нетронутым.
Этот API можно вызвать в любое время. Возвращаемые результаты будут зависеть от внутреннего состояния APO, которыми могут управлять внешние пользовательские интерфейсы. Однако после блокировки APO для обработки этот формат не может и не изменится.
Этот метод не может вызываться из потока обработки в режиме реального времени.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | сборка Windows 10 20348 |
Верхняя часть | audioenginebaseapo.h |