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 di 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 di invio specificate in KSCLOCK_DISPATCH.

Gestione grafici filtro seleziona un orologio quando un grafico passa allo stato di sospensione. Qualsiasi filtro che è un'origine push, ad esempio un filtro di acquisizione, viene data preferenza come provider di clock.