Commit Graph
3210 Commits
Author SHA1 Message Date
Mike Brady 72079adaf4 Initial shot at tidying up the avahi monitoring for DACP Id port information to make it survive abnormal temrination of play sessions. 2018-12-08 21:55:49 +00:00
Mike Brady 12611b5521 Fix small error in uncancellable sleep -- it was calling itself! 2018-12-08 17:48:47 +00:00
Mike Brady f20fa4f1c2 Fix RTSP timeout and add timing checks for interfacing with the ALSA subsystem. Add entries to the configuration file. 2018-12-08 14:37:36 +00:00
Mike Brady c5919825d4 Small changes in unstable.
Merge branch 'unstable' into development
2018-12-08 14:26:08 +00:00
Mike Brady 697d654b41 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. 2018-12-08 14:13:04 +00:00
Mike Brady e5452e5172 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. 2018-12-08 14:12:33 +00:00
Mike Brady 50700b46a5 Add timing to writing to the DAC 2018-12-08 12:58:01 +00:00
Mike BradyandGitHub f1dc4fece6 Update RELEASENOTES.md 2018-12-07 12:38:12 +00:00
Mike BradyandGitHub 9d2571724b Update RELEASENOTES.md 2018-12-07 12:28:20 +00:00
Mike BradyandGitHub e3dcae7514 Update RELEASENOTES.md 2018-12-07 12:25:50 +00:00
Mike Brady 5ff19c391a Bring it up to date with what's happened in development.
Merge branch 'development' into unstable
2018-12-06 16:08:39 +00:00
Mike Brady 53c17276db Continue to use the ordinary snd_pcm_delay call. 2018-12-06 15:39:19 +00:00
Mike Brady 4cc12bdc6d Add the ability to call a program if an unfixable error is detected. The only unfixialbe error at present is then a play session can't be cancelled.
Merge branch 'more_danger' into development
2018-12-06 14:49:36 +00:00
Mike Brady a2e7cb34fb 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. 2018-12-06 14:46:57 +00:00
Mike Brady b071d39834 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. 2018-12-04 17:25:40 +00:00
Mike Brady 277d401d24 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. 2018-12-04 17:25:15 +00:00
Mike Brady 9ddef563ad Shorten the delays to 100 ms 2018-12-04 08:56:29 +00:00
Mike Brady 67d2a4b5d9 Add a 30 second timout on the read function on an RTSP thread. 2018-12-03 18:42:49 +00:00
Mike Brady 78da7c453c Make the stop requester volatile, duh. 2018-12-03 18:01:54 +00:00
Mike Brady 60315b63c9 Try to ensure that any alsa command sequences are uncancellable. Leave a little time afterwards where possible. 2018-12-03 17:00:12 +00:00
Mike Brady 4bb29bc198 Make sure that shared watchdog count is correctly updated in the rtsp_conn_info structure! 2018-12-03 16:52:32 +00:00
Mike Brady e49707e051 Ensure no pthread cancellation can occur during an ALSA-related call. 2018-12-03 12:44:57 +00:00
Mike Brady 038dee01ba 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. 2018-12-03 10:33:29 +00:00
Mike Brady 8c9b159011 Stop using an unsigned integer for time when we want to watch if it goes negative. Only release the playing_conn if we already own it! 2018-12-02 18:13:20 +00:00
Mike Brady 898aad1619 Merge branch 'unstable' into development 2018-12-01 17:14:36 +00:00
Mike Brady 3644300db1 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. 2018-12-01 17:13:20 +00:00
Mike Brady 2737222b0b 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. 2018-12-01 16:52:23 +00:00
Mike Brady a5c65ceced Move UDP port cloure to the RTSP thread, don't allow calls to mdns_* to be cancelled. Remove usage of (p)select in rtsp thread handling. 2018-11-30 14:55:04 +00:00
Mike Brady 0eac2b9cb3 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. 2018-11-29 22:03:49 +00:00
Mike Brady f2a3ba00cc Move cleanup push to start of RTSP initialisation. Take more care at startup and closedown to make stuff uncancellable. 2018-11-29 17:14:40 +00:00
Mike Brady 4a5b0009a4 Quieten a debug message 2018-11-29 17:13:12 +00:00
Mike Brady 4d4272c8ba 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. 2018-11-29 15:36:18 +00:00
Mike Brady 1240c6efab Adds checks for posession of the player in order to handle flush, teardown requests. 2018-11-29 15:32:06 +00:00
Mike Brady fdd5ce430d Check in SETUP and RECORD that the player is available, clean up setup code by removing gotos. 2018-11-29 13:13:51 +00:00
Mike Brady bcf9b1a843 Quieten a debug message 2018-11-29 13:12:53 +00:00
Mike Brady ca45d2ecbe Clang formatted. 2018-11-29 12:18:07 +00:00
Mike Brady c318796e55 Add an uncancellable usleep timer. Make the player and UDP thread cleanups uncancellable. 2018-11-29 11:37:56 +00:00
Mike Brady 7bf22b4265 Add some debug messages to closing the UDP ports. 2018-11-28 19:49:12 +00:00
Mike Brady 1cf28be647 Add SO_REUSEADDR to the UDP sockets. See if it makes any difference. 2018-11-28 19:39:11 +00:00
Mike Brady 22f3e3e318 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. 2018-11-28 17:18:03 +00:00
Mike Brady 4ab81ce0b7 Add extra diagnostic to capture a meg_write_response error. 2018-11-27 22:53:27 +00:00
Mike Brady 227c38a89c Try to capture what happens after a write error. 2018-11-27 22:03:56 +00:00
Mike Brady b7ee743a0e Quieten a few debug messages. 2018-11-27 17:44:45 +00:00
Mike Brady eaa98ea7d9 Quieten a few debug messages. 2018-11-27 17:40:07 +00:00
Mike Brady 76ee6d5e43 Add new watchdog thread for the player -- should be more reliable than the existing code. 2018-11-26 19:33:22 +00:00
Mike Brady d85f63b4bb Add many improvements, including reliable interruption using new ports, safer pthread_cancel usage. 2018-11-24 22:40:13 +00:00
Mike Brady 3b4654df77 Make some alsa operation sequences un-cancellable. Make some cleanup sequences un-cancellable. 2018-11-24 22:28:52 +00:00
Mike Brady 57ae8ad846 Change order of header files (again?) to avoid OpenBSD compilation errors. 2018-11-24 11:35:16 +00:00
Mike Brady 998e7cea2c clang-format 2018-11-24 11:16:57 +00:00
Mike Brady a932298d3a 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. 2018-11-24 11:06:20 +00:00