PERFINFO_DSHOW_STREAMTRACE structure

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si 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.]

La PERFINFO_DSHOW_STREAMTRACE structure contient les données d’un événement de trace DirectShow de type GUID_STREAMTRACE.

Syntaxe

typedef struct _PERFINFO_DSHOW_STREAMTRACE {
  ULONG     id;
  ULONG     reserved;
  ULONGLONG dshowClock;
  ULONGLONG data[4];
} PERFINFO_DSHOW_STREAMTRACE, *PPERFINFO_DSHOW_STREAMTRACE;

Membres

id

Identificateur d’événement. Consultez la section Notes.

reserved

Réservé. Définit la valeur zéro.

dshowClock

Temps de diffusion pour cet événement, en unités de 100 nanosecondes. Cette valeur est facultative et peut être égale à zéro.

data

Données d’événement facultatives composées de quatre valeurs ULONGLONG . La signification de ces données dépend de l’identificateur d’événement.

Notes

Les identificateurs d’événement suivants sont définis.

Identificateur d’événement Description
PERFINFO_STREAMTRACE_MPEG2DEMUX_PTS_TRANSLATION Journalisé lorsque le filtre demultiplexeur MPEG-2 convertit un horodatage de présentation (PTS) en heure de diffusion.
  • data[0] : heure de début convertie.
  • data[1] : heure d’arrêt convertie.
  • data[2]. Identificateur de flux pour la broche d’entrée.
  • data[3] : PTS qui a été converti.
PERFINFO_STREAMTRACE_MPEG2DEMUX_SAMPLE_RECEIVE Journalisé lorsque mpeg-2 Demultiplexer reçoit un exemple.
PERFINFO_STREAMTRACE_VMR_BEGIN_ADVISE Journalisé lorsque le VMR planifie un exemple pour le rendu, immédiatement avant que le VMR appelle IReferenceClock::AdviseTime.
  • data[0] : heure de référence au début de la diffusion en continu, qui correspond à l’heure de flux zéro.
PERFINFO_STREAMTRACE_VMR_BEGIN_DECODE Journalisé lorsque le VMR commence une opération de décodage, c’est-à-dire lorsque le décodeur appelle IAMVideoAccelerator::BeginFrame. Aucune donnée d'événement.
PERFINFO_STREAMTRACE_VMR_BEGIN_DEINTERLACE Journalisé lorsque le VMR commence une opération de désinterlacation ou de composition vidéo. Aucune donnée d'événement.
PERFINFO_STREAMTRACE_VMR_DROPPED_FRAME Journalisé lorsque le VMR supprime une trame ; par exemple, si un échantillon était en retard.
  • data[0] : exemple d’heure de début.
  • data[1] : exemple d’heure de fin.
PERFINFO_STREAMTRACE_VMR_END_ADVISE Journalisé lorsque le VMR reçoit une notification d’avertissement de l’horloge de référence. Aucune donnée d'événement.
PERFINFO_STREAMTRACE_VMR_END_DECODE Journalisé lorsque le VMR met fin à une opération de décodage, c’est-à-dire lorsque le décodeur appelle IAMVideoAccelerator::EndFrame. Aucune donnée d'événement.
PERFINFO_STREAMTRACE_VMR_END_DEINTERLACE Journalisé lorsque le VMR effectue une opération de désinterlacation ou de composition vidéo. Aucune donnée d'événement.
PERFINFO_STREAMTRACE_VMR_RECEIVE Journalisé lorsque le VMR reçoit un nouvel exemple. Aucune donnée d'événement.
PERFINFO_STREAMTRACE_VMR_RENDER_TIME Journalisé lorsque le VMR termine le rendu d’un frame.
  • data[0] : temps nécessaire au rendu de ce frame.
  • data[1] : moyenne en cours d’exécution des temps de rendu d’images.

 

Pour enregistrer cet événement à partir d’un filtre DirectShow, utilisez la fonction PERFLOG_STREAMTRACE , qui est définie dans le fichier d’en-tête Dxmperf.h. Cet en-tête est inclus dans les classes de base DirectShow.

Configuration requise

Condition requise Valeur
En-tête
Perfstruct.h

Voir aussi

DirectShow Structures

Suivi d’événements dans DirectShow

GUID d’événement de trace