Usando o divisor MPEG-2
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use 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.]
Observação
A partir do Microsoft® Windows® XP, o filtro divisor MPEG-2 foi preterido. Em vez disso, use o MpEG-2 Demultiplexer .
O filtro divisor MPEG-2 dá suporte à reprodução do modo de pull de fluxos de programa MPEG-2 que contêm pelo menos um dos seguintes tipos de fluxo.
- Vídeo MPEG-2
- Áudio MPEG-2
- Áudio dolby AC-3 codificado conforme definido para DVD-Video
- Áudio LPCM (Linear Pulse Code Modulated) codificado conforme definido para DVD-Video
Para obter uma lista de tipos de mídia compatíveis com o Divisor MPEG-2, consulte Tipos de mídia de divisor MPEG-2.
O Divisor MPEG-2 não analisa fluxos de transporte. Use o filtro MpEG-2 Demultiplexer para fluxos de transporte (somente no modo push).
Carimbos de Data/Hora
Ao reproduzir fluxos de programa MPEG-2, o filtro divisor MPEG-2 trata a primeira referência de relógio do sistema encontrada como a origem do tempo de qualquer fluxo. Isso difere do Divisor de Fluxo MPEG-1, que usa carimbos de data/hora de apresentação. O método IAMParse::GetParseTime retorna a hora (possivelmente estimada) do relógio do sistema de fluxo para os dados processados.
Se o filtro de divisor MPEG-2 encontrar um exemplo de entrada com o conjunto de propriedades de descontinuidade (a propriedade de descontinuidade pode ser definida usando IMediaSample::SetDiscontinuity ou IMediaSample2::SetProperties), ele ignora os dados até encontrar o primeiro pacote nos dados e ajusta seus carimbos de data/hora para que a referência do relógio do sistema (SCR) para esse pacote seja considerada idêntica à hora do SCR antes da descontinuação. Se o relógio SCR aparecer para saltar para trás ou para avançar em mais de um segundo, então (em linha com a especificação de fluxo do programa MPEG-2), isso também é tratado como uma descontinuidade do relógio e a discrepância aparente do relógio é subtraída dos carimbos de data/hora passados para filtros downstream.
Seleção de Fluxo
Ao reproduzir o fluxo do programa MPEG-2, o primeiro fluxo de vídeo e o primeiro fluxo de áudio encontrados atravessando o fluxo do programa são escolhidos. Há suporte para até um pino de saída de áudio e um vídeo. Por meio da interface IAMStreamSelect , diferentes fluxos do mesmo tipo podem ser selecionados até o número especificado pelo limite de áudio no cabeçalho do sistema. No momento, para áudio MPEG-2, supõe-se que os fluxos formam um intervalo contíguo começando em 0xC0 de fluxo.
Interfaces com suporte
O filtro de divisor MPEG-2 dá suporte às interfaces a seguir.
- IAMParse. Somente fluxo de programa MPEG-2.
- IAMStreamSelect. Somente fluxo de programa MPEG-2, somente fluxos de áudio.
- IMediaSeeking. Inclui o modo de bytes buscando.
Tópicos relacionados