ReceiveConnection

[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.]

Ce mécanisme permet à une broche de sortie de proposer un changement de format à son homologue en aval, lorsque le nouveau format nécessite une mémoire tampon plus grande. La broche de sortie effectue les opérations suivantes :

  1. Appelle IPin::ReceiveConnection sur la broche d’entrée en aval.
  2. Si ReceiveConnection réussit, appelle IMemInputPin::NotifyAllocator sur la broche d’entrée.

En outre, le code pin de sortie peut devoir appeler IMemAllocator::SetProperties , puis décommit et recommiter l’allocateur afin de modifier les tailles de mémoire tampon. Veillez à remettre tous les exemples en attente dans l’ancien format avant de modifier la taille de la mémoire tampon.

Certains décodeurs MPEG-2 utilisent ce mécanisme pour basculer entre la sortie MPEG-1 et MPEG-2 ou si la taille de la vidéo change.