Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Um de segmento é um grupo de amostras de mídia que compartilham uma hora de início, hora de parada e taxa de reprodução comuns. O método IPin::NewSegment sinaliza o início de um novo segmento. Ele fornece uma maneira para um filtro de origem informar os filtros a jusante que as informações de hora e taxa foram alteradas. Por exemplo, se o filtro de origem procura um novo ponto no fluxo, ele chama NewSegment com a nova hora de início.
Alguns filtros a jusante utilizam as informações de segmento quando processam amostras. Por exemplo, em um formato que usa compactação interframe, se o tempo de parada cair em um quadro delta, o filtro de origem pode precisar enviar amostras adicionais após o tempo de parada. Isso permite que o decodificador decodifice o quadro delta final. Para determinar o quadro final correto, o decodificador refere-se ao tempo de parada do segmento. Como outro exemplo, os renderizadores de áudio usam a taxa de segmento juntamente com a taxa de amostragem de áudio para gerar a saída de áudio correta.
No modelo push, o filtro de origem inicia a chamada NewSegment. No modelo pull, isso é feito pelo filtro do analisador. Em ambos os casos, o filtro chama NewSegment no pino de entrada downstream, que propaga a chamada para o próximo filtro, até que a chamada atinja o renderizador. Os filtros devem serializar chamadas NewSegment com outras chamadas de streaming, como IMemInputPin::Receive.
O tempo de fluxo é redefinido para zero após cada novo segmento. Carimbos de data/hora em amostras entregues após o segmento começar do zero.