IMFSourceReaderEx::AddTransformForStream 메서드(mfreadwrite.h)
오디오 또는 비디오 효과와 같은 변환을 스트림에 추가합니다.
구문
HRESULT AddTransformForStream(
[in] DWORD dwStreamIndex,
[in] IUnknown *pTransformOrActivate
);
매개 변수
[in] dwStreamIndex
구성할 스트림입니다. 값은 다음 중 한 개일 수 있습니다.
값 | 의미 |
---|---|
|
스트림의 인덱스(0부터 시작)입니다. |
|
첫 번째 비디오 스트림입니다. |
|
첫 번째 오디오 스트림입니다. |
[in] pTransformOrActivate
다음 중 하나에 대한 포인터입니다.
- IMFTransform 인터페이스를 노출하는 MFT(Media Foundation 변환)입니다.
- IMFActivate 인터페이스를 노출하는 MFT 활성화 개체입니다.
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
성공. |
|
변환은 현재 스트림 형식을 지원하지 않으며 변환이 불가능했습니다. 자세한 내용은 설명 부분을 참조하십시오. |
|
잘못된 요청입니다. |
|
dwStreamIndex 매개 변수가 잘못되었습니다. |
설명
이 메서드는 현재 처리 체인의 끝에 변환을 추가하려고 시도합니다.
이 메서드를 사용하려면 다음 일련의 호출을 수행합니다.
- IMFSourceReader::SetCurrentMediaType을 호출하여 스트림에 대해 원하는 출력 형식을 설정합니다. 이 단계에서는 주 형식 및 하위 형식 GUID만 포함하는 미디어 형식을 지정할 수 있습니다. 예를 들어 32비트 RGB 출력을 얻으려면 주 형식의 MFMediaType_Video 및 MFVideoFormat_RGB32 하위 형식을 설정합니다. (자세한 내용은 미디어 형식 GUID를 참조하세요.)
- AddTransformForStream을 호출합니다. 원본 판독기가 변환을 성공적으로 연결하면 변환의 출력 형식이 설정됩니다.
- IMFSourceReader::GetCurrentMediaType을 호출하여 변환에서 출력 형식을 가져옵니다. 이 메서드는 전체 형식 설명이 있는 미디어 형식을 반환합니다.
- 필요에 따라 출력 형식을 수정하려면 IMFSourceReader::SetCurrentMediaType 을 다시 호출하여 변환에 전체 미디어 형식을 설정합니다.
원본 판독기가 MF_READWRITE_DISABLE_CONVERTERS 또는MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING 특성으로 구성된 경우 메서드가 실패합니다.
비동기 모드에서는 샘플 요청이 보류 중인 경우에도 메서드가 실패합니다. 이 경우 메서드를 호출하기 전에 OnReadSample 콜백이 호출될 때까지 기다립니다. 비동기 모드에서 원본 판독기를 사용하는 방법에 대한 자세한 내용은 IMFSourceReader::ReadSample을 참조하세요.
스트리밍하는 동안 언제든지 변환을 추가할 수 있습니다. 그러나 메서드는 변환을 삽입하기 전에 파이프라인을 플러시하거나 드레이닝하지 않습니다. 따라서 데이터가 이미 파이프라인에 있는 경우 다음 샘플은 변환을 적용하도록 보장되지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfreadwrite.h |