struttura PERFINFO_DSHOW_STREAMTRACE

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

La PERFINFO_DSHOW_STREAMTRACE struttura contiene dati per un evento di traccia DirectShow di tipo GUID_STREAMTRACE.

Sintassi

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

Members

id

Identificatore di evento. Vedere la sezione Osservazioni.

Riservati

Riservato. Imposta su zero.

dshowClock

Tempo di flusso per questo evento, in 100-nanosecondi. Questo valore è facoltativo e può essere zero.

data

Dati di evento facoltativi costituiti da quattro valori ULONGLONG . Il significato di questi dati dipende dall'identificatore di evento.

Commenti

Sono definiti gli identificatori di evento seguenti.

Identificatore di evento Descrizione
PERFINFO_STREAMTRACE_MPEG2DEMUX_PTS_TRANSLATION Registrato quando il filtro Demultiplexer MPEG-2 converte un timestamp di presentazione (PTS) in tempo di flusso.
  • data[0]: ora di inizio convertita.
  • data[1]: tempo di arresto convertito.
  • dati[2]. Identificatore di flusso per il pin di input.
  • data[3]: PTS convertito.
PERFINFO_STREAMTRACE_MPEG2DEMUX_SAMPLE_RECEIVE Registrato quando MPEG-2 Demultiplexer riceve un esempio.
PERFINFO_STREAMTRACE_VMR_BEGIN_ADVISE Registrato quando vmR pianifica un esempio per il rendering, immediatamente prima che vmR chiami IReferenceClock::AdviseTime.
  • data[0]: ora di riferimento all'inizio dello streaming, che corrisponde al tempo di flusso zero.
PERFINFO_STREAMTRACE_VMR_BEGIN_DECODE Registrato quando vmR inizia un'operazione di decodifica, ovvero quando il decodificatore chiama IAMVideoAccelerator::BeginFrame. Nessun dato dell'evento.
PERFINFO_STREAMTRACE_VMR_BEGIN_DEINTERLACE Registrato quando vmR inizia un'operazione di composizione deinterlacing o video. Nessun dato dell'evento.
PERFINFO_STREAMTRACE_VMR_DROPPED_FRAME Registrato quando vmR elimina un frame; ad esempio, se un esempio era in ritardo.
  • data[0]: ora di inizio di esempio.
  • data[1]: ora di fine di esempio.
PERFINFO_STREAMTRACE_VMR_END_ADVISE Registrato quando vmR riceve una notifica di avviso dall'orologio di riferimento. Nessun dato dell'evento.
PERFINFO_STREAMTRACE_VMR_END_DECODE Registrato quando vmR termina un'operazione di decodifica, ovvero quando il decodificatore chiama IAMVideoAccelerator::EndFrame. Nessun dato dell'evento.
PERFINFO_STREAMTRACE_VMR_END_DEINTERLACE Registrato quando vmR completa un'operazione di composizione deintering o video. Nessun dato dell'evento.
PERFINFO_STREAMTRACE_VMR_RECEIVE Registrato quando vmR riceve un nuovo esempio. Nessun dato dell'evento.
PERFINFO_STREAMTRACE_VMR_RENDER_TIME Registrato al termine del rendering di un frame da parte di VMR.
  • data[0]: tempo necessario per eseguire il rendering di questo frame.
  • dati[1]: Esecuzione media dei tempi di rendering dei fotogrammi.

 

Per registrare questo evento da un filtro DirectShow, usare la funzione PERFLOG_STREAMTRACE , definita nel file di intestazione Dxmperf.h. Questa intestazione è inclusa nelle classi di base DirectShow.

Requisiti

Requisito Valore
Intestazione
Perfstruct.h

Vedi anche

Strutture DirectShow

Traccia eventi in DirectShow

GUID evento di traccia