Delen via


ReceiveConnection

[De functie die is gekoppeld aan deze pagina, DirectShow, is een verouderde functie. Het is vervangen door MediaPlayer, IMFMediaEngineen Audio/Video Capture in Media Foundation. Deze functies zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken MediaPlayer, IMFMediaEngine en Audio/Video Capture in Media Foundation in plaats van DirectShow, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]

Met dit mechanisme kan een uitvoerpin een indelingswijziging naar de downstreampeering voorstellen wanneer voor de nieuwe indeling een grotere buffer is vereist. De uitvoerpin doet het volgende:

  1. Oproepen IPin::ReceiveConnection op de downstreaminvoerpin.
  2. Als ReceiveConnection slaagt, roept u IMemInputPin::NotifyAllocator aan op de invoerpin.

Bovendien moet de uitvoerpin mogelijk IMemAllocator::SetProperties aanroepen en vervolgens de toewijzing van de allocator ongedaan maken en opnieuw toewijzen om buffergrootten te wijzigen. Zorg ervoor dat u alle in behandeling zijnde voorbeelden in de oude indeling levert voordat u de buffergrootte wijzigt.

Sommige MPEG-2-decoders gebruiken dit mechanisme om te schakelen tussen MPEG-1- en MPEG-2-uitvoer of als de videogrootte verandert.