2011-01-16 13 views

回答

0

它投擲骰子。

嚴重的行爲是不確定的,兩個解碼器都有機會率先採取。在拒絕的情況下,過濾器圖表會嘗試另一個。

+0

極不可能是隨機的。 msdn實際上提到了一些額外的標準_(見我的答案)(http://stackoverflow.com/questions/4704841/how-does-directshow-decide-between-two-codecs-with-the-same-merit-value/7835269#7835269)),但沒有進一步闡明。即使如此,它仍然取決於首先加載哪個過濾器或者類似於「隨機」行爲。 –

+2

你的回答沒有意義。額外的標準不適用於99%的過濾器(甚至沒有說它只是Win 7!)。實際順序依賴於「過濾器映射程序」的枚舉順序,而這些順序沒有文檔記錄,並且對於具有相同優點的過濾程序而言是未定義的。它實際上是註冊登記的順序,內部的'RegEnumKey'調用順序將規定過濾順序。 –

+2

只有一個這可能發生(再次,無證):如果過濾器註冊了'MEDIASUBTYPE_NULL',它應該是不太可取的另一個具有相同的優點和定義的子類型...您可以使用我的間諜工具檢查詳細信息,如果您足夠好奇:Spy將所有「Filter Mapper」請求記錄到日誌文件中。 –

0

msdn的頁面intelligent connect對此有所瞭解。

開始,Windows 7使用了一個新系統,當使用新方法搜索一個系統後沒有找到過濾器時,評價系統僅用作回退。

從Windows 7開始,DirectShow具有 某些媒體子類型的首選篩選器列表。如果存在正在呈現的媒體 類型的首選篩選器,則篩選器圖形管理器將嘗試接下來的篩選器 。應用程序可以通過使用IAMPluginControl接口修改首選過濾器列表 。對列表的更改會影響應用程序的當前進程 ,並在進程 結束後丟棄。

如果the merit system使用,在MSDN頁面提到以下幾點:

,然後嘗試他們勳章,從最高到最低。 (它使用額外的標準在具有相同優點的濾波器之間進行選擇)。

相關問題