Condividi tramite


Orologi AVStream

I filtri AVStream supportano gli orologi sui pin.

Per indicare che un pin AVStream espone un orologio, impostare KSPIN_FLAG_IMPLEMENT_CLOCK nel membro Flags del primo KSPIN_DESCRIPTOR_EX nel membro PinDescriptors di KSFILTER_DESCRIPTOR.

Fornire anche un puntatore a una struttura KSCLOCK_DISPATCH in KSPIN_DISPATCH.

Per effettuare richieste di clock, usare i metodi definiti nell'interfaccia IKsReferenceClock . È possibile acquisire un'interfaccia IKsReferenceClock chiamando KsPinGetReferenceClockInterface. Il minidriver AVStream è responsabile del rilascio dell'interfaccia al termine.

Per ottenere i valori timer da inserire nel campo PresentationTime di KSSTREAM_HEADER, chiamare IKsReferenceClock::GetCorrelatedTime.

Si noti che l'orologio non viene mai visualizzato in GraphEdit, anche se l'orologio è stato selezionato.

Per verificare che l'orologio sia stato selezionato, verificare che le chiamate ai metodi IKsReferenceClock generino chiamate alle routine dispatch specificate in KSCLOCK_DISPATCH.

Il gestore dei grafici filtro seleziona un orologio quando un grafico passa allo stato di pausa. A qualsiasi filtro che è un'origine push, ad esempio un filtro di acquisizione, viene assegnata la preferenza come provider di clock.