Compartilhar via


Método IMFASFMultiplexer::P rocessSample (wmcontainer.h)

Fornece exemplos de entrada para o multiplexer.

Sintaxe

HRESULT ProcessSample(
  [in] WORD      wStreamNumber,
  [in] IMFSample *pISample,
  [in] LONGLONG  hnsTimestampAdjust
);

Parâmetros

[in] wStreamNumber

O número de fluxo do fluxo ao qual o exemplo pertence.

[in] pISample

Ponteiro para a interface IMFSample do exemplo de entrada. O exemplo de entrada contém os dados de mídia a serem convertidos em pacotes de dados ASF. Quando possível, o carimbo de data/hora deste exemplo deve ser preciso.

[in] hnsTimestampAdjust

O ajuste a ser aplicado ao carimbo de data/hora da amostra. Esse parâmetro será usado se o chamador quiser deslocar o tempo de exemplo em pISample. Esse valor deverá ser positivo se o carimbo de data/hora deve ser enviado e negativo se o carimbo de data/hora deve ser adiado. Esse carimbo de data/hora é adicionado ao tempo de exemplo em pISample e o tempo resultante é usado pelo multiplexer em vez do tempo de exemplo original. Se nenhum ajuste for necessário, defina esse valor como 0.

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
MF_E_NOTACCEPTING
Há muitos pacotes esperando para serem recuperados do multiplexer. Chame IMFASFMultiplexer::GetNextPacket para obter os pacotes.
MF_E_BANDWIDTH_OVERRUN
O exemplo que foi processado viola as limitações de largura de banda especificadas para o fluxo no objeto ContentInfo do ASF. Quando esse erro é gerado, o exemplo é descartado.
MF_E_INVALIDSTREAMNUMBER
O valor passado em wStreamNumber é inválido.
MF_E_LATE_SAMPLE
A hora da apresentação do exemplo de mídia de entrada é anterior à hora de envio.

Comentários

O aplicativo passa exemplos para ProcessSample e o multiplexador ASF os enfileira internamente até que estejam prontos para serem colocados em pacotes ASF. Chame IMFASFMultiplexer::GetNextPacket para obter o pacote de dados ASF.

Após cada chamada para ProcessSample, chame GetNextPacket em um loop para obter todos os pacotes de dados disponíveis. Para obter um exemplo de código, consulte Gerando novos pacotes de dados ASF.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wmcontainer.h
Biblioteca Mfuuid.lib

Confira também

Gerando novos pacotes de dados ASF

IMFASFMultiplexer

IMFSample