Compartilhar via


Método IMFASFSplitter::P arseData (wmcontainer.h)

Envia dados asf (formato de sistemas avançados) com pacotes para o divisor ASF para processamento.

Sintaxe

HRESULT ParseData(
  [in] IMFMediaBuffer *pIBuffer,
  [in] DWORD          cbBufferOffset,
  [in] DWORD          cbLength
);

Parâmetros

[in] pIBuffer

Ponteiro para a interface IMFMediaBuffer de um objeto buffer que contém dados a serem analisados.

[in] cbBufferOffset

O deslocamento para o buffer de dados em que o divisor deve começar a analisar. Normalmente, esse valor é definido como 0.

[in] cbLength

O comprimento, em bytes, dos dados a serem analisados. Esse valor é medido a partir do deslocamento especificado por cbBufferOffset. Defina como 0 para processar até o final do buffer.

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.
E_INVALIDARG
O parâmetro pIBuffer é NULL.

O valor de deslocamento especificado em cbBufferOffset é maior que o comprimento do buffer.

O valor total de cbBufferOffset e cbLength é maior que o comprimento do buffer.

MF_E_NOT_INITIALIZED
O método IMFASFSplitter::Initialize não foi chamado ou a chamada falhou.
MF_E_NOTACCEPTING
O divisor não pode processar mais entrada no momento.

Comentários

Depois de usar esse método para analisar dados, você deve chamar IMFASFSplitter::GetNextSample para recuperar exemplos de mídia analisados.

Se os dados do ASF contiverem pacotes de tamanho variável, você deverá definir o atributo MFASFSPLITTER_PACKET_BOUNDARY nos buffers para indicar os limites de exemplo e os buffers não poderão abranger vários pacotes.

Se o método retornar ME_E_NOTACCEPTING, chame GetNextSample para obter os exemplos de saída ou chame IMFASFSplitter::Flush para limpar o divisor.

O divisor pode conter uma contagem de referência no buffer de entrada. Portanto, não escreva sobre os dados válidos no buffer depois de chamar esse método.

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

Divisor ASF

IMFASFSplitter