Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les filtres AVStream prennent en charge les horloges sur les broches.
Pour indiquer qu’une broche AVStream expose une horloge, définissez KSPIN_FLAG_IMPLEMENT_CLOCK dans le membre Flags du premier KSPIN_DESCRIPTOR_EX dans le membre PinDescriptors de KSFILTER_DESCRIPTOR.
Fournissez également un pointeur vers une structure de KSCLOCK_DISPATCH dans KSPIN_DISPATCH.
Pour effectuer des requêtes d’horloge, utilisez les méthodes définies sur l’interface IKsReferenceClock . Vous pouvez acquérir une interface IKsReferenceClock en appelant KsPinGetReferenceClockInterface. Le minidriver AVStream est chargé de libérer l’interface une fois terminé.
Pour obtenir les valeurs du minuteur à placer dans le champ PresentationTime de KSSTREAM_HEADER, appelez IKsReferenceClock ::GetCorrelatedTime.
Notez que l’horloge n’apparaît jamais dans GraphEdit, même si l’horloge a été sélectionnée.
Pour vérifier que l’horloge a été sélectionnée, vérifiez que les appels aux méthodes IKsReferenceClock génèrent des appels pour distribuer des routines spécifiées dans KSCLOCK_DISPATCH.
Le gestionnaire de graphiques de filtre sélectionne une horloge lorsqu’un graphique passe à l’état de pause. Tout filtre qui est une source push, par exemple un filtre de capture, reçoit une préférence en tant que fournisseur de l’horloge.