[wdmaudiodev] Re: accessing audiocontrols on a UAC2 device on Windows

  • From: "Tsai Tzung-Dar" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "tdtsai1973" for DMARC)
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 25 Jul 2016 02:41:21 +0000 (UTC)

Hi Mike:Yes, I believe you device can work fine with Mac OSX. As I know Mac OSX 
has support USB ADC 2.0 for a long time. Apple start support  USB ADC 2.0 at 
Mac OSX 10.5.6. It should be first support USB ADC 2.0 OS. And Mac OSX allow 
user to access USB device in User mode application. Basically Mac OSX USB Audio 
kernel mode driver is  base on IOUsbInterface interface. User mode Application 
can use IoUsbDevice(IoUSBHostDevice in Mac OSX 10.11 and later) or 
IOUsbInterface(IOUsbHostInterface in Mac OSX 10.11 and later) Interface to 
access Usb device and send control transfer to USB Device. In this architecture 
let you can have API or Library to access your extension unit from user mode 
application. In Windows the driver architecture is different with Mac OSX. The 
USB device interface can not access directly by user mode application. You have 
to have a kernel mode component to transfer USB command for you. So your own 
driver need to export a interface to your application to send command to your 
kernel mode driver then your kernel mode driver can base on your command to 
send USB transfer. So in your case an in box driver is not suitable for you. 
Because you can not access you extension unit thru in box driver. I think MS 
need marketing push when they will start to think about USB ADC 2.0 support. 
Otherwise they will igorn USB ADC 2.0 support, because there is not enough 
voice push them to support it. 
BR,Tzung-Dar Tsai

      寄件者: Mike Kemp <mjk@xxxxxxxxxxxx>
 收件者: wdmaudiodev@xxxxxxxxxxxxx 
 寄件日期: 2016/7/24 (週日) 10:15 PM
 主旨: [wdmaudiodev] Re: accessing audiocontrols on a UAC2 device on Windows
   
Thanks again all. I have now have an API and interface lib from the driver 
supplier that works ok barring a few details we are ironing out. That should be 
sufficient for now - unless we decide to start looking at our own UAC2 driver, 
if time and budget ever permits! Or we want to try bypassing the driver for 
audiocontrol purposes... Regards to all Mike BTW: Tzung-Dar Tsai: this is our 
own multichannel audio i/o device that implements a standard UAC2 interface, 
currently working fine with OSX coreaudio. Still not quite sure why MS don't 
have an out the box driver for this class though. 
 ----- Original Message -----  From: Tsai Tzung-Dar (Redacted sender 
"tdtsai1973" for DMARC)  To: wdmaudiodev@xxxxxxxxxxxxx  Sent: Thursday, July 
21, 2016 4:48 AM Subject: [wdmaudiodev] Re: accessing audiocontrols on a UAC2 
device on Windows 
     Hi Mike: No, it only have one driver. In Windows Vista and later OSes 
Audio driver contain two part, one is sAPO in user mode another is Kernel mode 
driver. I think you can reference to sysvad sample code to know how to 
enumerate Device Specific Node in endpoint property page. And how to implement 
Device Specific node in kernel mode driver. Here is the sample code URL: 
Microsoft/Windows-driver-samples
  
|   |
|   |   |   |   |   |   |   |
|   Microsoft/Windows-driver-samples Windows-driver-samples - This repo 
contains driver samples prepared for use with Microsoft Visual Studio and the 
Windows Driver Kit (WDK). It contains both  Uni... |
|   |
|  檢視於 github.com |  Yahoo 預覽 |
|   |
|   |

 
 You also can reference follow URL to use IKSControl in you endpoint property 
page. 
https://msdn.microsoft.com/en-us/library/windows/desktop/dd316787(v=vs.85).aspx 
Then you can control your Extension unit by use IDeviceSpecificProperty to 
Enable/Disable Extension Unit. And use IKSControl to send detail control to 
driver and send to your device. By the way what USB Audio Class 2.0 controller 
you used? Are you implement standard USB ADC 2.0 device? If you need know more 
detail or you want a some thing to try you can email me.  
 BR, Tzung-Dar Tsai
 
 


  

Other related posts: