2011-01-16 14 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页面提到以下几点:

,然后尝试他们勋章,从最高到最低。 (它使用额外的标准在具有相同优点的滤波器之间进行选择)。

相关问题