CBaseVideoRenderer 類別

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

cbasevideorenderer 類別階層

CBaseVideoRenderer 類用於建置視訊轉譯器篩選。

受保護的資料成員 Description
m_bDrawLateFrames 表示沒有要卸載畫面的旗標。 僅偵錯。 這會終結同步處理。
m_bSupplierHandlingQuality TRUE 表示正在處理品質控制訊息。 這可讓轉譯器知道要等到最晚才卸載框架本身,並在供應商卸載框架之後非常早地顯示下一個框架。
m_cFramesDrawn 串流開始後已繪製的畫面總數。
m_cFramesDropped 自串流啟動後,已在轉譯器中卸載的累計畫面格。 框架也可以卸載上游,而不需要轉譯器辨識它們。
m_idDecision MSR_id ShouldDrawSampleNow的決策程式碼。
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 True 等候時間的效能記錄識別碼。
m_iSumFrameTime 框架間時間的總和;屬性頁所需的 。
m_iSumSqAcc 屬性頁所需) 毫秒 (的平方總和。
m_iSumSqFrameTime 框架間時間平方的總和;屬性頁所需的 。
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 用於屬性頁統計資料。 表示目前串流進程的開始時間,如果沒有目前串流處理,則表示先前的串流進程。
成員函數 Description
CBaseVideoRenderer 建構 CBaseVideoRenderer 物件。
GetStdDev 針對每個畫面格統計資料,估計每個畫面到期時間與實際轉譯之間的標準差,以毫秒為單位。
PreparePerformanceData 設定 目前 框架 的m_trLate和m_trFrame 值。
ThrottleWait 在每個框架之後插入等候期間。
可覆寫的成員函式 Description
JoinFilterGraph 從篩選圖表中移除篩選時,傳送 EC_WINDOW_DESTROYED 事件。
OnDirectRender 收集控制同步處理和品質控制的時間資訊。
OnRenderEnd 記錄品質控制與同步處理的資訊。
OnRenderStart 記錄品質控制與同步處理的資訊。
OnStartStreaming 重設控制串流的所有時間。
OnStopStreaming 在串流結束時呼叫,以修正屬性頁報表的時間。
OnWaitEnd 等候時間結束時呼叫。 僅限效能記錄。
OnWaitStart 更新花費在等候和未等候的時間。 僅限效能記錄。
RecordFrameLateness 記錄轉譯發生的時間,並收集屬性頁的統計資料。
ResetStreamingTimes 重設控制串流的所有時間。
ScheduleSample 使用時鐘設定建議連結。
SendQuality 傳送品質訊息,以指出供應商應該對品質執行的動作。
ShouldDrawSampleNow 判斷視訊何時應該繪製,而不需設定計時器建議連結與時鐘。
IQualProp 方法 Description
get_Avg FrameRate 擷取平均畫面播放速率,因為串流每 100 秒從畫面格中啟動。
get_AvgSyncOffset 擷取每個畫面何時到期與實際轉譯時間之間的毫秒平均時間。 這適用于串流啟動後的所有畫面。
get_DevSyncOffset 擷取時間的標準差,以毫秒為單位,當每個畫面何時到期,以及從串流開始後實際轉譯所有畫面格的時間。
get_FramesDrawn 擷取自串流啟動以來所繪製的畫面格數目。
get_FramesDroppedInRenderer 擷取轉譯器捨棄的畫面格數目。 框架也可以卸載上游。
get_Jitter 擷取每個畫面與下一個畫面之間以毫秒為單位的時間標準差。 這適用于串流啟動後的所有畫面。
IQualityControl 方法 Description
Notify 通知收件者要求品質變更。
SetSink 設定將接收品質訊息的 IQualityControl 物件。