Share via


MPEG-2 Demux Run-Time Modes

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Le démultiplexeur MPEG-2 (« demux ») peut fonctionner en mode push ou en mode pull. En mode Push, les données proviennent d’une source en direct, telle qu’une diffusion réseau. En mode extraction, les données proviennent d’un fichier local.

  • Le mode d’extraction est disponible dans Windows XP et versions ultérieures, uniquement pour les flux de programme. Sur les plateformes de niveau inférieur, utilisez le filtre Mpeg-2 Splitter .
  • Le mode Push est disponible sur toutes les plateformes, à la fois pour les flux de programme et les flux de transport.

Le demux prend donc en charge trois modes possibles : les flux de programme en mode pull, les flux de programme en mode Push et les flux de transport en mode Push. Le demux détermine le mode à utiliser au moment de l’exécution. Le mode est déterminé lorsque la broche d’entrée se connecte ou lorsque la première broche de sortie est configurée, selon la première éventualité :

  • Lorsque la broche d’entrée se connecte : sur Windows XP et versions ultérieures, demux interroge le filtre amont pour l’interface IAsyncReader ; si le filtre amont expose cette interface, le demux se configure lui-même pour les flux de programme en mode pull. Sinon, le demux utilise le mode push et le type de média détermine le type de flux (flux de programme ou flux de transport). Pour obtenir la liste des types d’entrée, consultez Types de médias démultiplexeurs MPEG-2 .
  • Lorsque la première broche de sortie est configurée : si vous créez une broche de sortie et que vous l’interrogez pour IMPEG2PIDMap, le demux se configure lui-même pour les flux de transport en mode Push. Si vous interrogez le code pin pour IMPEG2StreamIdMap, le demux se configure lui-même pour les flux de programme, également en mode Push. Toutes les requêtes suivantes pour l’autre interface échouent, car le demux ne peut pas fonctionner en deux modes à la fois.

Une fois que le demux s’est configuré pour un mode particulier, il reste dans ce mode. Pour utiliser un autre mode, vous devez créer une nouvelle instance du demux.

Utilisation du démultiplexeur MPEG-2