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 | プロパティ ページで必要な精度 (ミリ秒単位) の 2 乗の合計。 |
m_iSumSqFrameTime | フレーム間の時間の 2 乗の合計。プロパティ ページで必要になる。 |
m_iTotAcc | プロパティ ページで必要な精度 (ミリ秒単位) の合計。 |
m_nNormal | スケジュールされた時間に描画される連続するフレームの数。負の数は、フレームがレンダラによってドロップされたことを示す。 |
m_trDuration | 最後のフレームの時間幅 (開始タイムと終了タイムの差)。 |
m_trEarliness | フレームがドロップされた場合に、どれくらい早くフレームを再生できるか。 |
m_trFrame | 最後に記録されたフレーム間の時間。統計的測定で使われる。 |
m_trFrameAvg | の単位でのフレーム間の平均時間。 |
m_trLastDraw | 前のフレームの時間。フレーム間の時間の参照で使われる。 |
m_trLate | 現在のフレームが遅延する時間。統計的測定で使われる。 |
m_trRenderAvg | フレームがビットブロック転送を実行するためにかかる時間。 |
m_trRenderLast | 最後のフレームのビットブロック転送の時間。 |
m_trRenderLast | ビットブロック転送を開始する時間。m_trRenderLast を取得するために使われる。 |
m_trThrottle | 各フレームをレンダリングした後に挿入する時間。通常、オーディオの品質を向上させたときに使われ、これを行うためにビデオのパフォーマンスを低下させる必要がある。 |
m_trWaitAvg | 基準タイムの単位での平均待機時間。 |
m_tStreamingStart | プロパティ ページの統計で使われる。現在のストリーミング処理の開始タイム、または現在ストリーミングが行われていない場合は前のストリーミング処理の開始タイムを表す。 |
メンバ関数
CBaseVideoRenderer | CBaseVideoRenderer オブジェクトを作成する。 |
GetStdDev | フレームごとの統計として、各フレームの予定時間と実際にレンダリングされた時間との標準偏差を予測する。 |
PreparePerformanceData | 現在のフレームの m_trLate および m_trFrame の値を設定する。 |
ThrottleWait | 各フレームの後に待機時間を挿入する。 |
オーバーライド可能なメンバ関数
JoinFilterGraph | フィルタがフィルタ グラフから削除されたときに、EC_WINDOW_DESTROYED イベント通知を送信する。 |
OnDirectRender | 同期および品質コントロールを制御するタイミング情報を収集する。 |
OnRenderEnd | 品質コントロールおよび同期の情報を記録する。 |
OnRenderStart | 品質コントロールおよび同期の情報を記録する。 |
OnStartStreaming | ストリーミングを制御するすべての時間をリセットする。 |
OnStopStreaming | プロパティ ページのレポート用に時間を修正するために、ストリーミングの最後に呼び出される。 |
OnWaitEnd | 待機時間の終了時に呼び出される。パフォーマンス ログ専用。 |
OnWaitStart | 待機していた時間と待機していなかった時間を更新する。パフォーマンス ログ専用。 |
RecordFrameLateness | レンダリングがどの程度遅れずに行われたかを記録し、プロパティ ページの統計情報を収集する。 |
ResetStreamingTimes | ストリーミングを制御するすべての時間をリセットする。 |
ScheduleSample | クロックを使ってアドバイズ リンクを設定する。 |
SendQuality | サプライヤが品質に関して実行する処理を示す品質メッセージを送信する。 |
ShouldDrawSampleNow | クロックを使ってタイマのアドバイズ リンクを設定せずに、ビデオを予定どおりに描画するかどうかを判断する。 |
実装される IQualProp メソッド
get_AvgFrameRate | ストリーミングが開始された後の平均フレーム レートを、100 秒あたりのフレーム数単位で取得する。 |
get_AvgSyncOffset | 各フレームの予定時間と実際にレンダリングされた時間の間の平均時間をミリ秒単位で取得する。これは、ストリーミングが開始された後、すべてのフレームに適用される。 |
get_DevSyncOffset | ストリーミングが開始された後のすべてのフレームについて、各フレームの予定時間と実際にレンダリングされた時間の間のミリ秒単位の時間の標準偏差を取得する。 |
get_FramesDrawn | ストリーミングの開始後に描画されたフレーム数を取得する。 |
get_FramesDroppedInRenderer | レンダラによってドロップされたフレーム数を取得する。フレームはアップストリームでもドロップできる。 |
get_Jitter | 各フレームと次のフレームの間のミリ秒単位の時間について標準偏差を取得する。これは、ストリーミングが開始された後、すべてのフレームに適用される。 |
実装される IQualityControl メソッド
Notify | 品質の変更が要求されたことを受信者に通知する。 |
SetSink | 品質メッセージを受け取る IQualityControl オブジェクトを設定する。 |