MFCreateSampleCopierMFT 함수(mfidl.h)
샘플 복사기 변환의 instance 만듭니다.
구문
HRESULT MFCreateSampleCopierMFT(
[out] IMFTransform **ppCopierMFT
);
매개 변수
[out] ppCopierMFT
IMFTransform 인터페이스에 대한 포인터를 받습니다. 호출자는 인터페이스를 해제해야 합니다.
반환 값
이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
샘플 복사기는 데이터를 수정하지 않고 입력 샘플에서 출력 샘플로 데이터를 복사하는 MFT(Media Foundation 변환)입니다. 다음 데이터는 샘플에서 복사됩니다.
- 모든 샘플 특성.
- 타임스탬프를 지정하고 기간을 지정합니다.
- 샘플 플래그( IMFSample::SetSampleFlags 참조).
- 미디어 버퍼의 데이터입니다. 입력 샘플에 여러 버퍼가 포함된 경우 데이터는 출력 샘플의 단일 버퍼로 복사됩니다.
- 미디어 원본과 같은 하나의 파이프라인 개체는 출력을 위해 미디어 샘플을 할당합니다.
- 미디어 싱크와 같은 다른 파이프라인 개체는 입력을 위해 자체 미디어 샘플을 할당합니다. 예를 들어 개체에는 비디오 메모리와 같은 특수 메모리 풀에서 할당된 버퍼가 필요할 수 있습니다.
미디어 싱크가 미디어 원본에서 데이터를 수신하려면 미디어 싱크가 소유한 미디어 샘플에 데이터를 복사해야 합니다. 샘플 복사기를 이 용도로 사용할 수 있습니다.
이러한 미디어 싱크의 특정 예는 EVR( Enhanced Video Renderer )입니다. EVR은 Direct3D 표면 버퍼가 포함된 샘플을 할당하므로 미디어 원본에서 직접 비디오 샘플을 받을 수 없습니다. Windows 7부터 토폴로지 로더는 미디어 원본과 EVR 사이에 샘플 복사기를 삽입하여 이 사례를 자동으로 처리합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | mfidl.h |
라이브러리 | Mf.lib |
DLL | Mf.dll |