]> xenbits.xensource.com Git - people/julieng/freebsd.git/commit
The synchronisation value returned by the so-called feedback endpoint
authorhselasky <hselasky@FreeBSD.org>
Sat, 21 Mar 2015 09:45:45 +0000 (09:45 +0000)
committerhselasky <hselasky@FreeBSD.org>
Sat, 21 Mar 2015 09:45:45 +0000 (09:45 +0000)
commit355e724a9a41bcc6a4b2ff6ed40f491e1e6768e3
tree58e89a24a3c457190cd1d0c1690cd5211e093d94
parent3a38addca2bf19f4785c67fc295314e91a6cfd30
The synchronisation value returned by the so-called feedback endpoint
appears to be too inaccurate that it can be used to synchronize the
playback data stream. If there is a recording endpoint associated with
the playback endpoint, use that instead. That means if the isochronous
OUT endpoint is asynchronus the USB audio driver will automatically
start recording, if possible, to get exact information about the
needed sample rate adjustments. In no recording endpoint is present,
no rate adaption will be done.

While at it fix an issue where the hardware buffer pointers don't get
reset at the first device PCM trigger.

Make some variables 32-bit to avoid problems with multithreading.

MFC after: 3 days
PR:  198444
sys/dev/sound/usb/uaudio.c
sys/dev/sound/usb/uaudio.h
sys/dev/sound/usb/uaudio_pcm.c