]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r280322 and r280429:
authorhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 25 Mar 2015 13:16:39 +0000 (13:16 +0000)
committerhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 25 Mar 2015 13:16:39 +0000 (13:16 +0000)
commit4f6d524b6051962e6323a1d6196d561322e38968
treea63bdd75de85b1072401360cc1c39598f56c47a3
parent743385ba59e46d0f728362a31bd82bcfda31dd39
MFC r280322 and r280429:
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.

Use the feedback value from the synchronization endpoint as fallback
when there is no recording channel.

PR:  198444

git-svn-id: svn://svn.freebsd.org/base/stable/9@280594 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/sound/usb/uaudio.c
sys/dev/sound/usb/uaudio.h
sys/dev/sound/usb/uaudio_pcm.c