Emulating audio on USB without actual audio transmit

I am trying to use Arduino Leonardo for presenting itself as an USB audio device - but without actual audio playback/record functionality. The reason why I’m doing this is to make sure that windows will properly detect composite USB device that consist of audio and other transfer channels.
So I created a simply audio topology that consist of one microphone (which is 2-channel) - I was able to upload it to Arduino and run it without bricking. The USBLyzer shows that audio descriptors were transmitted but in the device manager I can see that device cannot be run due to error code 10.
From I have seen in the USB capture it seems that USB GET_DESCRIPTOR is being sent for the audio and nothing else for the audio (I would expect requests for the USB string descriptors to be sent) - which makes me think that host for some reason doesn’t accept audio topology. The CDC channel seem to be handled correctly.
Could anyone help me understand what I’m doing wrong? I am attaching USB descriptors.


arduino_usb_audio_topology.txt (7.58 KB)

Thanks to tdd tool (https://www.thesycon.de/eng/usb_descriptordumper.shtml) I was able to find two issues in my descriptors: 1. Audio Control Interface Header Descriptor had wrong indexes to the interfaces 2. bcdADC was set to 2.00 while I was using audio descriptors for 1.00. That probably caused audio engin in the Windows to reject audio topology as improper After fixing that I was able to emulate audio devices which were recognized by the Windows.

Generally I found that during development of audio two tools are very useful: 1. tdd.exe 2. ksstudio