MFCreateSampleCopierMFT 함수(mfidl.h)

샘플 복사기 변환의 instance 만듭니다.

구문

HRESULT MFCreateSampleCopierMFT(
  [out] IMFTransform **ppCopierMFT
);

매개 변수

[out] ppCopierMFT

IMFTransform 인터페이스에 대한 포인터를 받습니다. 호출자는 인터페이스를 해제해야 합니다.

반환 값

이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

샘플 복사기는 데이터를 수정하지 않고 입력 샘플에서 출력 샘플로 데이터를 복사하는 MFT(Media Foundation 변환)입니다. 다음 데이터는 샘플에서 복사됩니다.

  • 모든 샘플 특성.
  • 타임스탬프를 지정하고 기간을 지정합니다.
  • 샘플 플래그( IMFSample::SetSampleFlags 참조).
  • 미디어 버퍼의 데이터입니다. 입력 샘플에 여러 버퍼가 포함된 경우 데이터는 출력 샘플의 단일 버퍼로 복사됩니다.
이 MFT는 다음과 같은 상황에서 유용합니다.
  • 미디어 원본과 같은 하나의 파이프라인 개체는 출력을 위해 미디어 샘플을 할당합니다.
  • 미디어 싱크와 같은 다른 파이프라인 개체는 입력을 위해 자체 미디어 샘플을 할당합니다. 예를 들어 개체에는 비디오 메모리와 같은 특수 메모리 풀에서 할당된 버퍼가 필요할 수 있습니다.
다음 다이어그램은 미디어 원본 및 미디어 싱크를 사용하여 이러한 상황을 보여 주는 다이어그램입니다. 다이어그램: 미디어 원본이 샘플을 가리킵니다. 미디어 싱크는 두 번째 샘플을 가리킵니다. 샘플 복사기가 첫 번째 샘플에서 두 번째 샘플까지의 화살표를 가리킵니다.

미디어 싱크가 미디어 원본에서 데이터를 수신하려면 미디어 싱크가 소유한 미디어 샘플에 데이터를 복사해야 합니다. 샘플 복사기를 이 용도로 사용할 수 있습니다.

이러한 미디어 싱크의 특정 예는 EVR( Enhanced Video Renderer )입니다. EVR은 Direct3D 표면 버퍼가 포함된 샘플을 할당하므로 미디어 원본에서 직접 비디오 샘플을 받을 수 없습니다. Windows 7부터 토폴로지 로더는 미디어 원본과 EVR 사이에 샘플 복사기를 삽입하여 이 사례를 자동으로 처리합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 mfidl.h
라이브러리 Mf.lib
DLL Mf.dll

참고 항목

미디어 파운데이션 함수