]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r280322 and r280429:
authorhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 25 Mar 2015 13:14:25 +0000 (13:14 +0000)
committerhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 25 Mar 2015 13:14:25 +0000 (13:14 +0000)
commit0f1d24973745a6a5d930f82cab3208b4efaedb8f
treea719fe3dd1bc34248ffade2ec38e0f23fba41495
parentd1950fcfaac04970f03074bfeb6fc144759b910a
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/10@280591 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/sound/usb/uaudio.c
sys/dev/sound/usb/uaudio.h
sys/dev/sound/usb/uaudio_pcm.c