Relojes AVStream

Los filtros AVStream admiten relojes en patillas.

Para indicar que un pin de AVStream expone un reloj, establezca KSPIN_FLAG_IMPLEMENT_CLOCK en el miembro Flags del primer KSPIN_DESCRIPTOR_EX del miembro PinDescriptors de KSFILTER_DESCRIPTOR.

Proporcione también un puntero a una estructura de KSCLOCK_DISPATCH en KSPIN_DISPATCH.

Para realizar solicitudes de reloj, use los métodos definidos en la interfaz IKsReferenceClock . Puede adquirir una interfaz IKsReferenceClock llamando a KsPinGetReferenceClockInterface. El minidriver AVStream es responsable de liberar la interfaz cuando termine.

Para obtener los valores del temporizador que se van a colocar en el campo PresentationTime de KSSTREAM_HEADER, llame a IKsReferenceClock::GetCorrelatedTime.

Tenga en cuenta que el reloj nunca aparece en GraphEdit, incluso si se ha seleccionado el reloj.

Para comprobar que se ha seleccionado el reloj, compruebe que las llamadas a los métodos IKsReferenceClock generan llamadas para enviar rutinas especificadas en KSCLOCK_DISPATCH.

El administrador de gráficos de filtros selecciona un reloj cuando un gráfico pasa al estado de pausa. Cualquier filtro que sea un origen de inserción, por ejemplo, un filtro de captura, se da preferencia como proveedor de relojes.