Megosztás a következőn keresztül:


Dinamikus formázási módosítások

[A laphoz társított funkció, DirectShowegy régi funkció. MediaPlayer, IMFMediaEngineés Audio/Video Capture a Media Foundation. Ezek a funkciók Windows 10-hez és Windows 11-hez lettek optimalizálva. A Microsoft határozottan javasolja, hogy az új kód MediaPlayer, IMFMediaEngine és Audio/Video Capture eszközt használja a Media FoundationDirectShowhelyett, ha lehetséges. A Microsoft javasolja, hogy az örökölt API-kat használó meglévő kódot át kell írni az új API-k használatára, ha lehetséges.]

Amikor két szűrő csatlakozik, megállapodnak egy médiatípusban, amely leírja a felsőbb rétegbeli szűrő által szolgáltatandó adatok formátumát. A legtöbb esetben az adathordozó típusa a kapcsolat időtartamára van rögzítve. A DirectShow azonban korlátozott támogatást nyújt a szűrők számára a médiatípus módosításához. Amikor egy szűrő átállítja a médiatípusokat, dinamikus formátumváltozásnak nevezzük. Ha DirectShow-szűrőt ír, tisztában kell lennie a dinamikus formátumváltozások mechanizmusával. Még ha a szűrő nem is támogatja az ilyen módosításokat, helyesen kell válaszolnia, ha egy másik szűrő új formátumot kér.

A DirectShow számos különböző mechanizmust határoz meg a dinamikus formátumváltozásokhoz a szűrőgráf állapotától és a szükséges változás típusától függően.

  • Ha a gráf le van állítva, a csapok újracsatlakoztathatják és újratárgyahatják a médiatípust. További információ: Tűk újracsatlakoztatása.
  • Egyes szűrők akkor is újra csatlakoztathatják a tűket, ha a gráf aktív (fut vagy szüneteltetve van). Erről a mechanizmusról további információt Dinamikus újracsatlakozáscímű témakörben talál.

Ellenkező esetben, ha a gráf aktív, de a szóban forgó szűrők nem támogatják a dinamikus tűk újracsatlakoztatását, a formátum módosításának három lehetséges mechanizmusa van:

  • QueryAccept (Downstream) akkor használatos, ha egy kimeneti pin formátumváltást javasol az alsóbb rétegbeli társra, de csak akkor, ha az új formátum nem igényel nagyobb puffert.
  • QueryAccept (upstream) akkor használatos, ha egy bemeneti pin formátummódosítást javasol a felsőbb rétegbeli társra. Az új formátum lehet azonos méretű, vagy nagyobb is lehet.
  • ReceiveConnection akkor használatos, ha egy kimeneti pin formátummódosítást javasol az alsóbb rétegbeli társra, és az új formátum nagyobb puffert igényel.

A videoképkészítő formátumváltozásainak kezelése