Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Добавляет преобразование, например звуковой эффект или эффект видео, в поток.
Синтаксис
HRESULT AddTransformForStream(
[in] DWORD dwStreamIndex,
[in] IUnknown *pTransformOrActivate
);
Параметры
[in] dwStreamIndex
Поток для настройки. Значение может быть любым из следующих значений.
| Ценность | Meaning |
|---|---|
|
Отсчитываемый от нуля индекс потока. |
|
Первый видеопоток. |
|
Первый аудиопоток. |
[in] pTransformOrActivate
Указатель на одно из следующих элементов:
- Преобразование Media Foundation (MFT), которое предоставляет интерфейс МВФTransform .
- Объект активации MFT, предоставляющий интерфейс IMFActivate .
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
| Код возврата | Description |
|---|---|
|
Успех. |
|
Преобразование не поддерживает текущий формат потока, и преобразование невозможно. Дополнительные сведения см. в разделе Примечания. |
|
Недопустимый запрос. |
|
Недопустимый параметр dwStreamIndex . |
Замечания
Этот метод пытается добавить преобразование в конце текущей цепочки обработки.
Чтобы использовать этот метод, выполните следующую последовательность вызовов:
- ВызовИТЕ МВФSourceReader::SetCurrentMediaType, чтобы задать тип вывода, который требуется для потока. На этом шаге можно указать тип носителя, содержащий только основные типы и идентификаторы GUID подтипов. Например, чтобы получить 32-разрядные выходные данные RGB, задайте основной тип MFMediaType_Video и подтип MFVideoFormat_RGB32. (Дополнительные сведения см. в разделе "Идентификаторы GUID типа мультимедиа".)
- Вызов AddTransformForStream. Если средство чтения источника успешно подключает преобразование, он задает тип выходных данных для преобразования.
- Вызовите МВФSourceReader::GetCurrentMediaType, чтобы получить тип выходных данных из преобразования. Этот метод возвращает тип носителя с полным описанием формата.
- При необходимости, если вы хотите изменить тип вывода, вызовите МВФSourceReader::SetCurrentMediaType еще раз, чтобы задать полный тип носителя для преобразования.
Метод завершается ошибкой, если средство чтения источника было настроено с помощью атрибутов MF_READWRITE_DISABLE_CONVERTERS или MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING .
В асинхронном режиме метод также завершается ошибкой, если ожидается пример запроса. В этом случае дождитесь вызова OnReadSample перед вызовом метода. Дополнительные сведения об использовании средства чтения источника в асинхронном режиме см. в разделе МВФSourceReader::ReadSample.
Преобразование можно добавить в любое время во время потоковой передачи. Однако метод не очищает или не сбрасывает конвейер перед вставой преобразования. Таким образом, если данные уже в конвейере, следующий пример не гарантирует применение преобразования.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 8 [классические приложения | Приложения UWP] |
| минимальный поддерживаемый сервер | Windows Server 2012 [классические приложения | Приложения UWP] |
| целевая платформа | Виндоус |
| Header | mfreadwrite.h |