給定兩個具有相同優點值的編解碼器,DirectShow如何決定通過「智能連接」機制使用哪一個?DirectShow如何在具有相同優點值的兩個編解碼器之間做出決定?
1
A
回答
0
它投擲骰子。
嚴重的行爲是不確定的,兩個解碼器都有機會率先採取。在拒絕的情況下,過濾器圖表會嘗試另一個。
0
msdn的頁面intelligent connect對此有所瞭解。
從開始,Windows 7使用了一個新系統,當使用新方法搜索一個系統後沒有找到過濾器時,評價系統僅用作回退。
從Windows 7開始,DirectShow具有 某些媒體子類型的首選篩選器列表。如果存在正在呈現的媒體 類型的首選篩選器,則篩選器圖形管理器將嘗試接下來的篩選器 。應用程序可以通過使用IAMPluginControl接口修改首選過濾器列表 。對列表的更改會影響應用程序的當前進程 ,並在進程 結束後丟棄。
如果the merit system使用,在MSDN頁面僅提到以下幾點:
,然後嘗試他們勳章,從最高到最低。 (它使用額外的標準在具有相同優點的濾波器之間進行選擇)。
相關問題
- 1. 編譯器如何在vector和initializer_list之間做出決定?
- 2. Drupal Views如何在具有相同路徑的多個顯示之間做出決定
- 3. 如何在具有相同父項的兩個類之間共享代碼?
- 4. 具有相同原點的兩條線之間的角度?
- 5. 如何在兩個解決方案之間傳遞值
- 6. 兩個UIView具有相同的錨點
- 7. 在extJS和GWT之間做出決定
- 8. 我的兩個相同型號的節點如何具有不同的值?
- 9. 兩個命名空間具有相同的類,如何防止必須編寫兩個相同的函數?
- 10. 如何獲得其它值之間的特定值具有相同關鍵字
- 11. 如何解決之前編碼的PHP之前輸出的HTML?
- 12. 替換特定列中具有相同值的兩行之間的NAP
- 13. 如何解決:幾個具有或多或少相同代碼的ifs?
- 14. 具有相同計數值的兩個表之間的內部連接
- 15. 如何解決我的Laravel之間查詢相同的列名
- 16. Android如何獲得兩個給定點之間的所有點?
- 17. 如何創建三個相等的列表元素,並在兩者之間具有相同的間距?
- 18. 如何解決兩個命名空間之間的衝突?
- 19. 如何解決名稱相同但父母不同的兩個節點?
- 20. 如何解析具有兩個具有相同名稱的標記的XML
- 21. 如何讓不同的/服務器具有相同的域? [已解決]
- 22. 確定無向圖具有兩個頂點之間的路徑
- 23. 如何合併兩個具有相同值的對象?
- 24. 如何添加兩個具有相同鍵值對的數組?
- 25. 兩個具有相同值的枚舉,如何訪問它們?
- 26. 如果在兩個具有相同值的選項之間切換時如何檢測選擇更改事件?
- 27. 實體框架代碼優先 - 兩個實體具有相同的名稱,但在不同的命名空間
- 28. 具有兩個相同名稱列的兩個表的輸出
- 29. ghci的編譯器優化:調用具有相同參數的函數兩次
- 30. 列出兩個給定值之間的所有值
極不可能是隨機的。 msdn實際上提到了一些額外的標準_(見我的答案)(http://stackoverflow.com/questions/4704841/how-does-directshow-decide-between-two-codecs-with-the-same-merit-value/7835269#7835269)),但沒有進一步闡明。即使如此,它仍然取決於首先加載哪個過濾器或者類似於「隨機」行爲。 –
你的回答沒有意義。額外的標準不適用於99%的過濾器(甚至沒有說它只是Win 7!)。實際順序依賴於「過濾器映射程序」的枚舉順序,而這些順序沒有文檔記錄,並且對於具有相同優點的過濾程序而言是未定義的。它實際上是註冊登記的順序,內部的'RegEnumKey'調用順序將規定過濾順序。 –
只有一個這可能發生(再次,無證):如果過濾器註冊了'MEDIASUBTYPE_NULL',它應該是不太可取的另一個具有相同的優點和定義的子類型...您可以使用我的間諜工具檢查詳細信息,如果您足夠好奇:Spy將所有「Filter Mapper」請求記錄到日誌文件中。 –