ReceiveConnection

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Dieser Mechanismus ermöglicht es einem Ausgabepin, dem downstream-Peer eine Formatänderung vorzuschlagen, wenn das neue Format einen größeren Puffer erfordert. Der Ausgabepin führt Folgendes aus:

  1. Ruft IPin::ReceiveConnection für den Downstreameingabepin auf.
  2. Wenn ReceiveConnection dies erfolgreich ist, ruft IMemInputPin::NotifyAllocator am Eingabenadel auf.

Darüber hinaus muss der Ausgabepin möglicherweise IMemAllocator::SetProperties aufrufen und dann die Zuweisung deaktivieren und erneut ausführen, um die Puffergrößen zu ändern. Stellen Sie sicher, dass Sie alle ausstehenden Beispiele im alten Format übermitteln, bevor Sie die Puffergröße ändern.

Einige MPEG-2-Decoder verwenden diesen Mechanismus, um zwischen MPEG-1- und MPEG-2-Ausgabe zu wechseln oder wenn sich die Videogröße ändert.