Partager via


Heures d’horloge

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

DirectShow définit deux heures d’horloge associées : l’heure de référence et la durée du flux.

  • L’heure de référence est l’heure absolue retournée par l’horloge de référence. (Voir Horloges de référence.)
  • Le temps de flux est défini par rapport au moment où le graphe a commencé à s’exécuter pour la dernière fois.
    • Pendant l’exécution du graphe, le temps de flux est égal à la durée de référence moins l’heure de début.
    • Pendant que le graphique est suspendu, le temps de flux reste au moment du flux lorsqu’il a été suspendu.
    • Après une opération de recherche, le temps de flux est réinitialisé à zéro.
    • Lorsque le graphique est arrêté, l’heure du flux n’est pas définie.

Lorsqu’un exemple multimédia a un horodatage t, cela signifie que l’exemple doit être rendu au moment du flux t. Pour cette raison, le temps de diffusion est également appelé temps de présentation.

Lorsqu’une application appelle IMediaControl::Run pour exécuter le graphe de filtre, le Gestionnaire de graphe de filtre appelle IMediaFilter::Run sur chaque filtre. Pour compenser le peu de temps qu’il faut pour que les filtres commencent à s’exécuter, le Gestionnaire de graphes de filtre spécifie une heure de début légèrement à l’avenir.

Heure et horloges dans DirectShow

Horodatages