Commit Graph
3197 Commits
Author SHA1 Message Date
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
Mike Brady dcd8fbc1ec Remove some unnecessary test code from the debug messaging. 2018-11-23 16:10:18 +00:00
Mike Brady d93aeec50a Quieten a few debug messages. 2018-11-23 15:11:04 +00:00
Mike Brady ae1453f8aa Stop going to verbosity level 3 on occasion. It's not so useful now. 2018-11-23 13:57:34 +00:00
Mike Brady 1e5219faa9 Fix bugs in interrupting an existing session, and use fresh ports if necessary. 2018-11-23 13:40:42 +00:00
Mike Brady 4c5790de28 Fix off-by-one error in UDP range counting 2018-11-23 13:39:23 +00:00
Mike Brady 093bf1dd46 Rotate usage of UDP ports if a session is interrupted. Avoids out-of-date packets landing in a new session. 2018-11-23 13:29:09 +00:00
Mike Brady 3709ac8180 experimental 2018-11-23 08:53:27 +00:00
Mike Brady 0e6835589c Try making dropping and closing the DAC un-cancelable to stop the bcm DMA problem. Add some diagnostics. 2018-11-22 21:57:54 +00:00
Mike BradyandGitHub 23eb7d7038 Update shairport-sync.conf 2018-11-22 10:08:00 +00:00
Mike Brady 6143acb36c Update with changes in the development branch 2018-11-22 09:51:04 +00:00
Mike Brady d3aca80c9e Add back in the ability to interrupt a session. Clean up a few debug messages. 2018-11-21 21:33:21 +00:00
Mike Brady 303a85c3b5 Add back in the ability to interrupt a session. Clean up a few debug messages. 2018-11-21 21:32:18 +00:00
Mike Brady 36e13535e9 Forgot!
Merge branch 'development' of https://github.com/mikebrady/shairport-sync into development
2018-11-20 23:49:46 +00:00