Compartilhar via


Método IMFClockStateSink::OnClockStart (mfidl.h)

Chamado quando o relógio de apresentação é iniciado.

Sintaxe

HRESULT OnClockStart(
  [in] MFTIME   hnsSystemTime,
  [in] LONGLONG llClockStartOffset
);

Parâmetros

[in] hnsSystemTime

A hora do sistema quando o relógio começou, em unidades de 100 nanossegundos.

[in] llClockStartOffset

A nova hora de início do relógio, em unidades de 100 nanossegundos. Esse parâmetro também pode ser igual a PRESENTATION_CURRENT_POSITION, indicando que o relógio foi iniciado ou reiniciado de sua posição atual.

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Esse método é chamado quando o método IMFPresentationClock::Start do relógio de apresentação é chamado, com a seguinte exceção: se o relógio estiver em pausa e Start for chamado com o valor PRESENTATION_CURRENT_POSITION, IMFClockStateSink::OnClockRestart será chamado em vez de OnClockStart.

O relógio notifica a fonte de hora da apresentação chamando o método OnClockStart da fonte de tempo. Essa chamada ocorre de forma síncrona dentro do método Start . Se a fonte de tempo retornar um erro de OnClockStart, o método Start do relógio de apresentação retornará um erro e a alteração de estado não ocorrerá.

Para qualquer objeto que não seja a origem do tempo de apresentação, o método OnClockStart é chamado de forma assíncrona, depois que a alteração de estado é concluída. Nesse caso, o valor retornado desse método é ignorado.

O valor fornecido em llClockStartOffset é a hora da apresentação quando o relógio é iniciado, portanto, é relativo ao início da apresentação. Os coletores de mídia não devem renderizar nenhum dado com um horário de apresentação anterior ao llClockStartOffSet. Se um exemplo ultrapassar o deslocamento, ou seja, se o deslocamento ficar entre os horários de início e de parada da amostra, o coletor deverá cortar a amostra para que apenas os dados após llClockStartOffset sejam renderizados ou, caso contrário, simplesmente descarte o exemplo.

Requisitos

   
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfidl.h
Biblioteca Mfuuid.lib

Confira também

IMFClockStateSink

MFTIME

Relógio de Apresentação