CVideoTransformFilter.ShouldSkipFrame 方法
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
方法 ShouldSkipFrame
會判斷篩選是否應該卸載指定的樣本。
語法
BOOL ShouldSkipFrame(
IMediaSample *pIn
);
參數
-
針
-
範例 之 IMediaSample 介面的指標。
傳回值
如果篩選應該卸載此範例,則傳回 TRUE ;如果篩選準則應該處理此範例,則傳回 FALSE 。
備註
如果符合下列條件,這個方法會傳回 TRUE :
- 此範例具有時間戳記。
- 平均解碼時間至少為畫面持續時間的 25%。
- 轉譯器目前至少會延遲一個畫面格,如透過品質訊息回報。
- 略過至下一個主要畫面格並不會讓畫面提早抵達一個以上的畫面。
為了進行這項計算,篩選會在處理資料時記錄下列資訊:
- 過去 20 個畫面格的平均解碼時間 (m_itrAvgDecode)
- 上一個主要畫面格之後的畫面數 (m_nFramesSinceKeyFrame)
- 估計主要畫面格 (m_nKeyFramePeriod) 之間有多少畫面格
篩選準則卸載框架之後,它會繼續卸載畫面,直到到達下一個主要畫面格為止。 如果這個方法傳回 TRUE,它也會將 EC_QUALITY_CHANGE 事件傳送至 Filter Graph Manager。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|