Mike Brady
6ba8e3107d
Default to receiving metadata the older "classic" way for compatibility. Add a temporary setting to change this in the "diagnostics" part of the configuration file.
2026-07-23 18:40:06 +02:00
Mike Brady and GitHub
a93e187ebc
Update version to 5.2-dev-44-geb49aaab [skip ci]
...
Updated version number and enhanced bug fix acknowledgment.
2026-07-20 19:33:45 +02:00
Mike Brady
eb49aaabd2
Settle on a convolver block size of 1024.
2026-07-20 18:26:23 +01:00
Mike Brady and GitHub
081aa0ca9e
Update version to 5.2-dev-42 and fix bugs [skip ci]
...
Updated version number and fixed bugs in convolution and loudness code related to input/output rates and channel counts.
2026-07-20 18:47:12 +02:00
Mike Brady
5e48d8fe3d
Temporarily stop block length check.
2026-07-20 17:37:07 +01:00
Mike Brady and GitHub
eb806f209f
Fix typo in comment out of convolution_ir_files in config [skip ci]
...
Comment out the convolution_ir_files configuration line.
2026-07-20 16:24:15 +02:00
Mike Brady
2346cd7a4c
Update convolution comments in the configuration file. [skip ci]
2026-07-20 11:49:02 +01:00
Mike Brady and GitHub
feecaae88b
Update release notes for version 5.2-dev-38 [skip ci]
...
Fixed bugs in convolution and loudness code related to input/output rates and channel counts. Added acknowledgment for the bug report.
2026-07-20 12:25:33 +02:00
Mike Brady
bffa91dd21
Fix mixups between input and output rates and channel counts during convolution initialisation and in convolution attenuation and loudness application.
2026-07-20 11:19:54 +01:00
Mike Brady and GitHub
4d9dfa73af
Update release notes with deprecations and bug fixes [skip ci]
...
Added deprecation notice for obsolete logging options.
2026-07-16 16:25:50 +02:00
Mike Brady and GitHub
a17e8c0a58
Update release notes for version 5.2-dev-35 [skip ci]
...
Added a new exit handler for clean exits and fixed various bugs related to mutex handling and compiler warnings.
2026-07-16 16:07:28 +02:00
Mike Brady
83ae1d286b
Add a new exit handler to enable Shairport Sync to exit cleanly — that is, on exit, to clean up everything, e.g. open files, ports, sockets, devices, threads, it has been using.
...
If cleanup isn’t finished after one second, exit will occur unconditionally.
Use the new exit handler for normal exit, for SIGINT and SIGTERM handling, for abnormal exit after fatal errors, and for handling quit requests from the D-Bus and MPRIS interfaces.
When an unfixable error occurs without an installed unfixable error handler, unlock the mutex protecting Shairport Sync’s alsa backend to permit a clean exit.
Fix a very low-level mutex-locking error that interfered with debugging.
Simplify much mutex lock handling.
Remove lots of old and unused code, variables and definitions.
Update audio_sndio.c to remove some harmless compiler warnings.
Undo adding two seconds for messages to be output before _Exit() on die() to allow messages to be output...
Undo making die() exit unconditionally.
2026-07-16 14:51:06 +01:00
Mike Brady
0adbe5fc72
Add 2 seconds for messages to be output before _Exit() on die() to allow messages to be output...
2026-07-13 08:01:15 +01:00
Mike Brady
2ba3b1163a
Make die() exit unconditionally. Clean up some more redundant code. Revert unfixable error to use die() rather than warn() and _Exit().
2026-07-12 17:07:11 +01:00
Mike Brady and GitHub
68a78e82f3
Update release notes for version 5.2-dev-31 [skip ci]
...
Added a bug fix for Shairport Sync hanging on unfixable errors and updated version number.
2026-07-12 17:26:34 +02:00
Mike Brady and GitHub
b1a9f645f4
Merge pull request #2237 from mikebrady/dependabot/github_actions/development/actions/stale-10.4.0 [skip ci]
...
Bump actions/stale from 10.3.0 to 10.4.0
2026-07-12 17:19:39 +02:00
Mike Brady
8b76d1c559
Exit immediately when an unfixable error is detected. Don't try to clean up before exit.
2026-07-12 16:18:31 +01:00
Mike Brady and GitHub
7884993f01
Fix broken link in RELEASENOTES-DEVELOPMENT.md [skip ci]
...
typo
2026-07-11 10:03:55 +02:00
Mike Brady and GitHub
f217fb4f67
Fix broken link in RELEASENOTES-DEVELOPMENT.md [skip ci]
...
Fixed a broken link in the documentation referencing CONFIGURATION FLAGS.md from ADVANCED TOPICS.
2026-07-11 10:02:44 +02:00
Mike Brady and GitHub
be6d9d0ad3
Merge pull request #2235 from int3rrupt/fix-broken-doc-link [skip ci]
...
Fix broken link to `CONFIGURATION_FLAGS.md`
2026-07-11 09:48:59 +02:00
Mike Brady and GitHub
1902de354e
Update documentation for FreeBSD build requirements [skip ci]
...
Updated documentation to include 'gcrypt' in the FreeBSD build guide.
2026-07-09 18:32:37 +02:00
Mike Brady and GitHub
e1c9ef7e8b
Update FreeBSD version in BUILD.md [skip ci]
...
Updated FreeBSD version from 14.3 to 15.1 in the documentation and adjusted related notes.
2026-07-09 17:14:11 +02:00
Mike Brady and GitHub
7623ef6310
Fix package list for AirPlay 2 build [skip ci]
...
Updated package list for building Shairport Sync for AirPlay 2.
2026-07-09 17:03:43 +02:00
Mike Brady and GitHub
1bf58f51f9
Update release notes for version 5.2-dev-10 [skip ci]
...
Added details about new MQTT command and bug fix.
2026-07-06 13:25:41 +02:00
Mike Brady and GitHub
34274b2b50
Merge pull request #2226 from zutroy97/queue-next-track-id
...
Add MQTT queue_next command and fix track_id byte order.
2026-07-06 12:47:02 +02:00
Mike Brady and GitHub
c302c4c473
Merge pull request #2232 from mikebrady/dependabot/github_actions/development/docker/login-action-4.4.0 [skip ci]
...
Bump docker/login-action from 4.2.0 to 4.4.0
2026-07-06 12:06:07 +02:00
Mike Brady and GitHub
7436a9a755
Merge pull request #2231 from mikebrady/dependabot/github_actions/development/docker/build-push-action-7.3.0 [skip ci]
...
Bump docker/build-push-action from 7.2.0 to 7.3.0
2026-07-06 12:05:23 +02:00
Mike Brady and GitHub
40eddc37ba
Merge pull request #2230 from mikebrady/dependabot/github_actions/development/docker/setup-qemu-action-4.2.0 [skip ci]
...
Bump docker/setup-qemu-action from 4.1.0 to 4.2.0
2026-07-06 12:04:42 +02:00
Mike Brady and GitHub
4fb6357b55
Merge pull request #2229 from mikebrady/dependabot/github_actions/development/docker/setup-buildx-action-4.2.0 [skip ci]
...
Bump docker/setup-buildx-action from 4.1.0 to 4.2.0
2026-07-06 12:04:08 +02:00
Mike Brady and GitHub
93e1804f7e
Fix wording in release notes for version 5.2-dev [skip ci]
2026-07-04 13:10:58 +02:00
Mike Brady and GitHub
0311ef0947
Update release notes for version 5.2-dev [skip ci]
...
Added notes for version 5.2-dev, including bug fixes and improvements.
2026-07-04 13:10:32 +02:00
Mike Brady
df59fa80ab
This is 5.2-dev
2026-07-04 12:07:10 +01:00
Mike Brady and GitHub
6219c419be
Fix formatting in AirPlay 2 release notes [skip ci]
...
Corrected formatting in the release notes regarding AirPlay 2.
2026-07-03 22:47:09 +02:00
Mike Brady and GitHub
545d9dd404
Fix grammatical error in README.md [skip ci]
2026-07-03 22:34:43 +02:00
Mike Brady and GitHub
7a770034b9
Add systemctl daemon-reload command after cleanup [skip ci]
...
Added instructions for reloading systemd daemon after removing service files.
2026-07-03 22:13:59 +02:00
Mike Brady and GitHub
82f9ea9d7a
Update BUILD.md with repository setup instructions [skip ci]
...
Added instructions for cloning and updating the Shairport Sync repository.
2026-07-03 21:58:13 +02:00
Mike Brady and GitHub
89b78b8927
Update RELEASENOTES-DEVELOPMENT.md for version 5.1-dev-52 [skip ci]
...
Document bug fixes and minor improvements in release notes.
2026-06-28 17:34:25 +01:00
Mike Brady
6db0ba16a4
Add sys-nice request to docker compose file and comment out unnecessary stuff.
2026-06-28 17:23:14 +01:00
Mike Brady
69f5e78050
Add a few tools and do a recompile for more comportable troubleshooting.
2026-06-28 17:08:56 +01:00
Mike Brady
012c2a6569
If the minimum DAC queue size is not changed from maxint, assume it has never been set and indicate that it is not available.
2026-06-28 17:08:11 +01:00
Mike Brady
5920deae13
Stop allocating large buffers on the stack, as it will overflow on, e.g. Alpine and embedded Linuxes, where the stack frame allocations are smaller. Use mallocs instead.
2026-06-28 17:06:40 +01:00
Mike Brady
37fff1ac39
Add Jack deprecation note to the configuration file. [skip ci]
2026-06-22 18:52:42 +01:00
Mike Brady
1008f918c9
Add note about new --with-metadata-pipe and --with-metadata-multicast configuration flags.
2026-06-22 18:48:02 +01:00
Mike Brady
4a24afa1a8
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
Online update.
2026-06-22 13:08:32 +01:00
Mike Brady and GitHub
ee4402d93c
Remove redundant text formatting in flags section [skip ci]
2026-06-22 13:08:08 +01:00
Mike Brady
508e9fc3c6
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
online update
2026-06-22 12:59:50 +01:00
Mike Brady and GitHub
6a0f5385bc
Revise configuration flags and add metadata options [skip ci]
...
Updated the configuration flags documentation to indicate deprecation of the --with-jack flag and added new sections for metadata pipe and multicast.
2026-06-22 12:57:18 +01:00
Mike Brady
8846e27cf0
Update copyright notice in the man source file.
2026-06-22 11:43:17 +01:00
Mike Brady and GitHub
77efa15d16
Merge pull request #2220 from mikebrady/dependabot/github_actions/development/actions/checkout-7.0.0 [skip ci]
...
Bump actions/checkout from 6.0.3 to 7.0.0
2026-06-22 11:34:06 +01:00
Mike Brady and GitHub
486f0d7eb2
Update release notes with security bug fixes [skip ci]
...
Documented fixes for two security issues in pair_ap/pair-tlv.c and rtsp.c, including bounds checks and validation improvements. Acknowledged contributions from TristanInSec for reporting and fixing the issues.
2026-06-18 09:36:44 +01:00
Mike Brady and GitHub
3780b504a4
Merge pull request #2218 from TristanInSec/fix-tlv-dmap-oob-reads-v2
...
Fix Out-Of-Bounds reads and infinite loop in TLV and DMAP parsers.
2026-06-18 09:27:43 +01:00
Mike Brady and GitHub
b4751a09ef
Correct grammar in bug fix note for Classic operation [skip ci]
2026-06-14 15:28:12 +01:00
Mike Brady and GitHub
2ae38f797f
Update release notes with new bug fix details [skip ci]
...
Added a new bug fix related to immediate flush and PTP clock anchor reset.
2026-06-14 15:27:29 +01:00
Mike Brady
0e6ca7b7b2
When an immediate flush is requested, reset the PTP clock anchor information immediately to disable clocking until play is resumed.
2026-06-14 15:21:11 +01:00
Mike Brady and GitHub
1e583f0a1e
Merge pull request #2212 from mikebrady/dependabot/github_actions/development/actions/checkout-6.0.3 [skip ci]
...
Bump actions/checkout from 6.0.2 to 6.0.3
2026-06-13 13:18:52 +01:00
Mike Brady and GitHub
b90af5ddeb
Merge pull request #2209 from mikebrady/dependabot/github_actions/development/docker/setup-qemu-action-4.1.0 [skip ci]
...
Bump docker/setup-qemu-action from 4.0.0 to 4.1.0
2026-06-13 13:17:50 +01:00
Mike Brady and GitHub
e7965bf3fa
Merge pull request #2207 from mikebrady/dependabot/github_actions/development/docker/setup-buildx-action-4.1.0 [skip ci]
...
Bump docker/setup-buildx-action from 4.0.0 to 4.1.0
2026-06-13 13:17:17 +01:00
Mike Brady and GitHub
082f0f1db6
Merge pull request #2206 from mikebrady/dependabot/github_actions/development/actions/stale-10.3.0 [skip ci]
...
Bump actions/stale from 10.2.0 to 10.3.0
2026-06-13 09:57:16 +01:00
Mike Brady and GitHub
246d29d323
Merge pull request #2205 from mikebrady/dependabot/github_actions/development/docker/build-push-action-7.2.0 [skip ci]
...
Bump docker/build-push-action from 7.1.0 to 7.2.0
2026-06-13 09:56:52 +01:00
Mike Brady and GitHub
25ab1efb54
Merge pull request #2204 from mikebrady/dependabot/github_actions/development/docker/login-action-4.2.0
...
Bump docker/login-action from 4.1.0 to 4.2.0 [skip ci]
2026-06-13 09:55:51 +01:00
Mike Brady and GitHub
39da3d3cf2
Update AirPlay 2 service options in release notes [skip ci]
...
Enhanced AirPlay 2 build options and improved input format change delivery.
2026-06-03 14:55:28 +01:00
Mike Brady and GitHub
7b63cd1a14
Small wording changes [skip ci]
2026-06-03 14:52:34 +01:00
Mike Brady and GitHub
b010314590
Small wording update [skip ci]
...
Clarified the description of the AirPlay 2 build enhancements, including command-line options and service types.
2026-06-03 14:47:42 +01:00
Mike Brady and GitHub
2c964e2f55
Update release notes for version 5.1-dev-17 [skip ci]
...
Added details about locale fixes in test clients for handling non-ASCII characters.
2026-06-03 14:46:49 +01:00
Mike Brady
9b16ff929e
set locales in the test clients so that they can deal with non-ASCII characters, e.g. accented characters, properly.[skip ci]
2026-06-03 14:42:36 +01:00
Mike Brady and GitHub
1cbbeec584
Update release notes for version 5.1-dev-15 [skip ci]
...
Added bug fixes for race condition and compilation issue.
2026-05-30 23:24:13 +01:00
Mike Brady
2d89d2bff2
Fix a compilation bug in Classic build.
2026-05-30 23:21:55 +01:00
Mike Brady
191f06e7f7
Fix temporary patch.
2026-05-30 23:01:35 +01:00
Mike Brady
3e46eec634
In TEARDOWN, if it has a plist with a streams item in it, jist clost the player thread. If the plist exists but is empty, close the connection.
2026-05-30 22:58:36 +01:00
Mike Brady
d6093b74b7
Enhance a debug message.
2026-05-30 22:55:03 +01:00
Mike Brady
d9d3be5db5
Record unavailable even socket as -1.
2026-05-30 22:42:55 +01:00
Mike Brady
e6c39aaefa
Check for valid time information more completely.
2026-05-30 22:41:57 +01:00
Mike Brady
6003f8f978
Handle input_rate of 0 more correctly.
2026-05-30 22:40:52 +01:00
Mike Brady
090b609fe8
Undo a change that exposes a race condition. The race condition needs to be fixed first!
2026-05-30 16:59:23 +01:00
Mike Brady and GitHub
b3c9e76023
Enhance AirPlay 2 service options in release notes [skip ci]
...
Updated the AirPlay 2 service options and clarified systemd service dependencies in the release notes.
2026-05-29 17:20:34 +01:00
Mike Brady
e472cee76c
After a teardown, ask the RTSP thread to terminate... and thus close everything down.
2026-05-29 17:13:17 +01:00
Mike Brady and GitHub
f2ee95a3b7
Update user service script to check for non-root use and for PipeWire or PulseAudio services/ [skip ci]
2026-05-25 17:35:16 +01:00
Mike Brady
e081e4a511
Fix compilation error when using older FFmpeg libraries. [skip ci]
2026-05-18 20:32:11 +01:00
Mike Brady
70245ad343
Another small update to the man page. [skip ci]
2026-05-18 14:35:30 +01:00
Mike Brady
b7d23f622d
Slight update of man page. [skip ci]
2026-05-18 14:29:35 +01:00
Mike Brady and GitHub
cb7c1a0894
Update release notes for version 5.1-dev [skip ci]
...
Added enhancements for AirPlay 2 service options, Docker changes, and stability improvements.
2026-05-18 11:02:37 +01:00
Mike Brady
efd93c5a54
5.1-dev
2026-05-18 10:29:08 +01:00
Mike Brady
157fe94d7d
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
include an online commit.
2026-05-18 10:26:18 +01:00
Mike Brady
f30dd7aee6
Enhancements
...
Enable the AirPlay 2 build to operate an optional classic-AirPlay-only service or to gracefully degrade to classic AirPlay, as follows:
1. Add a new command-line option '-—service-type=<type>' and an equivalent configuration entry 'service_type = "<type>"' in the 'general' section of the configuration file,
where <type> can be "auto", "classic" or "airplay2":
1. "auto" (default) means that the service will be AirPlay 2 if NQPTP is running. If NQPTP is not running, classic AirPlay service will be provided instead, and in that case,
"(Classic)" will be appended to the default AirPlay service name visible to AirPlay clients like Apple Music, for example "RaspberryPi3B (Classic)".
2. "classic" means the service will be classic AirPlay (aka AirPlay 1).
3. "airplay2" means the service will be the modern AirPlay 2. In this case, as distinct from "auto", if NQPTP is not running, Shairport Sync will log an error and terminate.
2. In the systemd service file, NQPTP is now a "Want" rather than a "Require". If it's present, then it will be launched before Shairport Sync. If it's absent, Shairport Sync will launch anyway.
3. Improve the delivery of input format changes and emit 'sdsc' metadata when changes occur.
4. Emit new format information in the log if statistics is enabled.
Docker Changes
1. Support for linux/arm/v6 has been dropped, as Docker is no longer supported.
2. NQPTP is not started in the AirPlay 2 Docker image if '--service-type=classic' or '--service-type=airplay1' is in the command line options at the end of the docker run command.
The purpose is to ensure that ports 319 and 320 are left alone when the AirPlay 2 image is set to provide Classic service only.
Note that setting the configuration file 'service_type' to 'classic' will not prevent NQPTP from starting up -- you must use the command line option.
3. A new "dev" target has been added. It is a large image containing the custom-built FFmpeg library, NQPTP, Avahi and D-Bus along with the Shairport Sync source and
all necessary development tools. When started, Avahi, D-Bus and NQPTP are all installed and running. The bash shell has also been added and is entered.
Stability Improvements
Reorganise session preemption to fully terminate the existing session before starting a new one.
Don't delay closing the event port to wait for it to be closed at the client end.
Add a safe_socket_close() function to ensure sockets are fully closed. Use -1 to designate closed rather than 0, to prevent attempts to reclose sockets, causing mayhem.
Re-order FFmpeg decommissioning during teardown.
2026-05-18 09:57:12 +01:00
Mike Brady and GitHub
0965077c0e
Update PulseAudio and PipeWire documentation [skip ci]
...
Removed redundant information about user services and automatic startup of Shairport Sync. Added a link to the relevant section for starting Shairport Sync as a user service.
2026-05-13 15:12:28 +01:00
Mike Brady and GitHub
0bd9271ea9
Update MQTT and remote control features in README [skip ci]
2026-05-10 09:02:07 +01:00
Mike Brady and GitHub
f0d40ee2a8
Clarify MPRIS and D-Bus interface descriptions [skip ci]
...
Updated descriptions for MPRIS and D-Bus interfaces to clarify functionality.
2026-05-10 08:53:12 +01:00
Mike Brady and GitHub
48559c45df
Clarify D-Bus interface usage in Shairport Sync [skip ci]
...
Reorganize content for clarity regarding the D-Bus interface.
2026-05-10 08:25:44 +01:00
Mike Brady and GitHub
4a4c887bdc
Update D-Bus documentation for remote control features [skip ci]
...
Clarified that Remote Control and Advanced Remote Control only work on Classic Airplay.
2026-05-10 08:25:16 +01:00
Mike Brady and GitHub
2ee523231f
Revise bug fix details for Classic AirPlay Remote Control [skip ci]
...
Updated the bug fix section for Classic AirPlay Remote Control to clarify the issue and its resolution. Added additional details about the functionality of the AdvancedRemoteControl suite.
2026-05-10 08:18:26 +01:00
Mike Brady and GitHub
5175c19a0f
Fix typo in RELEASENOTES-DEVELOPMENT.md [skip ci]
2026-05-09 18:15:56 +01:00
Mike Brady and GitHub
003e365aee
Update release notes for version 5.0.5-dev-15 [skip ci]
...
Added release notes for version 5.0.5-dev-15, detailing bug fixes for Classic AirPlay Remote Control and enhancements for password settings.
2026-05-09 18:13:03 +01:00
Mike Brady
3cbc4b1899
Fix the incorrect signalling of the DACP port to the DACP monitor, send 'dapo' port info as text and send a token of "0" when the port becomes inaccessible.
2026-05-09 17:44:37 +01:00
Mike Brady
d30493cbc4
Quieten a debug message.
2026-05-09 17:32:30 +01:00
Mike Brady and GitHub
fd71a15dc8
Update release notes for version 5.0.5-dev-12 [skip ci]
...
Added details about password functionality for AirPlay and updated command line settings information.
2026-05-08 07:58:11 +01:00
Mike Brady
9d10249735
Update help information about password and stuffing modes. Quieten some debug messages.
2026-05-08 07:51:51 +01:00
Mike Brady and GitHub
2028639a03
Update release notes for version 5.0.5-dev-10 [skip ci]
...
Added enhancements for audio channel support and upmixing details.
2026-05-07 14:39:21 +01:00
Mike Brady
4b020a6b22
Clarify the mixdown comments.
2026-05-07 14:18:55 +01:00
Mike Brady
a50eed043e
Attempt to allow up to 31 channels of output, up from a limit of 8. Modify the mixdown setting so that "auto" only mixes downwards, e.g. 7.1 to 5.1, and never upwards, e.g. stereo to 5.1. Upmixing is not functional anyway, as the upmixing matrices are all such that the input channels are copied to their equivalent output channels and other output channels remain silent.
2026-05-07 14:06:00 +01:00
Mike Brady and GitHub
281fb34d57
Update release notes for version 5.0.5-dev-7 [skip ci]
...
Updated Docker images to use Alpine 3.23.4 and FFmpeg 8.1. Fixed benign compiler warnings from the updated compiler in Ubuntu 26.04.
2026-05-07 08:51:55 +01:00