Freigeben über


PERFINFO_DSHOW_STREAMTRACE-Struktur

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die PERFINFO_DSHOW_STREAMTRACE -Struktur enthält Daten für ein DirectShow-Ablaufverfolgungsereignis vom Typ GUID_STREAMTRACE.

Syntax

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

Member

id

Ereignisbezeichner. Siehe Hinweise.

reserved

Reserviert. Auf NULL festlegen.

dshowClock

Streamen Sie die Zeit für dieses Ereignis in 100 Nanosekundeneinheiten. Dieser Wert ist optional und kann null sein.

data

Optionale Ereignisdaten, die aus vier ULONGLONG-Werten bestehen. Die Bedeutung dieser Daten hängt vom Ereignisbezeichner ab.

Bemerkungen

Die folgenden Ereignisbezeichner sind definiert.

Ereignisbezeichner Beschreibung
PERFINFO_STREAMTRACE_MPEG2DEMUX_PTS_TRANSLATION Wird protokolliert, wenn der MPEG-2-Demultiplexer-Filter einen Präsentationszeitstempel (Presentation Time Stamp, PTS) in die Streamzeit konvertiert.
  • data[0]: Konvertierte Startzeit.
  • data[1]: Konvertierte Stoppzeit.
  • data[2]. Streambezeichner für den Eingabenadel.
  • data[3]: PTS, der konvertiert wurde.
PERFINFO_STREAMTRACE_MPEG2DEMUX_SAMPLE_RECEIVE Wird protokolliert, wenn MPEG-2 Demultiplexer ein Beispiel empfängt.
PERFINFO_STREAMTRACE_VMR_BEGIN_ADVISE Wird protokolliert, wenn die VMR ein Beispiel für das Rendern plant, unmittelbar bevor die VMR IReferenceClock::AdviseTime aufruft.
  • data[0]: Referenzzeit zu Beginn des Streamings, die der Streamzeit 0 entspricht.
PERFINFO_STREAMTRACE_VMR_BEGIN_DECODE Wird protokolliert, wenn die VMR mit einem Decodierungsvorgang beginnt, d. h. wenn der Decoder IAMVideoAccelerator::BeginFrame aufruft. Keine Ereignisdaten.
PERFINFO_STREAMTRACE_VMR_BEGIN_DEINTERLACE Wird protokolliert, wenn die VMR mit einem Deinterlacing- oder Videokompositierungsvorgang beginnt. Keine Ereignisdaten.
PERFINFO_STREAMTRACE_VMR_DROPPED_FRAME Protokolliert, wenn die VMR einen Frame löscht. beispielsweise, wenn ein Beispiel verspätet war.
  • data[0]: Startzeit des Beispiels.
  • data[1]: Beispielendzeit.
PERFINFO_STREAMTRACE_VMR_END_ADVISE Protokolliert, wenn die VMR von der Referenzuhr eine Empfehlungsbenachrichtigung erhält. Keine Ereignisdaten.
PERFINFO_STREAMTRACE_VMR_END_DECODE Wird protokolliert, wenn die VMR einen Decodierungsvorgang beendet, d. h. wenn der Decoder IAMVideoAccelerator::EndFrame aufruft. Keine Ereignisdaten.
PERFINFO_STREAMTRACE_VMR_END_DEINTERLACE Wird protokolliert, wenn die VMR einen Deinterlacing- oder Videokompositierungsvorgang abgeschlossen hat. Keine Ereignisdaten.
PERFINFO_STREAMTRACE_VMR_RECEIVE Wird protokolliert, wenn die VMR ein neues Beispiel empfängt. Keine Ereignisdaten.
PERFINFO_STREAMTRACE_VMR_RENDER_TIME Wird protokolliert, wenn die VMR das Rendern eines Frames abgeschlossen hat.
  • data[0]: Zeit, die zum Rendern dieses Frames benötigt wurde.
  • data[1]: Durchschnittliche Ausführung der Framerenderingzeiten.

 

Um dieses Ereignis aus einem DirectShow-Filter zu protokollieren, verwenden Sie die funktion PERFLOG_STREAMTRACE , die in der Headerdatei Dxmperf.h definiert ist. Dieser Header ist in den DirectShow-Basisklassen enthalten.

Anforderungen

Anforderung Wert
Header
Perfstruct.h

Siehe auch

DirectShow-Strukturen

Ereignisablaufverfolgung in DirectShow

Ablaufverfolgungsereignis-GUIDs