Audio driver dynamic endpoints... RRS feed

  • Question

  • Hi, I'm currently working on an audio driver, based on MSVAD. The example code uses a static layout for nodes, pins and connections; but I'm attempting to create this layout dynamically, based on IOCTL calls from a userspace application.

    I'm currently able to reconfigure the endpoints using the IPortClsSubdeviceEx::UpdatePinDescriptor call. However, this call does not notify Windows that it need to re-query the nodes and connection as well. So, during a reconfigure request where the nodes and/or connections change, the driver becomes broken.

    So my question is, how do I get Windows to reevaluate all nodes, pins and connection (sync with my PCFILTER_DESCRIPTOR)?



    Thursday, January 30, 2014 8:09 PM


  • Hi David,

    If you change nodes/connections, you must unregister the old subdevices/connections and re-install the new elements. The common.cpp file (see CAdapterCommon logic) of Msvad shows how to (un)install subdevices/connections. 


    Friday, January 31, 2014 7:03 PM