Freigeben über


ReceiveConnection

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

Mit diesem Mechanismus kann eine Ausgabenadel eine Formatänderung an den nachgeschalteten Peer vorschlagen, wenn für das neue Format ein größerer Puffer erforderlich ist. Die Ausgabenadel führt die folgenden Aktionen aus:

  1. Ruft IPin::ReceiveConnection auf dem nachgeschalteten Eingabestift auf.
  2. Wenn ReceiveConnection erfolgreich ist, wird IMemInputPin::NotifyAllocator für den Eingabenadel aufgerufen.

Darüber hinaus muss der Ausgabepin möglicherweise IMemAllocator::SetProperties aufrufen und dann den Allocator außer Kraft setzen und erneut übermitteln, um Puffergrößen zu ändern. Stellen Sie sicher, dass sie alle ausstehenden Beispiele im alten Format bereitstellen, 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.