MFCreateMediaBufferFromMediaType 함수(mfapi.h)
지정된 미디어 유형에 가장 적합한 시스템 메모리 버퍼를 할당합니다.
구문
HRESULT MFCreateMediaBufferFromMediaType(
[in] IMFMediaType *pMediaType,
[in] LONGLONG llDuration,
[in] DWORD dwMinLength,
[in] DWORD dwMinAlignment,
[out] IMFMediaBuffer **ppBuffer
);
매개 변수
[in] pMediaType
미디어 형식의 IMFMediaType 인터페이스에 대한 포인터입니다.
[in] llDuration
샘플 기간입니다. 이 값은 오디오 형식에 필요합니다.
[in] dwMinLength
버퍼의 최소 크기(바이트)입니다. 실제 버퍼 크기가 더 클 수 있습니다. 미디어 형식에 대한 기본 버퍼 크기를 할당하려면 0을 지정합니다.
[in] dwMinAlignment
버퍼의 최소 메모리 맞춤입니다. 기본 메모리 맞춤을 사용하도록 0을 지정합니다.
[out] ppBuffer
IMFMediaBuffer 인터페이스에 대한 포인터를 받습니다. 호출자는 인터페이스를 해제해야 합니다.
반환 값
이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
비디오 형식의 경우 형식이 인식되면 함수는 IMF2DBuffer2 인터페이스를 구현하는 2D 버퍼를 만듭니다. 그렇지 않으면 선형 버퍼를 만듭니다. IMF2DBuffer2 인터페이스를 얻으려면 ppBuffer에서 반환된 포인터에서 QueryInterface를 호출합니다. QueryInterface 메서드가 실패하면 IMFMediaBuffer 인터페이스를 사용하여 버퍼 메모리에 액세스합니다.
오디오 형식의 경우 함수는 llDuration 오디오 샘플 또는 dwMinLength를 포함할 수 있을 만큼 큰 버퍼를 할당합니다.
이 함수는 항상 시스템 메모리를 할당합니다. Direct3D 표면의 경우 MFCreateDXGISurfaceBuffer 또는 MFCreateDXSurfaceBuffer 함수를 사용합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfapi.h |
라이브러리 | Mfplat.lib |
DLL | Mfplat.dll |