Hello @all!

I currently develop an USB Audio Device according to the version 2 of the specification and have severe synchronization issues with the explicit feedback endpoint. As it seems the feedback is never queried by OS X and so there are clicks in the final audio stream.

The device supports:

 - 1 Input Terminal with two channels as USB Streaming Terminal
 - 1 Clock Source, configurable to 44.1, 48, 96 or 192kHz
 - 1 Feature Unit, providing mute and level
 - 1 Output Terminal with two channels output as Speaker Terminal Type

Connection: IT -> FU -> OT
Clocking: IT and OT are clocked by the configurable clock source

The Input Terminal has two endpoints assigned, one streaming EP and one feedback Endpoint (both configured as described in the USB DC Spec).

Basically OS X configures the device to operate under 192kHz and playback works, but clocks are not perfect and so the buffer within the device drains until the device mutes the interface. Short afterwards the buffer is filled again and the device starts playback again. This could be heared as "click". To handle that situation the device supports an explicit feedback endpoint providing the information on how many samples/uFrame in the fixed point 16.16 format is provided by the device. Interestingly OS X (10.10) never schedules a transfer on that endpoint and so the Feedback is never delivered to the OS and naturally the OS does not handle the need for a little bit more data (0.02%).

I hope that someone here can point me into the right direction, as the feedback endpoint works perfectly under Linux and Windows (Thesycon driver) and I do not have any idea on what could be wrong...

Thank You,

Bernhard

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/usb/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to