Hi again,
so it seems to be no Linux USB audio gadget thing. Without changing anything on
the Linux side 48kHz/24Bit/Stereo suddenly worked after I disconnected my
device from windows, stopped the windows audio endpoint builder, removed all
registry entries in
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture”
and
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render”
which pointed to my device, restarted the windows audio endpoint builder and
reconnected my device. I thought it should also work by just changing the
parameters on the Linux side by invoking something like “modprobe -r g_audio”
and “modprobe g_audio c_srate=48000 c_ssize=3 c_chmask=3 p_srate=48000
p_ssize=3 p_chmask=3”.
So the next thing I wanted to check is the response to the feedback endpoint
controlling the playback speed on the PC side. So I have my USB feedback
endpoint constantly reporting a speed deviation of 2 percent. On the PC side I
have a little user mode player application that plays to my driver through
WASAPI or Windows Kernel Streaming both in exclusive mode. This applications
just counts the played samples and divides them by the time since I’ve started
the playback. I’d have assumed that this should somehow reflect the 2 percent
deviation but it doesn’t. After several minutes it’s simply very close to 48kHz
regardless whether my deviation is plus or minus 2 percent. Is my idea wrong
that I should see this deviation inside my player application? That would mean,
that windows does some SRC on my audio (and thus bit transparency would be
lost) or it doesn’t respect the deviation reported through the feedback
endpoint?
Thanks again for your help and patience,
Johannes