Dela via


Söker

[Funktionen som är associerad med den här sidan, DirectShow, är en äldre funktion. Det har ersatts av MediaPlayer, IMFMediaEngineoch Audio / Video Capture i Media Foundation. Dessa funktioner har optimerats för Windows 10 och Windows 11. Microsoft rekommenderar starkt att ny kod använder MediaPlayer, IMFMediaEngine och Audio/Video Capture i Media Foundation i stället för DirectShow, när det är möjligt. Microsoft föreslår att befintlig kod som använder äldre API:er skrivs om för att använda de nya API:erna om möjligt.]

Filter stöder sökning via gränssnittet IMediaSeeking. Programmet frågar Filter Graph Manager efter IMediaSeeking och använder den för att utfärda sökkommandon. Filter Graph Manager distribuerar varje sökkommando till alla återgivningsfilter i diagrammet. Varje renderare skickar kommandot uppströms via utdatastiften för de överordnade filtren tills det når ett filter som kan köra sök. Vanligtvis utför ett källfilter eller parserfilter, till exempel AVI Splitter, sökåtgärden.

När ett filter utför en sökåtgärd rensas alla väntande data. Resultatet är att minimera svarstiden för sökkommandon, eftersom befintliga data rensas från diagrammet. Efter ett sökkommando återställs strömtiden till noll.

Följande diagram illustrerar händelsesekvensen.

händelsesekvens

Om ett parserfilter har fler än en pin-kod för utdata anger det vanligtvis att ett av dem accepterar sökkommandon. De andra stiften avvisar eller ignorerar eventuella sökkommandon som de får. På så sätt håller parsern alla sina strömmar synkroniserade. Alla utgångar bör dock implementera IMediaSeeking::GetCapabilities och IMediaSeeking::CheckCapabilities för att returnera filtrets sökfunktionaliteter. Detta säkerställer att Filter Graph Manager returnerar rätt värde till programmet.

Gränssnittet IMediaPosition har föråldrats för filter. Automation-klienter måste fortfarande använda det här gränssnittet i Filter Graph Manager eftersom IMediaSeeking- inte är Automation-kompatibel, men Filter Graph Manager översätter alla IMediaPosition--anrop till IMediaSeeking--anrop.

tömning

tid och klockor i DirectShow