Commit Graph
316 Commits
Author SHA1 Message Date
Mike Brady 08e84ece27 add a volume control mutex to serialise multiple attempts to change the volume 2019-02-01 21:07:13 +00:00
Mike Brady 02bc269a4a Fix a situation where cancellation could lose a malloced buffer. 2019-02-01 16:17:53 +00:00
Mike Brady c807513422 quieten a few debug messages, bring a standard one forward. 2019-01-24 16:33:50 +00:00
Mike Brady 2e4428538d Add an "active" mode that can time out after a period -- 10 seconds by default -- after play ends. 2019-01-21 21:43:55 +00:00
Mike Brady 604ca8dee4 Hook up active mode stuff to metadata, add two four-char codes, improve external command calling. 2019-01-21 21:18:40 +00:00
Mike Brady 61c870bac1 make OpenSSL routines un-cancellable, in case there is a possible memory leak 2019-01-18 16:32:31 +00:00
Mike Brady 4483037719 Block on command_execute for unfixable errors. 2019-01-15 08:30:00 +00:00
Mike Brady 68f20fe8db Add an error message if an RTSP thread can not be created. 2019-01-13 13:14:39 +00:00
Mike Brady 93cae8a5d1 Quieten the msg_ debug messages. 2019-01-13 10:17:34 +00:00
Mike Brady 9fbdc062b4 Change how rtsp_messages are memory managed. Add some diagnostics. 2019-01-12 21:44:52 +00:00
Mike Brady ca72645cb8 If a message is dropped because the pc queue is busy, free any data that might be associated with it as well as just the rtsp message. 2019-01-12 19:17:43 +00:00
Mike Brady c3668b3fc0 INcrease the delay between reading chunks of the RTSP message, may it less likely to overwhelm the CPU. 2019-01-08 13:00:00 +00:00
Mike Brady c35fb69e33 Fix parsing error with progress 'prgr' metadata 2019-01-03 10:48:54 +00:00
Mike Brady ad6c721d5a Format 2018-12-27 14:04:31 +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 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 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 Brady e454572dc7 Further debug tidy-ups and update the configuration file. 2018-12-11 11:26:39 +00:00
Mike Brady 45ce909214 Tidy up some debug messages and warnings, remove old diagnostic codes and settings. 2018-12-11 10:56:36 +00:00
Mike Brady 9d5ff22f2d Connect up the stall response to the external command calling -- add a single argument to the unfixable error call. 2018-12-10 22:28:52 +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 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 67d2a4b5d9 Add a 30 second timout on the read function on an RTSP thread. 2018-12-03 18:42:49 +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 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 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 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 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 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 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 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 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 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 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
Mike Brady 0529a58179 Wait properly when a session is being interrupted. 2018-11-20 23:49:22 +00:00
Mike Brady ccc4fe09af Tidy up the formats. 2018-11-20 22:56:53 +00:00
Mike Brady 6e6c8213e6 Put in a cancellation point explicitly in the player_thread main loop. Tidy up some debug messages. 2018-11-20 14:18:33 +00:00
Mike Brady d4435e2068 Try to make the debug stuff pthread_cancel-proof including the debug / warn / inform / die and debug_mutex calls. Tidy up usage of program_stop. 2018-11-19 18:26:03 +00:00
Mike Brady 58a66ebb0e Make debuglev volatile, over player_vol past the cleanup push, add some temporary diagnostics. 2018-11-19 14:24:24 +00:00
Mike Brady d3ff806412 Put a timeout on the rtsp writeback call. 2018-11-16 10:05:37 +00:00
Mike Brady ca3c05f8b5 Fix silly issue with diagnostic code. 2018-11-14 17:31:39 +00:00