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

Places 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. Este parâmetro pode ser NULL.

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_INVALIDREQUEST
A solicitação é inválida.

Comentários

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é processar 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.

Requisitos

Requisito Valor
Cliente mínimo com suporte Suplemento Windows 7, Windows Vista e Platform Update para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfreadwrite.h

Confira também

IMFSinkWriter

Gravador de Coletor