Commit Graph
3273 Commits
Author SHA1 Message Date
Mike Brady db0e718c12 Add code for getting and setting the interpolation threshold. 2019-01-04 17:07:21 +00:00
Mike Brady 5e38fcd50f Add default values for the interpolation threshold 2019-01-04 17:06:21 +00:00
Mike Brady 459dd51a31 Use snd_pcm_recover only _after_ an XRUN or suspend has happened. Don't use it to remove one -- it doesn't work. 2019-01-04 13:50:14 +00:00
Mike Brady 4610d0870d Raise the soxr minimum buffer size to something sensible and multiply it by the output ratio 2019-01-04 13:48:56 +00:00
Mike Brady 4f9730e3b2 Give a nice message if the soxr library isn't installed. 2019-01-04 13:47:44 +00:00
Mike Brady 8e5733e6ae Check before using snd_pcm_prepare in delay() 2019-01-04 11:29:18 +00:00
Mike Brady c35fb69e33 Fix parsing error with progress 'prgr' metadata 2019-01-03 10:48:54 +00:00
Mike Brady f5707d4f18 Stop dropping metadata with a zero id -- it's not infallible way of determining if the metadata is invalid. 2019-01-03 10:48:09 +00:00
Mike Brady 41c8c8b9a1 Strengthen the ability to recover from an XRUN by putting in a call to snd_pcm_prepare first. 2019-01-03 10:19:44 +00:00
Mike Brady b973619d66 Using new delay() and play() functions. 2019-01-02 22:42:48 +00:00
Mike Brady 15729ebcd4 Fix trivial error in a debug message. 2019-01-02 22:40:48 +00:00
Mike Brady 8d8b8c05f6 new play(), delay(), delay_prep_and_status() routines in place and working, but with the old stuff taken out. 2019-01-02 19:54:12 +00:00
Mike Brady 59d26918f6 new play(), delay(), delay_prep_and_status() routines in place and working, but with the old stuff still around. 2019-01-02 19:49:15 +00:00
Mike Brady 6f8b35d121 Try out a new alsa delay routine. Could be very buggy! 2019-01-02 14:43:25 +00:00
Mike Brady b4505593b2 If output is stalled, don't write any more frames to the output device. 2018-12-31 17:46:31 +00:00
Mike Brady fe857037de If output is stalled, don't write any more frames to the output device. 2018-12-31 17:46:05 +00:00
Mike Brady fc08572631 Modify my_snd_pcm_delay but don't test it yet! 2018-12-29 09:34:10 +00:00
Mike Brady 919c5fe8b8 Add some diagnostics around the state of the DAC during delays. 2018-12-28 10:35:13 +00:00
Mike Brady 59b3abd965 quieten some dacp debug messages 2018-12-27 14:36:29 +00:00
Mike Brady fbb381133e Fix some memory leaks, improve silence filling backoff time calculation, alwasy add a NUL to an RTSP message. 2018-12-27 14:05:48 +00:00
Mike Brady ad6c721d5a Format 2018-12-27 14:04:31 +00:00
Mike Brady 668f78062e Fix a few memory leaks by deleting responses even when the reply is somehow illegal. 2018-12-27 14:02:19 +00:00
Mike Brady 1828545602 Account for duration of samples to be played and use the untimed_play when calculating silence-filling backoff period. 2018-12-27 14:01:32 +00:00
Mike Brady 6e5f84d2a0 Always leave space for, and put a NULL at the end of an RTSP packet. 2018-12-27 13:59:20 +00:00
Mike Brady 10985a0bec Bug fix: close a socket even if it doesn't successfully connect. Enhance some debug messages. 2018-12-26 10:42:52 +00:00
Mike Brady 284cb9d3fb Return genuine error codes where available in actual_open_alsa_device. 2018-12-26 10:41:20 +00:00
Mike Brady 70cd4fe81f Further adjustments to the silence thread -- make the sleep time 30 ms, thus if the queue goes below 60 ms of samples, silence will be inserted unless an audio write occurred within the last 30 ms. 2018-12-17 17:11:46 +00:00
Mike Brady 2830cdf712 adjust minimum interval between last audio write and writing silence. 2018-12-17 16:50:36 +00:00
Mike Brady a96d28c4e5 Need to use an untimed play for the silence buffer filler. 2018-12-17 16:44:19 +00:00
Mike Brady cb17fb263a Don't send silence into the alsa device within the scanner's sleep time of the last legitimate write to it. This is to stop the scanner inserting silent frames while the player is flushing fames. 2018-12-17 16:31:03 +00:00
Mike Brady 57e9619e5b Don't add dither if volume control is set to max. 2018-12-17 13:14:40 +00:00
Mike Brady 4db9c117a2 use dither if using software mixer (i.e. no hardware mixer and not ignoring the volume control) -- fix a mistake in accounting for the ignore_volume_control setting. 2018-12-17 11:31:28 +00:00
Mike Brady 14e867a66b use dither if using software mixer (i.e. no hardware mixer and not ignoring the volume control) -- fix a mistake in accounting for the ignore_volume_control setting. 2018-12-17 11:30:23 +00:00
Mike BradyandGitHub aa2e2c3d24 Update RELEASENOTES.md 2018-12-15 17:50:01 +00:00
Mike Brady 4ba0947ddb Move the keep_dac_busy in to a configuration setting. Always start the keep_dac_busy thread and check if the keep_dac_busy is set. Don't dither is ignore volume control is set. 2018-12-15 15:36:44 +00:00
Mike BradyandGitHub efa592db41 Update RELEASENOTES.md 2018-12-14 16:10:09 +00:00
Mike BradyandGitHub c20fc79a6e Update RELEASENOTES.md 2018-12-14 16:07:50 +00:00
Mike Brady 7708ee3cdf Bring in the "disable_standby_mode" feature on alsa to stop some DACs making popping noises. Fix dither generation. 2018-12-14 15:28:32 +00:00
Mike Brady e6c3ddb9bf Fix dither, add dither to silences during lead-in, interpolatied frames and keeping out of standby, only if the output device doesn't use a mixer. Check configuration at initialisation. 2018-12-14 15:07:38 +00:00
Mike Brady 4046c0e73d Fix dither, add dither to silences during lead-in, interpolatied frames and keeping out of standby, only if the output device doesn't use a mixer. Check configuration at initialisation. 2018-12-14 15:07:00 +00:00
Mike Brady 5dd9fbc4fb Don't drop the audio during a flush -- it creates a clunk. 2018-12-13 16:59:18 +00:00
Mike BradyandGitHub bbc0ea1ab9 Update shairport-sync.conf 2018-12-13 15:42:51 +00:00
Mike Brady b0fe51788e Experimentally, add the ability to prevent the DAC making popping noises by feeding it with silence instead of allowing it to stop. 2018-12-13 14:48:21 +00:00
Mike Brady 7cc434e989 Experimentally, add the ability to prevent the DAC making popping noises by feeding it with silence instead of allowing it to stop. 2018-12-13 14:47:52 +00:00
Mike BradyandGitHub 87f3de2e9d Update RELEASENOTES.md 2018-12-12 22:21:40 +00:00
Mike Brady a8fe3bd13b Remove connection with common.h -- works properly. 2018-12-12 22:07:55 +00:00
Mike Brady 5645ddde99 Fix a compilation error w.r.t. debuglev and fix a complation warning. 2018-12-12 21:46:59 +00:00
Mike Brady b40b80247f Fix a compilation error w.r.t. debuglev and fix a complation warning. 2018-12-12 21:21:54 +00:00
Mike BradyandGitHub 307d9c3b64 Update RELEASENOTES.md 2018-12-12 14:50:25 +00:00
Mike BradyandGitHub 3cb427338b Update RELEASENOTES.md 2018-12-12 14:49:37 +00:00