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