Compartilhar via


Exemplos de vídeo

O objeto de exemplo de vídeo é uma implementação especializada da interface IMFSample para uso com o EVR ( Renderizador de Vídeo Avançado ). Para criar uma instância desse objeto, chame a função MFCreateVideoSampleFromSurface . A função usa um ponteiro para uma superfície Direct3D e retorna um ponteiro para a interface IMFSample . Os seguintes tipos de objetos devem alocar exemplos usando essa função:

O objeto de exemplo de vídeo implementa as seguintes interfaces:

Se o parâmetro pUnkSurface de MFCreateVideoSampleFromSurface não for NULL, o exemplo de vídeo resultante conterá um único buffer de mídia que encapsula a superfície do Direct3D. Esse objeto buffer tem funcionalidade limitada:

A única maneira de acessar a superfície do buffer é chamar IMFGetService::GetService usando o identificador de serviço MR_BUFFER_SERVICE.

Se o parâmetro pUnkSurface for NULL, o exemplo de vídeo será criado com zero buffers de mídia. Para adicionar um buffer ao exemplo, faça o seguinte:

  1. Crie uma superfície Direct3D.

  2. Crie um buffer de superfície chamando MFCreateDXSurfaceBuffer. Para obter mais informações, consulte DirectX Surface Buffer.

  3. Adicione o buffer ao exemplo chamando IMFSample::AddBuffer.

Use essa abordagem se precisar que a memória da superfície seja acessível por meio da interface IMF2DBuffer .

Buffers de mídia

Exemplos de mídia