Função MFCreateSampleCopierMFT (mfidl.h)

Cria uma instância da transformação do copiador de exemplo.

Sintaxe

HRESULT MFCreateSampleCopierMFT(
  [out] IMFTransform **ppCopierMFT
);

Parâmetros

[out] ppCopierMFT

Recebe um ponteiro para a interface IMFTransform . 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

O copiador de exemplo é uma MFT (transformação do Media Foundation) que copia dados de exemplos de entrada para amostras de saída sem modificar os dados. Os seguintes dados são copiados do exemplo:

  • Todos os atributos de exemplo.
  • O carimbo de data/hora e a duração.
  • Sinalizadores de exemplo (consulte IMFSample::SetSampleFlags).
  • Os dados nos buffers de mídia. Se o exemplo de entrada contiver vários buffers, os dados serão copiados para um único buffer no exemplo de saída.
Esse MFT é útil na seguinte situação:
  • Um objeto de pipeline, como uma fonte de mídia, aloca amostras de mídia para saída.
  • Outro objeto de pipeline, como um coletor de mídia, aloca seus próprios exemplos de mídia para entrada. Por exemplo, o objeto pode exigir buffers alocados de um pool de memória especial, como memória de vídeo.
O diagrama a seguir mostra essa situação com uma fonte de mídia e um coletor de mídia. Diagrama: a origem da mídia aponta para um exemplo; Coletor de Mídia aponta para um segundo Exemplo; Copiador de exemplo aponta para uma seta do primeiro exemplo para o segundo

Para que o coletor de mídia receba dados da fonte de mídia, os dados devem ser copiados para os exemplos de mídia pertencentes ao coletor de mídia. O copiador de exemplo pode ser usado para essa finalidade.

Um exemplo específico desse coletor de mídia é o EVR ( Renderizador de Vídeo Avançado ). O EVR aloca exemplos que contêm buffers de superfície Direct3D, portanto, ele não pode receber amostras de vídeo diretamente de uma fonte de mídia. A partir do Windows 7, o carregador de topologia manipula automaticamente esse caso inserindo o copiador de exemplo entre a fonte de mídia e o EVR.

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mfidl.h
Biblioteca Mf.lib
DLL Mf.dll

Confira também

Funções do Media Foundation