Sdílet prostřednictvím


Režim přehrávání bez vykreslování VMR (vlastní Allocator-Presenters)

[Funkce přidružená k této stránce DirectShow je starší funkce. Byla nahrazena MediaPlayer, MMFMediaEnginea Audio/Video Capture v Media Foundation. Tyto funkce jsou optimalizované pro Windows 10 a Windows 11. Microsoft důrazně doporučuje, aby nový kód používal MediaPlayer, MMFMediaEngine a Audio/Video Capture v Media Foundation místo DirectShow, pokud je to možné. Microsoft navrhuje, aby se stávající kód, který používá starší rozhraní API, přepsal, aby se nová rozhraní API používala, pokud je to možné.]

V režimu přehrávání bez vykreslení neprovádí vykreslování VMR. Místo toho používá vlastní alokátor-prezentující poskytnutý aplikací. Tento režim je užitečný pro hry a další typy aplikací, které mají sofistikované video efekty. Režim přehrávání bez vykreslení umožňuje aplikacím vytvářet a řídit vlastní plochu DirectDraw (VMR-7) nebo Direct3D surface (VMR-9) a přistupovat k bitům videa v době prezentace.

V režimu bez vykreslení nenačítá VMR-9 komponentu mixéru automaticky.

V režimu přehrávání bez vykreslení aplikace provede následující úlohy:

  • Spravuje okno přehrávání.
  • Přidělí Objekt DirectDraw nebo Direct3D a konečnou vyrovnávací paměť rámce.
  • Upozorní zbytek systému přehrávání použitého objektu.
  • Zobrazí vyrovnávací paměť rámce ve správný čas.
  • Zpracovává všechny změny režimu rozlišení, monitoruje změny a ztráty povrchu. Musí poradit zbytek systému přehrávání těchto událostí.

VMR provede následující kroky:

  • Zpracovává veškeré časování související s prezentováním rámečku videa.
  • Poskytuje informace o řízení kvality pro aplikaci a zbytek systému přehrávání.
  • Představuje konzistentní rozhraní pro upstreamové komponenty systému přehrávání, které si nejsou vědomi, že aplikace poskytuje přidělení vyrovnávací paměti rámce a provádění vykreslování.
  • Poskytuje jakékoli kombinování video streamů, které mohou být vyžadovány před vykreslováním.

Protože deinterlacing provádí mixér, alokátor-prezentující vždy obdržel deinterlaced rámce. Další informace naleznete v tématu Nastavení deinterlace Předvolby.

Další informace o poskytování vlastního alokátor-prezentujícího najdete v následujících tématech: