Метод 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