• 【Directshow】IFilterGraph::AddFilter方法参数问题<转>


    看dx里dshow的例子和别人的程序,用IFilterGraph::AddFilter()这个API添加filter到Graph的时候,第二个参数是一个设备友好名称;

    我看有的填的是通过IPropertyBag:read方法得到的FriendlyName参数,这个好理解;但是有的则直接填入诸如"Capture

    Video","Source"之类的字符串,实在无法理解,因为这些根本不是设备的FriendlyName,这可以是一个in输入参数啊?

         包括陆其明的书和dshow的例子都没有对这个问题阐述过,只是随便填的。

        后来查到MSDN才了解,翻译了一下:

               第二个参数filter的名称可以是NULL,在这种情况下filter graph manager将产生一个名字。

               如果该参数不为NULL,且不是唯一的,AddFilter函数将修改这个(你填入的)名字,且尝试产生一个唯一的名字;如果成功,

    返回VFW_S_DUPLICATE_NAME,否则返回VFW_E_DUPLICATE_NAME。

          上面的粗体字说明了, 填入"Capture Video","Source"之类是没用的;实际修改playcap的例子,改为AddFilter(pSrcFilter, L"XXX");

    ,应用程序也不会有任何变化。

    http://blog.csdn.net/cosmoslife/article/details/8031504

  • 相关阅读:
    html$css_day05
    html$css_day04
    html$css_day03
    html$css_day02
    html$css_day01
    日常笔记19/3/04-19/3/10
    堆排序
    js对象之XMLHttpReques对象学习
    前端页面显示问题解决步骤(方法)
    SpringBoot跨域小结
  • 原文地址:https://www.cnblogs.com/wainiwann/p/7879404.html
Copyright © 2020-2023  润新知