CBaseVideoRenderer クラス

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

cbasevideorenderer クラス階層

CBaseVideoRenderer基本クラスは、ビデオ レンダラー フィルターを構築するために使用されます。

プロテクト データ メンバー 説明
m_bDrawLateFrames フレームが削除されていないことを通知するフラグ。 デバッグのみ。 これにより同期が破棄されます。
m_bSupplierHandlingQuality TRUE は 、品質管理メッセージが処理されていることを示します。 これにより、レンダラーはフレーム自体をドロップするまでできるだけ遅くまで待機し、サプライヤーがフレームを削除した後、非常に早い段階で次のフレームを表示することを認識できます。
m_cFramesDrawn ストリーミング開始後に描画されたフレームの合計数。
m_cFramesDropped ストリーミングの開始後にレンダラーで削除された累積フレーム。 フレームは、レンダラーで認識されずにアップストリームにドロップすることもできます。
m_idDecision ShouldDrawSampleNow の決定コードのMSR_id。
m_idDuration フレームの期間をMSR_idします。
m_idFrameAccuracy フレームが遅延した時間 (ミリ秒単位) のパフォーマンス ログ識別子。
m_idFrameAvg 同期と品質管理に使用される平均フレーム時間のパフォーマンス ログ識別子。
m_idQualityRate 要求された品質レートのMSR_id。
m_idQualityTime 要求された品質時間のMSR_id。
m_idRenderAvg 記録された平均レンダラー時間のパフォーマンス ログ識別子。
m_idSchLateTime スケジュール時のフレームの遅延をMSR_idします。
m_idSendQuality 通知のタイミングを設定するためのMSR_id (未使用)。
m_idTimeStamp フレーム タイム スタンプのMSR_id。
m_idWait 記録された待機時間 (未使用) のパフォーマンス ログ識別子。
m_idWaitReal 真の待機時間のパフォーマンス ログ識別子。
m_iSumFrameTime フレーム間時間の合計。プロパティ ページに必要です。
m_iSumSqAcc プロパティ ページに必要な精度の平方和 (ミリ秒単位)。
m_iSumSqFrameTime フレーム間時間の 2 乗の合計。プロパティ ページに必要です。
m_iTotAcc プロパティ ページに必要な精度の合計 (ミリ秒単位)。
m_nNormal スケジュールされた時刻に描画される連続するフレームの数。 負の数は、レンダラーによってフレームが削除されたばかりであることを示します。
m_trDuration 最後のフレームの期間 (開始時刻と終了時刻の差)。
m_trEarliness フレームがドロップされたばかりの場合に、フレームの再生が許可される早い時間。
m_trFrame フレーム間の最も最近記録された時間。 統計測定で使用されます。
m_trFrameAvg 基準時間単位の平均フレーム間時間。
m_trLastDraw 前のフレームの時刻。 フレーム間時間参照に使用されます。
m_trLate 現在のフレームが遅延した時間。 統計測定で使用されます。
m_trRenderAvg ビット ブロック転送の実行にフレームがかかっている時間。
m_trRenderLast 最後のフレーム ビット ブロック転送の時間。
m_trRenderStart ビット ブロック転送を開始した時刻。 m_trRenderLastを取得するために使用 されます
m_trThrottle 各フレームをレンダリングした後に挿入する期間。通常、オーディオ品質が向上し、これを可能にするためにビデオのパフォーマンスを低下させる必要がある場合に使用されます。
m_trWaitAvg 参照時間単位の平均待機時間。
m_tStreamingStart プロパティ ページの統計情報に使用されます。 現在ストリーミングしていない場合は、現在のストリーミング プロセスまたは前のストリーミング プロセスの開始時刻を表します。
メンバー関数 説明
CBaseVideoRenderer CBaseVideoRenderer オブジェクトを構築します。
GetStdDev フレームごとの統計情報について、各フレームの期限と実際にレンダリングされる時間の間の標準偏差をミリ秒単位で推定します。
PreparePerformanceData 現在のフレームの m_trLatem_trFrame 値を設定します。
ThrottleWait 各フレームの後に待機期間を挿入します。
オーバーライド可能なメンバー関数 説明
JoinFilterGraph フィルター グラフからフィルターが削除されたときに、 EC_WINDOW_DESTROYED イベントを送信します。
OnDirectRender 同期と品質管理を制御するタイミング情報を収集します。
OnRenderEnd 品質管理と同期に関する情報を記録します。
OnRenderStart 品質管理と同期に関する情報を記録します。
OnStartStreaming ストリーミングを制御するすべての時間をリセットします。
OnStopStreaming ストリーミングの最後に呼び出され、プロパティ ページ レポートの時刻を修正します。
OnWaitEnd 待機時間が終了したときに呼び出されます。 パフォーマンス ログのみ。
OnWaitStart 更新時間は待機に費やされ、待機していません。 パフォーマンス ログのみ。
RecordFrameLateness レンダリングが発生したタイミングを記録し、プロパティ ページの統計情報を収集します。
ResetStreamingTimes ストリーミングを制御するすべての時間をリセットします。
ScheduleSample クロックを含むアドバイズ リンクを設定します。
SendQuality 品質に関してサプライヤーが何をすべきかを示す品質メッセージを送信します。
ShouldDrawSampleNow クロックにタイマー アドバイス リンクを設定せずに、ビデオが期限切れになったときにビデオを描画する必要があるかどうかを決定します。
IQualProp メソッド 説明
get_Avg FrameRate ストリーミングが 100 秒あたりのフレーム単位で開始されてからの平均フレーム レートを取得します。
get_AvgSyncOffset 各フレームの期限から実際にレンダリングされるまでの時間の平均 (ミリ秒単位) を取得します。 これは、ストリーミング開始以降のすべてのフレームに適用されます。
get_DevSyncOffset 各フレームの期限から、ストリーミング開始後にすべてのフレームに対して実際にレンダリングされるまでの時間の標準偏差をミリ秒単位で取得します。
get_FramesDrawn ストリーミング開始後に描画されたフレーム数を取得します。
get_FramesDroppedInRenderer レンダラーによって削除されたフレームの数を取得します。 フレームはアップストリームにドロップすることもできます。
get_Jitter 各フレームから次のフレームまでの時間の標準偏差をミリ秒単位で取得します。 これは、ストリーミング開始以降のすべてのフレームに適用されます。
IQualityControl メソッド 説明
通知 品質の変更が要求されたことを受信者に通知します。
SetSink 品質メッセージを受信する IQualityControl オブジェクトを設定します。