Mike Brady [Mon, 17 Dec 2018 17:11:46 +0000 (17:11 +0000)]
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.
Mike Brady [Mon, 17 Dec 2018 16:31:03 +0000 (16:31 +0000)]
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.
Mike Brady [Mon, 17 Dec 2018 11:31:28 +0000 (11:31 +0000)]
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.
Mike Brady [Mon, 17 Dec 2018 11:30:23 +0000 (11:30 +0000)]
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.
Mike Brady [Sat, 15 Dec 2018 15:36:44 +0000 (15:36 +0000)]
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.
Mike Brady [Fri, 14 Dec 2018 15:07:38 +0000 (15:07 +0000)]
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.
Mike Brady [Fri, 14 Dec 2018 15:07:00 +0000 (15:07 +0000)]
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.
Mike Brady [Sat, 8 Dec 2018 14:13:04 +0000 (14:13 +0000)]
Make the idle timeout on the RTSP link the same as the overall timeout -- 30 seconds is a bit short. Add checks to the alsa interface timing -- 15 ms to write a packet of frames, 1 ms to ask for the delay.
Mike Brady [Sat, 8 Dec 2018 14:12:33 +0000 (14:12 +0000)]
Make the idle timeout on the RTSP link the same as the overall timeout -- 30 seconds is a bit short. Add checks to the alsa interface timing -- 15 ms to write a packet of frames, 1 ms to ask for the delay.
Mike Brady [Thu, 6 Dec 2018 14:46:57 +0000 (14:46 +0000)]
The run_this_if_an_unfixable_error_is_detected script is definitely working and can restart the device. A sudoers entry is necessary to allow the shairport-sync user to 'sudo reboot --no-wall' without needing a password.
Mike Brady [Tue, 4 Dec 2018 17:25:40 +0000 (17:25 +0000)]
Ensure watchdog always starts with the starting time of the thread. Add watchdog bark count. On the third bark, execute an unfixable error script if present.
Mike Brady [Tue, 4 Dec 2018 17:25:15 +0000 (17:25 +0000)]
Ensure watchdog always starts with the starting time of the thread. Add watchdog bark count. On the third bark, execute an unfixable error script if present.
Mike Brady [Mon, 3 Dec 2018 10:33:29 +0000 (10:33 +0000)]
Fix an error caused by using an unsigned integer as a signed number. It may have been causing lots of conversation threads to wait for the (blocked) current playing thread to exit.
Mike Brady [Sat, 1 Dec 2018 17:13:20 +0000 (17:13 +0000)]
Fix a non-initialisation of parameters if no h/w mixer used. Add a few diagnostics, tidy up initial diagnostic message, add verbosity level and whether mixer used.
Mike Brady [Sat, 1 Dec 2018 16:52:23 +0000 (16:52 +0000)]
Fix a non-initialisation of parameters if no h/w mixer used. Add a few diagnostics, tidy up initial diagnostic message, add verbosity level and whether mixer used.
Mike Brady [Thu, 29 Nov 2018 22:03:49 +0000 (22:03 +0000)]
Move closing of ports to the player thread cleanup. They can be bound without the UDP threads ever having been called, so they must be closed when the player thread exits.
Mike Brady [Thu, 29 Nov 2018 15:36:18 +0000 (15:36 +0000)]
Improve player watchdog, improve clearing down of ports, improve handling of write- and read-erroes on the RTSP channel. Improve code for holding and releasing the player.
Mike Brady [Wed, 28 Nov 2018 17:18:03 +0000 (17:18 +0000)]
Move watchdog to cover connection from start, not just from start of play. Start investigating UDP port allocation. Tidy up handling or RTSP write errors -- remove the pselect code from before a write.
Mike Brady [Sat, 24 Nov 2018 11:06:20 +0000 (11:06 +0000)]
Small correction to port selection logic. If a new sesion waits for an existing session to close that it hasn't interrupted, reset the ports base. Quieten some debug messages.