IMFSourceReaderEx::SetNativeMediaType 메서드(mfreadwrite.h)
미디어 원본의 스트림에 대한 네이티브 미디어 형식을 설정합니다.
구문
HRESULT SetNativeMediaType(
[in] DWORD dwStreamIndex,
[in] IMFMediaType *pMediaType,
[out] DWORD *pdwStreamFlags
);
매개 변수
[in] dwStreamIndex
[in] pMediaType
미디어 형식의 IMFMediaType 인터페이스에 대한 포인터입니다.
[out] pdwStreamFlags
다음 플래그 중 0개 이상의 비트 OR 을 받습니다.
값 | 의미 |
---|---|
|
모든 효과가 스트림에서 제거되었습니다. |
|
현재 출력 형식이 변경되었습니다. |
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
성공. |
|
잘못된 요청입니다. |
|
dwStreamIndex 매개 변수가 잘못되었습니다. |
설명
이 메서드는 미디어 소스에서 생성되는 출력 형식을 설정합니다. IMFSourceReader::SetCurrentMediaType 메서드와 달리 이 메서드는 디코더, 비디오 프로세서 또는 기타 변환을 삽입하지 않습니다. 미디어 원본은 지정된 미디어 형식을 기본적으로 지원해야 합니다. 미디어 원본에서 지원되는 형식 목록을 얻으려면 IMFSourceReader::GetNativeMediaType을 호출합니다.
비동기 모드에서는 샘플 요청이 보류 중인 경우 이 메서드가 실패합니다. 이 경우 메서드를 호출하기 전에 OnReadSample 콜백이 호출될 때까지 기다립니다. 비동기 모드에서 원본 판독기를 사용하는 방법에 대한 자세한 내용은 IMFSourceReader::ReadSample을 참조하세요.
이 메서드는 스트림의 출력 형식 변경을 트리거할 수 있습니다. 이 경우 pdwStreamFlags 매개 변수에 MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED 플래그가 반환됩니다. 또한 이 메서드를 사용하면 원본 판독기가 IMFSourceReaderEx::AddTransformForStream 메서드에 의해 추가된 모든 효과를 제거할 수 있습니다. 이 경우 MF_SOURCE_READERF_ALLEFFECTSREMOVED 플래그가 pdwStreamFlags에 반환됩니다.
이 방법은 디바이스가 여러 출력 형식을 지원할 수 있으므로 오디오 및 비디오 캡처 디바이스에 유용합니다. 이 메서드를 사용하면 디코더 및 기타 변환을 추가하기 전에 애플리케이션에서 디바이스 형식을 선택할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfreadwrite.h |