Is it possible to disable the playback side of the teensy audio?

Status
Not open for further replies.

donperryjm

Well-known member
I'm using a teensy to get some sound into windows. My problem is the software is playing through teensy and is very choppy. I'd like to know if there is a way from programming or configuration that I can disable the playback side of the teensy audio?
 
First to directly answer your question: Yes, there is a way.

But that way is so incredibly difficult that the answer might as well be no. Or at least not unless you have deep knowledge of USB protocol and very good programming skill at low-level device driver style coding, plus quite a lot of time & effort to spend. If you want to dive in and give it a try, the very first step is to edit usb_desc.c. That is the data your PC reads during USB enumeration, where Windows detects what sort of USB device you've connected. If you delete some of the descriptor data and adjust other parts accordingly, you can cause Windows to detect is a only a single direction of audio. You'll almost certainly need to refer to the USB audio class spec, which is a free PDF from www.usb.org. Get version 1.0. Until very recently only Macintosh and Linux recognized Audio class 2.0, we use use the 1.0 spec (as does almost everyone else - even though 2.0 has been around for many years). After you get descriptor data that makes Windows happy, then edit the code in usb_audio.cpp and usb_dev.c. Often leaving in the stuff you've told the USB host doesn't exist works fine. But do pay some attention to the asynchronous rate feedback stuff.

Whether any of that will actually help with the choppy results your getting is a good question. As a blind guess, I'd give it less than a 50-50 chance. A very first step would be capturing some of the USB communication and looking at whether Windows is even using both isochronous audio data endpoints. If not, the problem is probably somewhere other than you've envisioned and messing with all that stuff would probably have no effect.
 
OK. I took a crack at moving around some stuff in the usb_desc file but to no avail. I guess it's bigger than me :)
Would have to instruct my customers to disable the playback device then.
 
Would you like me to investigate this problem?

If so, you need to post a small but complete program that demonstrates the problem, plus specific instructions for exactly what do run or do on the Windows side.
 
Status
Not open for further replies.
Back
Top