Modalità Run-Time MPEG-2 Demux
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEnginee Acquisizione audio/video in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente di usare un nuovo codice MediaPlayer, IMFMediaEngine e Acquisizione audio/video in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il MPEG-2 Demultiplexer ("demux") può funzionare in modalità push o in modalità pull. In modalità push, i dati provengono da un'origine live, ad esempio una trasmissione di rete. In modalità pull, i dati provengono da un file locale.
- La modalità pull è disponibile in Windows XP e versioni successive solo per i flussi di programma. Nelle piattaforme di livello inferiore usare il filtro splitter MPEG-2.
- La modalità push è disponibile in tutte le piattaforme, sia per i flussi di programma che per i flussi di trasporto.
La demux supporta quindi tre modalità possibili: flussi di programma in modalità pull, flussi di programma in modalità push e flussi di trasporto in modalità push. Il demux determina la modalità da usare in fase di esecuzione. La modalità viene determinata quando il pin di input si connette o quando viene configurato il primo pin di output, a condizione che si verifichi per primo:
- Quando il pin di input si connette: in Windows XP e versioni successive, demux esegue una query sul filtro upstream per l'interfacciaIAsyncReader; se il filtro upstream espone tale interfaccia, il demux si configura per i flussi di programma in modalità pull. In caso contrario, demux usa la modalità push e il tipo di supporto determina il tipo di flusso (flusso di programma o flusso di trasporto). Per un elenco dei tipi di input, vedere tipi di supporti demultiplexer MPEG-2.
- Quando viene configurato il primo pin di output: se si crea un pin di output e lo si esegue una query per IMPEG2PIDMap, il demux si configura per i flussi di trasporto in modalità push. Se si esegue una query sul pin per IMPEG2StreamIdMap, il demux si configura per i flussi di programma, anche in modalità push. Tutte le query successive per l'altra interfaccia hanno esito negativo, perché demux non può funzionare in due modalità contemporaneamente.
Una volta configurato il demux per una particolare modalità, rimane in tale modalità. Per usare una modalità diversa, è necessario creare una nuova istanza di demux.
Argomenti correlati
-
uso del demultiplexer MPEG-2