IMFSourceReaderEx::SetNativeMediaType 메서드(mfreadwrite.h)

미디어 원본의 스트림에 대한 네이티브 미디어 형식을 설정합니다.

구문

HRESULT SetNativeMediaType(
  [in]  DWORD        dwStreamIndex,
  [in]  IMFMediaType *pMediaType,
  [out] DWORD        *pdwStreamFlags
);

매개 변수

[in] dwStreamIndex

[in] pMediaType

미디어 형식의 IMFMediaType 인터페이스에 대한 포인터입니다.

[out] pdwStreamFlags

다음 플래그 중 0개 이상의 비트 OR 을 받습니다.

의미
MF_SOURCE_READERF_ALLEFFECTSREMOVED
모든 효과가 스트림에서 제거되었습니다.
MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED
현재 출력 형식이 변경되었습니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
MF_E_INVALIDREQUEST
잘못된 요청입니다.
MF_E_INVALIDSTREAMNUMBER
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

추가 정보

IMFSourceReaderEx