summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2015-03-24 09:21:53 +0000
committerhselasky <hselasky@FreeBSD.org>2015-03-24 09:21:53 +0000
commit9b45a1de5d694476a5b5466768b78cc6abee9c67 (patch)
tree85eb32e0a7b2e09827a2566f00ef92f3febc29ee /sys/dev/sound
parent56b16c19d144ce60b78ac7b59377c4bdfc5567f5 (diff)
downloadFreeBSD-src-9b45a1de5d694476a5b5466768b78cc6abee9c67.zip
FreeBSD-src-9b45a1de5d694476a5b5466768b78cc6abee9c67.tar.gz
Use the feedback value from the synchronization endpoint as fallback
when there is no recording channel. MFC after: 3 days PR: 198444
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/usb/uaudio.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c
index d99002e..8822bf0 100644
--- a/sys/dev/sound/usb/uaudio.c
+++ b/sys/dev/sound/usb/uaudio.c
@@ -2026,6 +2026,13 @@ uaudio_chan_play_sync_callback(struct usb_xfer *xfer, usb_error_t error)
DPRINTF("Comparing %d Hz :: %d Hz\n",
(int)temp, (int)sample_rate);
+ /*
+ * Use feedback value as fallback when there is no
+ * recording channel:
+ */
+ if (ch->priv_sc->sc_rec_chan.num_alt == 0)
+ ch->jitter_curr = temp - sample_rate;
+
ch->feedback_rate = temp;
break;
OpenPOWER on IntegriCloud