Skip to content

Audio Class Project: implementing control of sample frequency via Windows #28

@R0SAB

Description

@R0SAB

Hello! Thanks for this project, works great (tested on Tang Nano 9k and Tang Primer 20k boards).
I already figured out how to modify sample rates and bit widths of samples in descriptor, and what question I do have now:

I added another sample frequency to microphone interface and see two options in audio devices control panel of Windows, between which I can switch.
Now I want to parse command that Windows sends to device, to adjust input logic to new sample frequency.
I involved Wireshark to see what Windows does send to device when I change frequency, and I can't understand what happens.
There are two sequencies of control requests, eventually trying to send sample frequency data (3 bytes).
As far as I understand from packet info, these three bytes are targeted towards endpoint 02, but I see nothing there (no data and no en02_valid signal).
But right after first sequence, there is another, requesting to change frequency back to previous.

So, the question itself is:
What can be the reason of this behaviour? Is this common thing for UAC, or I'm missing something? May you advise something?

Here is the first request (left bottom, 80bb00, 48 kHz, which I actually choose in audio devices control panel):
Image

The second, requesting previous one (44ac00, 44.1 kHz):
Image

Here is capture from Wireshark, if it can be useful. First sequence starts at line 3493
UAC_sample_freq_change.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions