Método IPin::NewSegment (strmif.h)
O NewSegment
método notifica o pino que os exemplos de mídia receberam após essa chamada são agrupados como um segmento, com uma hora de início, hora de parada e taxa comuns.
Os aplicativos não devem chamar esse método. Esse método é chamado por outros filtros.
Sintaxe
HRESULT NewSegment(
REFERENCE_TIME tStart,
REFERENCE_TIME tStop,
double dRate
);
Parâmetros
tStart
Hora de início do segmento, em relação à origem original, em unidades de 100 nanossegundos.
tStop
Hora de término do segmento, em relação à origem original, em unidades de 100 nanossegundos.
dRate
Taxa na qual esse segmento deve ser processado, como um percentual da taxa original.
Retornar valor
Retorna S_OK se tiver êxito ou um valor HRESULT indicando a causa do erro.
Comentários
Um filtro de origem (ou filtro de analisador) chama esse método no início de cada novo fluxo e após cada operação de busca. Ele chama o método no pino de entrada do filtro downstream, depois de fornecer o lote anterior de dados e antes de chamar IMemInputPin::Receive com novos dados. O filtro downstream propaga a NewSegment
chamada downstream.
Os filtros podem usar informações de segmento para processar exemplos. Por exemplo, com alguns formatos, é impossível reconstruir um quadro delta sem o próximo quadro-chave. Portanto, se o tempo de parada ocorrer em um quadro delta, o filtro de origem deverá enviar alguns quadros adicionais. O filtro de decodificador determina o quadro final com base nas informações do segmento. A taxa de segmento é usada para renderizar fontes de dados contínuas, como dados de áudio. Por exemplo, o renderizador de áudio usa a taxa de amostragem e a taxa de segmento para renderizar corretamente os dados de áudio.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | strmif.h (inclua Dshow.h) |
Biblioteca | Strmiids.lib |