Inserimento di fotogrammi
Per impostazione predefinita in AVStream, un richiedente acquisisce fotogrammi vuoti da un allocatore e li inserisce in una coda. Il minidriver riempie quindi i fotogrammi tramite l'elaborazione incentrata sui pin o l'elaborazione incentrata sui filtri. I fotogrammi si spostano attraverso un trasporto all'oggetto successivo nel circuito, completando il circuito e restituendo al richiedente. AVStream riutilizza quindi i fotogrammi.
I minidriver possono eseguire l'override di questo comportamento predefinito usando la modalità di inserimento. In modalità di inserimento, il minidriver è responsabile dell'inserimento dei fotogrammi nel circuito. I frame si propagano intorno al circuito nel modo predefinito. Quando i frame tornano all'oggetto AVStream in cui sono stati avviati, AVStream chiama una routine AVStrMiniFrameReturn fornita da minidriver.
In questa routine, il minidriver potrebbe ad esempio deallocare il fotogramma, completare il lavoro in sospeso sulla restituzione del fotogramma o ricaricare e reinserire il frame.
Per impostare la modalità di inserimento, il minidriver chiama KsPinRegisterFrameReturnCallback e fornisce un puntatore alla routine AVStrMiniFrameReturn.
Non chiamare KsPinRegisterFrameReturnCallback a meno che il filtro non sia nello stato di arresto.
Per inserire fotogrammi nel circuito, chiamare KsPinSubmitFrame o KsPinSubmitFrameMdl.
Il diagramma seguente mostra un set di filtri AVStream composto da un filtro di origine, un filtro di trasformazione insostituibile e un filtro di rendering con l'origine che inserisce fotogrammi.