ReceiveConnection

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture 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.

Questo meccanismo consente a un pin di output di proporre una modifica del formato al peer downstream, quando il nuovo formato richiede un buffer più grande. Il pin di output esegue le operazioni seguenti:

  1. Chiama IPin::ReceiveConnection nel pin di input downstream.
  2. In ReceiveConnection caso di esito positivo, chiama IMemInputPin::NotifyAllocator nel pin di input.

Inoltre, il pin di output potrebbe dover chiamare IMemAllocator::SetProperties e quindi decommitare e ricommettere l'allocatore per modificare le dimensioni del buffer. Assicurarsi di distribuire tutti gli esempi in sospeso nel formato precedente prima di modificare le dimensioni del buffer.

Alcuni decodificatori MPEG-2 usano questo meccanismo per passare dall'output MPEG-1 a MPEG-2 o se le dimensioni del video cambiano.