Bagikan melalui


struktur PERFINFO_DSHOW_STREAMTRACE

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine dan Audio/Video Capture di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Struktur PERFINFO_DSHOW_STREAMTRACE berisi data untuk peristiwa pelacakan DirectShow jenis GUID_STREAMTRACE.

Sintaks

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

Anggota

id

Pengidentifikasi peristiwa. Lihat Keterangan.

Dipesan

Dicadangkan. Atur ke nol.

dshowClock

Waktu streaming untuk peristiwa ini, dalam 100 unit nanodetik. Nilai ini bersifat opsional dan bisa nol.

data

Data peristiwa opsional yang terdiri dari empat nilai ULONGLONG . Arti data ini tergantung pada pengidentifikasi peristiwa.

Keterangan

Pengidentifikasi peristiwa berikut ditentukan.

Pengidentifikasi peristiwa Deskripsi
PERFINFO_STREAMTRACE_MPEG2DEMUX_PTS_TRANSLATION Dicatat ketika filter Demultiplexer MPEG-2 mengonversi stempel waktu presentasi (PTS) menjadi waktu streaming.
  • data[0]: Waktu mulai yang dikonversi.
  • data[1]: Waktu berhenti yang dikonversi.
  • data[2]. Pengidentifikasi aliran untuk pin input.
  • data[3]: PTS yang dikonversi.
PERFINFO_STREAMTRACE_MPEG2DEMUX_SAMPLE_RECEIVE Dicatat ketika MPEG-2 Demultiplexer menerima sampel.
PERFINFO_STREAMTRACE_VMR_BEGIN_ADVISE Dicatat ketika VMR menjadwalkan sampel untuk penyajian, segera sebelum VMR memanggil IReferenceClock::AdviseTime.
  • data[0]: Waktu referensi saat streaming dimulai, yang sesuai dengan nol waktu streaming.
PERFINFO_STREAMTRACE_VMR_BEGIN_DECODE Dicatat ketika VMR memulai operasi pendekodean—yaitu, ketika dekoder memanggil IAMVideoAccelerator::BeginFrame. Tidak ada data peristiwa.
PERFINFO_STREAMTRACE_VMR_BEGIN_DEINTERLACE Dicatat ketika VMR memulai operasi deinterlacing atau video compositing. Tidak ada data peristiwa.
PERFINFO_STREAMTRACE_VMR_DROPPED_FRAME Dicatat ketika VMR menjatuhkan bingkai; misalnya, jika sampel terlambat.
  • data[0]: Contoh waktu mulai.
  • data[1]: Sampel waktu akhir.
PERFINFO_STREAMTRACE_VMR_END_ADVISE Dicatat ketika VMR menerima pemberitahuan saran dari jam referensi. Tidak ada data peristiwa.
PERFINFO_STREAMTRACE_VMR_END_DECODE Dicatat ketika VMR mengakhiri operasi pendekodean—yaitu, ketika dekoder memanggil IAMVideoAccelerator::EndFrame. Tidak ada data peristiwa.
PERFINFO_STREAMTRACE_VMR_END_DEINTERLACE Dicatat ketika VMR menyelesaikan operasi deinterlacing atau video compositing. Tidak ada data peristiwa.
PERFINFO_STREAMTRACE_VMR_RECEIVE Dicatat ketika VMR menerima sampel baru. Tidak ada data peristiwa.
PERFINFO_STREAMTRACE_VMR_RENDER_TIME Dicatat ketika VMR selesai merender bingkai.
  • data[0]: Waktu yang diperlukan untuk merender bingkai ini.
  • data[1]: Menjalankan rata-rata waktu penyajian bingkai.

 

Untuk mencatat peristiwa ini dari filter DirectShow, gunakan fungsi PERFLOG_STREAMTRACE , yang ditentukan dalam file header Dxmperf.h. Header ini disertakan dalam kelas dasar DirectShow.

Persyaratan

Persyaratan Nilai
Header
Perfstruct.h

Lihat juga

Struktur DirectShow

Pelacakan Peristiwa di DirectShow

Melacak GUID Peristiwa