Demux 時鐘行為

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

在推送模式中,MPEG-2 Demultiplexer (demux) 會公開 IReferenceClock 介面。 它會作為即時來源,因此預設會選擇作為圖形參考時鐘;如需詳細資訊 ,請參閱即時來源

  • 針對傳輸資料流程,demux 會將其時鐘同步處理至對應至應用程式最近對應之音訊或視訊資料流程的回應式串流。 在內部,demux 會追蹤 PAT 和 PMT 資料表。 當應用程式將基礎串流 PID 對應至輸出針腳時,demux 會查閱該 PID 的「KPI 資料流程」,並使用該「PID」串流。 (目前,應用程式無法直接指定)
  • 針對程式資料流程,demux 會將其時鐘同步至 SCR 資料流程。

將篩選時鐘同步處理至「回應」或「SCR 資料流程」可防止資料溢位或下溢,如果圖形時鐘與串流時鐘不同,就可能會造成此情況。 demux 也會將 PES PTS 值轉譯為 DirectShow 參考時間,並使用這些值來時間戳記媒體範例。 時間戳記會套用至下一個框架界限;不保證畫面格界限會與媒體範例的開頭一致。

demux 保證時間戳記會以單調方式增加。 例如,例如,如果傳輸資料流程包含一個區段,例如使用與主要程式不同的時鐘所建立的商業區段,demux 會調整簡報時間戳記,以隱藏下游篩選的時間不連續。

使用 MPEG-2 Demultiplexer