Compartilhar via


Método CTransformFilter.Transform

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O Transform método transforma um exemplo de entrada para produzir um exemplo de saída.

Sintaxe

virtual HRESULT Transform(
   IMediaSample *pIn,
   IMediaSample *pOut
);

Parâmetros

Pino

Ponteiro para a interface IMediaSample do exemplo de entrada.

Amuo

Ponteiro para a interface IMediaSample do exemplo de saída.

Retornar valor

A classe base retorna E_UNEXPECTED.

A classe derivada deve retornar um valor HRESULT , indicando êxito ou falha. Os valores possíveis incluem os mostrados na tabela a seguir.

Código de retorno Descrição
S_FALSE
Não entregue este exemplo.
S_OK
Êxito.

Comentários

Substitua esse método para produzir dados de saída. Leia os dados de entrada do exemplo especificado pelo parâmetro pIn e escreva os novos dados no exemplo especificado pelo parâmetro pOut .

Antes que o filtro chame esse método, ele copia as propriedades do exemplo de entrada para o exemplo de saída. O Transform método deve definir todas as propriedades que diferem entre os dois exemplos, usando métodos IMediaSample ou a interface IMediaSample2 (se disponível).

Se o filtro não deve fornecer este exemplo (por exemplo, para dar suporte ao controle de qualidade), o método deverá retornar S_FALSE.

Requisitos

Requisito Valor
parâmetro
Transfrm.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Classe CTransformFilter