Compartilhar via


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

Confira também

Funções do Media Foundation