554 Commits
Author SHA1 Message Date
Mike Brady 4f9730e3b2 Give a nice message if the soxr library isn't installed. 2019-01-04 13:47:44 +00:00
Mike Brady b973619d66 Using new delay() and play() functions. 2019-01-02 22:42:48 +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 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 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 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 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 3535863689 Cleaned up unfixable errors code and examples, updated configuration settings. 2018-12-11 11:28: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 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 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 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 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 1e5219faa9 Fix bugs in interrupting an existing session, and use fresh ports if necessary. 2018-11-23 13:40:42 +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 4911dacc7c Rationalise some of the flush code -- reomve an inner loop, use the flush facility for skipping to sync. 2018-11-20 22:58:06 +00:00
Mike Brady 8644cfb00a Put in a cancellation point explicitly in the player_thread main loop. Tidy up some debug messages. 2018-11-20 14:19:35 +00:00
Mike Brady 18497e6491 Double check debug is not a cancellation point and move the dacp monitor initialisation code to after the subsidiary session threads are created. 2018-11-20 12:07:15 +00:00
Mike Brady d17df82df3 Add the sort-of mutex name to the debug_mutex_lock and _unlock. Also, setting the debug level to 0 turns off the debug logging of them. Handy. 2018-11-19 20:30:00 +00:00
Mike Brady a2681ba04c 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:42 +00:00
Mike Brady 7258b801c8 Add extra checks to look for a hang in TuneBlade 2018-11-19 15:35:47 +00:00
Mike Brady 66e1dde37c Use "/dev/urandom" instead of "/dev/random" to generate a nonce for AirPlay passwords. 2018-11-03 12:47:55 +00:00
Mike BradyandGitHub ee6ffb54d5 Update configure.ac 2018-11-01 08:50:37 +00:00
Mike Brady b91df8ec73 Start using libraries to be able to compile other people's or automatically generated sources using standard compilation settings. 2018-10-30 19:49:32 +00:00
Mike Brady 06716b70a9 Improve handling of network delays and outages -- more robust error handling. 2018-10-23 10:29:09 +00:00
Mike Brady 63cae88aca Further improve the modulo 32 rtpstamp-based missing frames erro handling. 2018-10-21 18:33:47 +01:00
Mike Brady 6de64d5954 Replace the entire timestamp processing software -- preliminary attempt 2018-10-19 14:05:59 +01:00
Mike Brady 7462e14144 Take more notice of errors requesing delay times. Extend the latency offset range to +/- 1.75, but at the programmer's risk. 2018-10-14 15:30:26 +01:00
Mike Brady c7b1d4ba7e Update latencies for iOS 12 / macOS Mojave and fix a bug calling the run_this_when_volume_is_set program/script. 2018-10-14 10:20:00 +01:00
Mike Brady 3d4b1344e8 Allow for a change in the sync time of AirPlay on Mojave and iOS 12. 2018-10-11 15:35:43 +01:00
Mike Brady 98e05be703 Fix the volume-changed command caller. A space went missing. 2018-09-28 09:33:40 +01:00
Mike Brady aeb1e42c6b Revert previous change which was to unreference a stream prior to disconnection -- not needed. 2018-09-21 18:20:23 +01:00
Mike Brady 6eca829b75 Unreference the pa stream when finished with it, so that it the sink can go idle. 2018-09-21 17:48:40 +01:00
Mike BradyandGitHub b890fc570b Update configure.ac
Add configuration option to specify PulseAudio output sink.
2018-09-21 16:59:40 +01:00
Mike Brady efe77a886d Ignore the latency of whatever is connected to Shairport Sync. It's inappropriate to try to compensate for the latency in the full jack chain. Don't mute when the latency is zero. 2018-09-17 19:15:14 +01:00
Mike Brady cda70644ee Many changes to compilation and linking flags. Stop using HAVE_* flags except where necessary, use CONFIG_* for optional stuff, use HAS_* for immediate definitions, use USE_* for AM definitions. Probably introduced bgs, sigh. 2018-09-09 20:43:19 +01:00
Mike Brady c9b3d2a2f4 Many changes to compilation and linking flags. Stop using HAVE_* flags except where necessary, use CONFIG_* for optional stuff, use HAS_* for immediate definitions, use USE_* for AM definitions. Probably introduced bgs, sigh. 2018-09-09 20:41:31 +01:00
Mike Brady 69642bb7de Partly clean up use of automake, autoconfig and compiler flags. Works but still not consistent. 2018-09-09 14:12:20 +01:00
Mike Brady 9adea74f45 Include a definition of HAVE_LIBSOXR with using pkg_config 2018-09-08 15:08:45 +01:00
Mike Brady cd6a99a7cf Include a definition of HAVE_LIBSOXR with using pkg_config 2018-09-08 15:06:18 +01:00
Mike Brady 89ec9fcd0e Stop requiring jack to be "rolling" 2018-09-07 12:09:20 +01:00
Mike Brady 8ff2b1bfb5 Add ability for the jack back end to automaticlly connect a client when the jack server comes up and to drop the client when a play session is finished. 2018-09-02 17:26:56 +01:00
Mike Brady 2528cedc6c Some confusion here, so 3.3d5 marks the introduction of a jack backend. 2018-08-31 12:50:05 +01:00
Mike Brady 5de2052256 Merge branch 'development' of https://github.com/mikebrady/shairport-sync into development
Forgot these changes.
2018-08-31 12:47:35 +01:00
Mike Brady e7dfecb1f2 Initial very rough attempt at a jackaudio backend. 2018-08-31 12:40:35 +01:00
Mike Brady 8cabb16f25 Initial very rough attempt at a jackaudio backend. 2018-08-31 12:39:18 +01:00
Mike BradyandGitHub 19e572e94a Update configure.ac 2018-08-28 09:38:44 +01:00
Mike Brady 39c46dbc77 Sometimes libsoxr is built to rely on libavutil. If libavutil is detected, link to it when building libsoxr. Add pgk_config support to soxr selection. 2018-08-25 13:09:43 +01:00
Mike Brady 5101ab2d13 Sometimes libsoxr is built to rely on libavutil. If libavutil is detected, link to it when building libsoxr. Add pgk_config support to soxr selection. 2018-08-25 13:08:37 +01:00