我有一個DirectShow圖形與SampleGrabber過濾器做一些處理。處理過程最多需要50ms,因此播放速度通常較慢。處理可以打開和關閉。如何在使用laggy濾鏡時避免DirectShow圖形幀聚集起來?
我的問題是,如果處理已開啓一段時間,當我關閉它時,視頻會盡可能快地播放,直到它達到某個點。據推測,這一點是幀時間與流時間相匹配,並且不再有任何滯後。
我該如何阻止這種情況的發生,以便在關閉處理時以正常速度播放?處理數據時可以關閉流時鐘嗎?或者可能再次從SampleGrabber過濾器中抽取樣本,並添加額外的滯後時間?
有誰知道正確的方式做到這一點?
編輯:
我作爲顯示在下面的答案改變採樣時間的方法,但是有一些問題,尋求和計算樣品時間戳。
我發現一個更好的方法是實現我自己的參考時鐘,並在處理時間過長時停止時鐘。
刪除我的答案,因爲我不認爲這真的有幫助 – 2009-01-15 04:25:40
yea無後顧之憂,感謝您的閱讀。 – geometrikal 2009-01-15 04:30:19