给定两个具有相同优点值的编解码器,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. 两个UIView具有相同的锚点
- 5. 在extJS和GWT之间做出决定
- 6. 两个命名空间具有相同的类,如何防止必须编写两个相同的函数?
- 7. 如何获得其它值之间的特定值具有相同关键字
- 8. 如何解决:几个具有或多或少相同代码的ifs?
- 9. 如何解决我的Laravel之间查询相同的列名
- 10. 如何创建三个相等的列表元素,并在两者之间具有相同的间距?
- 11. 如何解决两个命名空间之间的冲突?
- 12. 如何解决名称相同但父母不同的两个节点?
- 13. 如何解析具有两个具有相同名称的标记的XML
- 14. 确定无向图具有两个顶点之间的路径
- 15. 如何添加两个具有相同键值对的数组?
- 16. 列出两个给定值之间的所有值
- 17. 实体框架代码优先 - 两个实体具有相同的名称,但在不同的命名空间
- 18. 两个活动中的两个ListViews具有相同的值
- 19. 具有相同频率的两个正弦波之间的相位差
- 20. 如何将两个具有相同x值但不同y值的散点相加?
- 21. UnicodeDecodeError:'ascii'编解码器,如何解决?
- 22. 具有相同ID的两行之间的SQL差异
- 23. 使用两个表而不是具有2个不同值的列的优点
- 24. 如果两个表(相同)之间的任何不同的值,则用新的
- 25. 如何查找在Solr中具有相同值的两列
- 26. 在两个不同点之间画线
- 27. 两个不相等的对象具有相同的散列码
- 28. xcache - 启用编码器/解码器/优化器/汇编器是做什么的?
- 29. 创建具有相同属性的节点之间的关系
- 30. sql - 在两个具有相同列名的表之间无法转接连接
极不可能是随机的。 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”请求记录到日志文件中。 –