Función MFCreateMediaBufferFromMediaType (mfapi.h)
Asigna un búfer de memoria del sistema que es óptimo para un tipo de medio especificado.
Sintaxis
HRESULT MFCreateMediaBufferFromMediaType(
[in] IMFMediaType *pMediaType,
[in] LONGLONG llDuration,
[in] DWORD dwMinLength,
[in] DWORD dwMinAlignment,
[out] IMFMediaBuffer **ppBuffer
);
Parámetros
[in] pMediaType
Puntero a la interfaz IMFMediaType del tipo de medio.
[in] llDuration
Duración de la muestra. Este valor es necesario para los formatos de audio.
[in] dwMinLength
Tamaño mínimo del búfer, en bytes. El tamaño real del búfer puede ser mayor. Especifique cero para asignar el tamaño de búfer predeterminado para el tipo de medio.
[in] dwMinAlignment
Alineación mínima de memoria para el búfer. Especifique cero para usar la alineación de memoria predeterminada.
[out] ppBuffer
Recibe un puntero a la interfaz IMFMediaBuffer . El autor de la llamada debe liberar la interfaz .
Valor devuelto
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
En el caso de los formatos de vídeo, si se reconoce el formato, la función crea un búfer 2D que implementa la interfaz IMF2DBuffer2 . De lo contrario, crea un búfer lineal. Para obtener la interfaz IMF2DBuffer2 , llame a QueryInterface en el puntero devuelto en ppBuffer. Si se produce un error en el método QueryInterface , use la interfaz IMFMediaBuffer para acceder a la memoria del búfer.
En el caso de los formatos de audio, la función asigna un búfer lo suficientemente grande como para contener muestras de audio llDuration o dwMinLength, lo que sea mayor.
Esta función siempre asigna memoria del sistema. Para las superficies de Direct3D, use la función MFCreateDXGISurfaceBuffer o MFCreateDXSurfaceBuffer .
Requisitos
Cliente mínimo compatible | Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | mfapi.h |
Library | Mfplat.lib |
Archivo DLL | Mfplat.dll |