Função MFCreateMediaBufferFromMediaType (mfapi.h)
Aloca um buffer de memória do sistema ideal para um tipo de mídia especificado.
Sintaxe
HRESULT MFCreateMediaBufferFromMediaType(
[in] IMFMediaType *pMediaType,
[in] LONGLONG llDuration,
[in] DWORD dwMinLength,
[in] DWORD dwMinAlignment,
[out] IMFMediaBuffer **ppBuffer
);
Parâmetros
[in] pMediaType
Um ponteiro para a interface IMFMediaType do tipo de mídia.
[in] llDuration
A duração da amostra. Esse valor é necessário para formatos de áudio.
[in] dwMinLength
O tamanho mínimo do buffer, em bytes. O tamanho real do buffer pode ser maior. Especifique zero para alocar o tamanho do buffer padrão para o tipo de mídia.
[in] dwMinAlignment
O alinhamento mínimo de memória para o buffer. Especifique zero para usar o alinhamento de memória padrão.
[out] ppBuffer
Recebe um ponteiro para a interface IMFMediaBuffer . O chamador deve liberar a interface .
Valor retornado
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Para formatos de vídeo, se o formato for reconhecido, a função criará um buffer 2D que implementa a interface IMF2DBuffer2 . Caso contrário, ele criará um buffer linear. Para obter a interface IMF2DBuffer2 , chame QueryInterface no ponteiro retornado em ppBuffer. Se o método QueryInterface falhar, use a interface IMFMediaBuffer para acessar a memória do buffer.
Para formatos de áudio, a função aloca um buffer grande o suficiente para conter exemplos de áudio llDuration ou dwMinLength, o que for maior.
Essa função sempre aloca memória do sistema. Para superfícies Direct3D, use a função MFCreateDXGISurfaceBuffer ou MFCreateDXSurfaceBuffer .
Requisitos
Cliente mínimo com suporte | Windows 8 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | mfapi.h |
Biblioteca | Mfplat.lib |
DLL | Mfplat.dll |