Horloges AVStream
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 KSCLOCK_DISPATCH dans KSPIN_DISPATCH.
Pour effectuer des demandes 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 des 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 les routines spécifiées dans KSCLOCK_DISPATCH.
Le gestionnaire de graphe de filtre sélectionne une horloge lorsqu’un graphique passe à l’état de pause. Tout filtre qui est une source push, pour instance un filtre de capture, est privilégié en tant que fournisseur d’horloge.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour