[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayer、imfMediaEngine 取代,並在媒體基金會 音訊/視訊擷取。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayer、IMFMediaEngine 和 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]
區段 是一組共用一般開始時間、停止時間和播放速率的媒體範例。 IPin::NewSegment 方法會指示新區段的開頭。 它提供一種方式,讓來源篩選條件通知下游篩選的時間和速率資訊已變更。 例如,如果來源篩選條件搜尋數據流中的新點,它會使用新的開始時間呼叫 NewSegment。
有些下游篩選會在處理範例時使用區段資訊。 例如,使用框架間壓縮的格式,如果停止時間落在差異框架上,來源篩選可能需要在停止時間之後傳送其他樣本。 這可讓譯碼器譯碼最終的差異框架。 若要判斷正確的最終框架,譯碼器會參考線段停止時間。 另一個範例是,音訊轉譯器會使用區段速率以及音訊取樣率來產生正確的音訊輸出。
在推送模型中,來源篩選會起始 NewSegment 呼叫。 在提取模型中,這是由剖析器篩選所完成。 不論是哪一種情況,篩選會呼叫 NewSegment 下游輸入針腳,它會將呼叫傳播至下一個篩選,直到呼叫到達轉譯器為止。 篩選必須串行化 NewSegment 呼叫與其他串流呼叫,例如 IMemInputPin::Receive。
數據流時間會在每個新區段之後重設為零。 區段從零開始之後所傳遞樣本的時間戳。