次の方法で共有


PERFINFO_DSHOW_STREAMTRACE構造体

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

構造体には PERFINFO_DSHOW_STREAMTRACE 、GUID_STREAMTRACE型の DirectShow トレース イベントのデータが含まれています。

構文

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

メンバー

id

イベント識別子。 「解説」を参照してください。

reserved

予約済み。 0 に設定します。

dshowClock

このイベントのストリーム時間 (100 ナノ秒単位)。 この値は省略可能であり、0 にすることができます。

data

4 つの ULONGLONG 値で構成されるオプションのイベント データ。 このデータの意味は、イベント識別子によって異なります。

解説

次のイベント識別子が定義されています。

イベント識別子 説明
PERFINFO_STREAMTRACE_MPEG2DEMUX_PTS_TRANSLATION MPEG-2 Demultiplexer フィルターがプレゼンテーション タイム スタンプ (PTS) をストリーム時間に変換するときにログに記録されます。
  • data[0]: 変換された開始時刻。
  • data[1]: 変換された停止時間。
  • data[2]. 入力ピンのストリーム識別子。
  • data[3]: 変換された PTS。
PERFINFO_STREAMTRACE_MPEG2DEMUX_SAMPLE_RECEIVE MPEG-2 Demultiplexer がサンプルを受信したときにログに記録されます。
PERFINFO_STREAMTRACE_VMR_BEGIN_ADVISE VMR が IReferenceClock::AdviseTime を呼び出す直前に、VMR がレンダリング用のサンプルをスケジュールしたときにログに記録されます。
  • data[0]: ストリーミングが開始されたときの参照時間。これはストリーム時間 0 に対応します。
PERFINFO_STREAMTRACE_VMR_BEGIN_DECODE VMR がデコード操作を開始したときにログに記録されます。つまり、デコーダーが IAMVideoAccelerator::BeginFrame を呼び出すときです。 イベント データはありません。
PERFINFO_STREAMTRACE_VMR_BEGIN_DEINTERLACE VMR がインターレース解除操作またはビデオ合成操作を開始したときにログに記録されます。 イベント データはありません。
PERFINFO_STREAMTRACE_VMR_DROPPED_FRAME VMR がフレームをドロップしたときにログに記録されます。たとえば、サンプルが遅延した場合などです。
  • data[0]: サンプルの開始時刻。
  • data[1]: サンプルの終了時刻。
PERFINFO_STREAMTRACE_VMR_END_ADVISE VMR が参照クロックからアドバイス通知を受信したときにログに記録されます。 イベント データはありません。
PERFINFO_STREAMTRACE_VMR_END_DECODE VMR がデコード操作を終了したときにログに記録されます。つまり、デコーダーが IAMVideoAccelerator::EndFrame を呼び出すときです。 イベント データはありません。
PERFINFO_STREAMTRACE_VMR_END_DEINTERLACE VMR がインターレース解除操作またはビデオ合成操作を完了したときにログに記録されます。 イベント データはありません。
PERFINFO_STREAMTRACE_VMR_RECEIVE VMR が新しいサンプルを受信したときにログに記録されます。 イベント データはありません。
PERFINFO_STREAMTRACE_VMR_RENDER_TIME VMR がフレームのレンダリングを完了したときにログに記録されます。
  • data[0]: このフレームのレンダリングにかかった時間。
  • data[1]: フレーム レンダリング時間の平均を実行します。

 

DirectShow フィルターからこのイベントをログに記録するには、ヘッダー ファイル Dxmperf.h で定義されている PERFLOG_STREAMTRACE 関数を使用します。 このヘッダーは、DirectShow 基本クラスに含まれています。

要件

要件
ヘッダー
Perfstruct.h

関連項目

DirectShow 構造体

DirectShow でのイベント トレース

トレース イベント GUID