Compartilhar via


Método IMFSinkWriter::P laceMarker (mfreadwrite.h)

Coloca um marcador no fluxo especificado.

Sintaxe

HRESULT PlaceMarker(
  [in] DWORD  dwStreamIndex,
  [in] LPVOID pvContext
);

Parâmetros

[in] dwStreamIndex

O índice baseado em zero do fluxo.

[in] pvContext

Ponteiro para um valor definido pelo aplicativo. O valor desse parâmetro é retornado ao chamador no parâmetro pvContext do método de retorno de chamada IMFSinkWriterCallback::OnMarker do chamador. O aplicativo é responsável por qualquer alocação de memória associada a esses dados. Esse parâmetro pode ser NULL.

Valor de retorno

O método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam a, aqueles na tabela a seguir.

Código de retorno Description
S_OK
O método foi bem-sucedido.
MF_E_INVALIDREQUEST
A solicitação é inválida.

Observações

Para usar esse método, você deve fornecer um retorno de chamada assíncrono ao criar o gravador do coletor. Caso contrário, o método retornará MF_E_INVALIDREQUEST. Para obter mais informações, consulte MF_SINK_WRITER_ASYNC_CALLBACK.

Os marcadores fornecem uma maneira de serem notificados quando o coletor de mídia consome todas as amostras em um fluxo até um determinado ponto. O coletor de mídia não processa o marcador até que ele tenha processado todas as amostras que vieram antes do marcador. Quando o coletor de mídia processa o marcador, o gravador do coletor chama o método OnMarker do aplicativo. Quando o retorno de chamada é invocado, você sabe que o coletor consumiu todos os exemplos anteriores para esse fluxo.

Por exemplo, para alterar o formato midstream, chame PlaceMarker no ponto em que o formato é alterado. Quando OnMarker é chamado, é seguro chamar IMFSinkWriter::SetInputMediaType para alterar o tipo de entrada (supondo que o coletor de mídia dê suporte a alterações de formato dinâmico).

Internamente, esse método chama IMFStreamSink::P laceMarker no coletor de mídia.

Nota O parâmetro pvContext do método IMFSinkWriter::P laceMarker não é passado para o parâmetro pvarContextValue do método IMFStreamSink::P laceMarker . Esses dois parâmetros não estão diretamente relacionados.
 

Essa interface estará disponível no Windows Vista se o Suplemento de Atualização de Plataforma para Windows Vista estiver instalado.

Requirements

Requirement Value
Cliente mínimo suportado Suplemento windows 7, Windows Vista e Platform Update para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo compatível Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
Header mfreadwrite.h

Consulte também

IMFSinkWriter

Gravador de Coletor