AnsweredAssumed Answered

USB Audio Class: Explanation of the feedback sync function

Question asked by Anton Glukhov on Jul 18, 2020
Latest reply on Jul 23, 2020 by Daniel Chen



I'm working with evkmimxrt1010_dev_audio_speaker_freertos example and would like to understand USB_AudioFeedbackDataUpdate function. It works for 2 channels 16bit audio stream, but I would like to change the number of channels and use 24bit or 32bit instead of 16bit. The general idea of feedback endpoint is clear the same as the format of the provided frame rate from the device to the host. But the implementation of calculation feedbackValue, unfortunately, is not very clear. It would be good if you can share/provide some documentation or short clarification of the ideas behind it.


The second part is the tuning process. Once I adjust this function for my stream rate, how to tune the calculation of feedback rate in the most efficient way? What is the best options here? For example I can track the size of the income packets from the USB audio stream and easily see when host add/remove one packet. Another option is to track the buffer size, but using USB_AudioSpeakerBufferSpaceUsed function. These two marker are very useful, but they don't really help with analyzing if feedback value calculate efficiency.


Thank you!


Best regards,