Commit Graph
153 Commits
Author SHA1 Message Date
Mike Brady 1704916a47 Squashed commit of the following:
commit 85fae473bb
Merge: bf91d35 854942d
Author: Mike Brady <mikebrady@eircom.net>
Date:   Tue Jun 4 22:15:37 2019 +0100

    Merge pull request #860 from joerg-krause/patch-2

    Debug requested period size value

commit 854942df92
Author: Jörg Krause <joerg.krause@embedded.rocks>
Date:   Tue Jun 4 20:47:43 2019 +0200

    Debug requested period size value

commit bf91d35bfb
Author: Mike Brady <mikebrady@eircom.net>
Date:   Tue Jun 4 15:33:30 2019 +0100

    Update RELEASENOTES-DEVELOPMENT.md

commit 3ca3408255
Author: Mike Brady <mikebrady@eircom.net>
Date:   Tue Jun 4 15:32:10 2019 +0100

    Fix error message for invalid standby mode choice

commit 4bafe1c982
Author: Mike Brady <mikebrady@eircom.net>
Date:   Mon Jun 3 10:03:54 2019 +0100

    quieten a compilation warning

commit 9d96906402
Author: Mike Brady <mikebrady@eircom.net>
Date:   Sun Jun 2 18:05:40 2019 +0100

    Update configure.ac

commit 0c5c4bfe3f
Author: Mike Brady <mikebrady@eircom.net>
Date:   Sun Jun 2 18:04:51 2019 +0100

    Update RELEASENOTES-DEVELOPMENT.md

commit 85cc1bdd97
Author: Mike Brady <mikebrady@eircom.net>
Date:   Sun Jun 2 17:56:47 2019 +0100

    Fix the dither calculation -- it was 12 dB too high, really noticable on the U8 setting.

commit 25f0fbc24d
Author: Mike Brady <mikebrady@eircom.net>
Date:   Sun Jun 2 13:42:19 2019 +0100

    Update INSTALL.md

commit d91e41d976
Author: Mike Brady <mikebrady@eircom.net>
Date:   Wed May 29 17:26:44 2019 +0100

    Add missing support for S32_LE, S32_BE, S24_LE and S24_LE formats.

commit 7f2e6b1aac
Author: Mike Brady <mikebrady@eircom.net>
Date:   Wed May 29 16:18:51 2019 +0100

    Add support for S32_LE, S32_BE, S24_LE and S24_BE wqhen generating frames of dithered silence

commit 76ad4e6a73
Author: Mike Brady <mikebrady@eircom.net>
Date:   Wed May 29 16:00:47 2019 +0100

    enable specification of specific formats and/or speeds to turn off automatic format/speed selection, fixing a bug. Clarify some of the warnings. Fix a few typos in the configuration file sample.

commit a8222e3f85
Merge: c677006 19fbede
Author: Mike Brady <mikebrady@eircom.net>
Date:   Mon May 27 09:30:57 2019 +0100

    Merge pull request #855 from idcrook/conf_mqtt_port

    mqtt port config changes – fix error in the configuration file and check port number for sanity.
    Many thanks, David. It'll find it's easy into the next release.

commit 19fbededcf
Author: David Crook <idcrook@users.noreply.github.com>
Date:   Sat May 25 13:01:22 2019 -0600

    mqtt port config changes

    1. update example shairport-sync.conf file
    2. update config file mqtt port parsing

    Signed-off-by: David Crook <idcrook@users.noreply.github.com>

commit c677006541
Merge: 744c595 3c4a878
Author: Mike Brady <mikebrady@eircom.net>
Date:   Fri May 24 17:37:26 2019 +0100

    Bring into line with master 3.3
2019-06-05 15:02:26 +01:00
Mike Brady 83c0405d03 Add automatic bit depth and speed selection for alsa devices. Set rate and format to "auto" by default. Always look for the greatest bit depth, but the lowest multiple of 44,100.
Improve support for big-endian CPUs by adding support for explicit -endian formats, i.e. S16_LE, S16_BE, S24_LE, S24_BE, S32_LE, S32_BE.

