Evento MEStreamTick

Sinaliza que um fluxo de mídia não tem dados disponíveis em um momento especificado.

Valores de evento

Os valores possíveis recuperados de IMFMediaEvent::GetValue incluem o seguinte.

VARTYPE Descrição
VT_I8
Hora em que a lacuna ocorre, em unidades de 100 nanossegundos.

Comentários

Esse evento sinaliza uma lacuna nos dados. O evento notifica os componentes downstream para não esperarem nenhum dado no momento especificado.

O evento deve ser enviado por qualquer objeto que gere os carimbos de data/hora para os exemplos de mídia no fluxo. Dependendo do formato dos dados, isso é:

  • O fluxo de mídia na fonte de mídia (interface IMFMediaStream ) ou
  • A transformação do decodificador (interface IMFTransform ).

Durante a lacuna, o objeto deve enviar o evento com a frequência que normalmente produziria amostras. Para vídeo, envie um evento para cada quadro ausente. Para áudio, envie o evento pelo menos uma vez por segundo durante a lacuna. O valor do evento é o carimbo de data/hora do exemplo ausente. Envie quantos eventos MEStreamTick forem necessários para preencher a lacuna nos dados.

Se uma fonte de mídia tiver vários fluxos e houver uma lacuna em mais de um fluxo, cada fluxo deverá enviar eventos MEStreamTick. Por exemplo, se houver uma lacuna nos dados de áudio e vídeo, ambos os fluxos enviarão o evento.

O evento MEStreamTick não conclui uma solicitação IMFMediaStream::RequestSample . A fonte de mídia ainda deve enviar um evento MEMediaSample para cada chamada para RequestSample.

Os coletores de mídia não podem consumir esse evento diretamente. Para sinalizar uma lacuna no fluxo para um coletor de mídia, chame IMFStreamSink::P laceMarker com um marcador de MFSTREAMSINK_MARKER_TICK . O pipeline do Media Foundation converte eventos MEStreamTick em marcadores de MFSTREAMSINK_MARKER_TICK quando necessário.

Não defina o atributo MFSampleExtension_Discontinuity na próxima amostra de mídia após um evento MEStreamTick. O atributo MFSampleExtension_Discontinuity implica que o carimbo de data/hora é descontinuado com carimbos de data/hora anteriores, enquanto MEStreamTick implica que os carimbos de data/hora são contínuos, mas alguns dados estão ausentes.

Observação

Uma versão anterior da documentação afirmou incorretamente que o exemplo após um evento MEStreamTick deve ter o atributo MFSampleExtension_Discontinuity .

 

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]
Cabeçalho
Mfobjects.h (inclua Mfidl.h)

Confira também

Eventos do Media Foundation