Compartir a través de


estructura de PERFINFO_DSHOW_STREAMTRACE

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

La PERFINFO_DSHOW_STREAMTRACE estructura contiene datos para un evento de seguimiento directShow de tipo GUID_STREAMTRACE.

Sintaxis

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

Miembros

id

Identificador de evento. Vea la sección Comentarios.

reserved

Reservado. Establecer en cero.

dshowClock

Tiempo de transmisión de este evento, en unidades de 100 nanosegundos. Este valor es opcional y puede ser cero.

data

Datos de eventos opcionales que constan de cuatro valores de ULONGLONG . El significado de estos datos depende del identificador de evento.

Observaciones

Se definen los siguientes identificadores de evento.

Identificador de evento Descripción
PERFINFO_STREAMTRACE_MPEG2DEMUX_PTS_TRANSLATION Se registra cuando el filtro Demultiplexer MPEG-2 convierte una marca de tiempo de presentación (PTS) en tiempo de transmisión.
  • data[0]: Hora de inicio convertida.
  • data[1]: tiempo de detención convertido.
  • data[2]. Identificador de flujo para el pin de entrada.
  • data[3]: PTS que se convirtió.
PERFINFO_STREAMTRACE_MPEG2DEMUX_SAMPLE_RECEIVE Se registra cuando MPEG-2 Demultiplexer recibe una muestra.
PERFINFO_STREAMTRACE_VMR_BEGIN_ADVISE Se registra cuando VMR programa un ejemplo para la representación, inmediatamente antes de que VMR llame a IReferenceClock::AdviseTime.
  • data[0]: hora de referencia en la que se inició el streaming, que corresponde al tiempo de secuencia cero.
PERFINFO_STREAMTRACE_VMR_BEGIN_DECODE Se registra cuando el VMR inicia una operación de descodificación, es decir, cuando el descodificador llama a IAMVideoAccelerator::BeginFrame. Sin datos del evento.
PERFINFO_STREAMTRACE_VMR_BEGIN_DEINTERLACE Se registra cuando VMR inicia una operación de desinterlacación o de redacción de vídeo. Sin datos del evento.
PERFINFO_STREAMTRACE_VMR_DROPPED_FRAME Se registra cuando el VMR quita un marco; por ejemplo, si un ejemplo estaba tarde.
  • data[0]: Hora de inicio de ejemplo.
  • data[1]: Hora de finalización de ejemplo.
PERFINFO_STREAMTRACE_VMR_END_ADVISE Se registra cuando VMR recibe una notificación de aviso del reloj de referencia. Sin datos del evento.
PERFINFO_STREAMTRACE_VMR_END_DECODE Se registra cuando VMR finaliza una operación de descodificación, es decir, cuando el descodificador llama a IAMVideoAccelerator::EndFrame. Sin datos del evento.
PERFINFO_STREAMTRACE_VMR_END_DEINTERLACE Se registra cuando VMR completa una operación de desinterlacación o de redacción de vídeo. Sin datos del evento.
PERFINFO_STREAMTRACE_VMR_RECEIVE Se registra cuando VMR recibe un nuevo ejemplo. Sin datos del evento.
PERFINFO_STREAMTRACE_VMR_RENDER_TIME Se registra cuando VMR termina de representar un marco.
  • data[0]: tiempo que tardó en representar este fotograma.
  • data[1]: Promedio de ejecución de tiempos de representación de fotogramas.

 

Para registrar este evento desde un filtro DirectShow, use la función PERFLOG_STREAMTRACE , que se define en el archivo de encabezado Dxmperf.h. Este encabezado se incluye en las clases base directShow.

Requisitos

Requisito Value
Encabezado
Perfstruct.h

Consulte también

Estructuras directShow

Seguimiento de eventos en DirectShow

GUID de eventos de seguimiento