For the "disable_standby_mode" setting, change "while_active" to "auto".
2019-05-07 10:19:04 +01:00
Mike Brady 1d32976d07 Improve support for bigendian devices. Add support for S16_LE, S16_BE, S24_LE, S24_BE, S32_LE and S32_BE formats. Make the default S16_LE. Allow precision timing only on alsa devices with names beginning with "hw:". Use snd_pcm_hw_params_is_monotonic() to see if clock is monotonic. 2019-05-01 11:01:15 +01:00
Mike Brady 19a1a28374 Add "auto" to interpolation settings. Time a few soxr_oneshots to get a figure for soxr_delay_index. Add a soxr_delay_threshold and in auto mode, select soxr if delay is below threshold. 2019-04-21 14:25:27 +01:00
Mike Brady db8fc8057f Always include the up-to-date abbreviated git hash if we are in the git repository. 2019-04-16 22:45:45 +01:00
Mike Brady 1b1348e1ac Add git commit and dirty status if available. Slightly reorder the debug messages at the start. 2019-04-15 16:27:44 +01:00
Mike Brady 57bcea52c7 Tidy up the exit() arguments. 2019-04-10 21:32:08 +01:00
Mike Brady 84eecaf722 use abort() to exit after a "die" call and fix the logic of opening the alsa device -- success was causing it to die, duh. 2019-04-09 22:26:26 +01:00
Mike Brady 178af21dab Make soxr, metadata and apple_alac defaults if support for them is included in the build configuration. 2019-03-08 21:19:48 +00:00
Mike Brady 042d940415 Remove the AUTO bit-depth setting. It's a hack and needs more consideration. 2019-02-28 14:21:05 +00:00
Mike Brady 20967812ad Fix a bug in the activity_monitor software that could lock up a player thread so that it couln't be cancelled. If a player was cancelled while performing an activity script, the activity_monitor_mutex would remain locked. 2019-02-26 15:23:11 +00:00
Mike Brady ca325d0459 Fix an error in non_blocking_write, expose a more general version of it, use it when writing an RTSP response with a three-second timeout. 2019-02-24 13:16:55 +00:00
Mike Brady fce6b5137e Add a new command line option: -u to send logs to STDERR. 2019-02-16 19:32:13 +00:00
Mike Brady 54bb627eff Fix some errors and warnings from OpenBSD 2019-02-12 10:55:04 +00:00
Mike Brady e76cfa69fe remove dependency on libdaemon -- leave it in by default, but allow the new configuration option --with-libdaemon. 2019-02-05 15:12:51 +00:00
Mike Brady 94f68798c8 Merge branch 'unstable' of https://github.com/mikebrady/shairport-sync into unstable
Merging two unstable branchses that have diverged
2019-01-27 13:57:46 +00:00
Mike Brady 4188eba571 Fix a cause of a memory leak using OpenSSL for Base 64 encoding. 2019-01-27 13:48:06 +00:00
Mike Brady 0a9063fafe move malloc_cleanup to common.c 2019-01-23 16:34:34 +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 99fd6b85d0 make OpenSSL routines un-cancellable, in case there is a possible memory leak 2019-01-18 16:31:36 +00:00
Mike Brady 4483037719 Block on command_execute for unfixable errors. 2019-01-15 08:30:00 +00:00
Mike Brady b9d78c8af6 Avoid wrapping back to the first three UDP ports when assigning ports using nextFreeUDPPort because the call resetFreeUDPPorts, called when not interrupting an existing session, will assign the first three ports without checking (or knowing) if they were recently in use. 2019-01-11 10:42:17 +00:00
Mike Brady 8f20e5808b clang format 2019-01-10 16:12:57 +00:00
Mike Brady 9f8b8a25c9 add actual waiting time for a failing timed mutex. 2019-01-10 16:09:52 +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 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 12611b5521 Fix small error in uncancellable sleep -- it was calling itself! 2018-12-08 17:48:47 +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 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 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 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 998e7cea2c clang-format 2018-11-24 11:16:57 +00:00
Mike Brady dcd8fbc1ec Remove some unnecessary test code from the debug messaging. 2018-11-23 16:10:18 +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 ccc4fe09af Tidy up the formats. 2018-11-20 22:56:53 +00:00
Mike Brady ec7d46bc32 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:06:13 +00:00
Mike Brady 8991a08278 Make debug_mutex lock and unlock completely quiet if the debug level is chosen to be 0. 2018-11-19 20:51:49 +00:00
Mike Brady f7342a70df 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:12:57 +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 539c501174 Fix the volume-changed command caller. A space went missing. 2018-09-28 09:33:10 +01:00
Mike Brady 1b18f45fac Clang Format Cleanup 2018-09-09 20:43:01 +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 6c6dda9cce 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:25:29 +01:00
Mike Brady 76c5dd9285 Stop using SIGUSR1 for cancelling threads, use pthread_cancel and friends instead, fix some memory leaks, add accurate ouput rate calculation to statistics, add "quit" verb to MPRIS and native d-bus interfaces. Probably still buggy. 2018-07-30 10:07:11 +01:00