Mike Brady
c454867a04
Merge branch 'development'
2026-06-22 11:54:59 +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
Mike Brady
3a1bfd718a
Update Docker images to use Alpine 3.23.4 and FFmpeg 8.1
2026-05-06 15:39:55 +01:00
Mike Brady
0e4bb2a8ff
Quieten a compiler warning on Ubuntu 26.04.
2026-05-05 12:02:51 +01:00
Mike Brady
eb82fa32b7
Fix an error if built without metadata support
2026-05-01 16:09:58 +01:00
Mike Brady
4f2a64fa39
Suppress am unused_result warning.
2026-05-01 16:09:02 +01:00
Mike Brady and GitHub
befe1d4a1a
Fix comment for systemd-dev installation command [skip ci]
2026-05-01 15:52:01 +01:00
Mike Brady and GitHub
052fd10acc
Update release notes for version 5.0.5-dev-2 [skip ci]
...
Updated version number to 5.0.5-dev-2-g2400aae4 and clarified it as effectively 5.0.4-dev-9-g68b6d4df.
2026-04-27 13:23:40 +01:00
Mike Brady
2400aae44b
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
documentation update
2026-04-27 13:19:32 +01:00
Mike Brady
41a5cee654
5.0.5-dev
2026-04-27 13:18:57 +01:00
Mike Brady and GitHub
280e30ce78
Update release notes for version 5.0.4-dev-9 [skip ci]
...
Added bug fix for PulseAudio backend initialization issue.
2026-04-27 13:18:00 +01:00
Mike Brady
68b6d4dfb7
Fix missing configuration mapping parameter in PulseAudio backend initialisation.
2026-04-27 12:46:13 +01:00
Mike Brady
eed1b9f0b9
Fix missing configuration mapping parameter in PulseAudio backend initialisation.
2026-04-27 12:43:51 +01:00
Mike Brady and GitHub
323fa1eee8
Update systemd-dev installation instructions in BUILD.md [skip ci]
...
Clarified instructions for installing systemd-dev and added a dry-run command for safety.
2026-04-27 09:48:44 +01:00
Mike Brady and GitHub
1431a1c529
Update BUILD.md with warning about systemd-dev [skip ci]
...
Added caution regarding installing systemd-dev on backported systems.
2026-04-27 09:44:03 +01:00
Mike Brady and GitHub
930e523757
Update instructions for systemd-dev installation [skip ci]
...
Added caution regarding installing systemd-dev on backported systems.
2026-04-27 09:42:49 +01:00
Mike Brady and GitHub
c3443a13be
Update version and add AirPlay 2 features [skip ci]
...
Updated version number and added new features related to AirPlay.
2026-04-26 11:22:27 +01:00
Mike Brady
936b838714
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
Online docmentation updates.
2026-04-26 11:00:35 +01:00
Mike Brady
ec199d69ba
Don't require plist library for Classic AirPlay rtsp message utilities.
2026-04-26 11:00:17 +01:00
Mike Brady and GitHub
9ab4fee926
Update release notes for version 5.0.4-dev-2 [skip ci]
...
Added new features, bug fixes, and other changes for version 5.0.4-dev-2.
2026-04-26 10:54:47 +01:00
Mike Brady
83de0207ac
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
Small changes fixed.
2026-04-26 10:30:53 +01:00
Mike Brady
11052b7896
Lot of changes here.
...
1. check_classic_mac_basic.yml — update to latest macOS-latest
2. docker-on-push-tag-or-pr — dependant updates
3. FFTConvolver — fix a compilation warning when the DEBUG flag is turned off
4. Reorganise some source files — e.g. move most of the metadata stuff into a subdirectory
5. Remove unused special-purpose AirPlay 2 RC event handler.
6. Reorganise source files and source code relating to the standard event handler.
7. Check configuration settings a little more carefully to offer more meaningful diagnostics.
8. Add password to AirPlay 2 and reorganise initialisation to set AirPlay 2 flags accordingly. Also, remove redundant airplay_pin.
9. Remove redundant debug facility definitions from common.h
10. Make it possible to omit all the dacp stuff from a build.
11. Make it possible to omit metadata multicast from a build.
12. Add AP2-native metadata by setting bit 50 of features to true.
13. Improve stability when pre-empting an existing play session.
14. Fix a few compiler warnings in the pair_ap library.
15. Ensure that the audio format is known before starting synchronisation.
16. Improve handle_configure to set/clear a new config setting. Doesn’t seem to do anything…
17. Experimentally turn off bit 46 of AirPlay 2 features — seems to stop failing pair-verify attempts.
2026-04-26 10:23:18 +01:00
Mike Brady
eba76c21af
5.0.4-dev
2026-04-25 11:33:40 +01:00
Mike Brady and GitHub
61f1730402
Update release notes for version 5.0.3 [skip ci]
2026-04-25 11:23:41 +01:00
Mike Brady
6ef48e59e6
5.0.3
2026-04-25 11:22:18 +01:00
Mike Brady and GitHub
06e824be0c
Merge pull request #2192 from mikebrady/revert-2188-mqtt-inform-publish-errors
...
Revert "mqtt: promote publish-error log paths to inform() for debuggability"
This needs to be done to the `development` branch.
2026-04-20 10:10:36 +01:00
Mike Brady and GitHub
32458c08aa
Revert "mqtt: promote publish-error log paths to inform() for debuggability"
2026-04-20 10:09:44 +01:00
Mike Brady and GitHub
4ecd42eda3
Merge pull request #2188 from harreh3iesh/mqtt-inform-publish-errors
...
MQTT: promote publish-error log paths to inform() for debuggability
2026-04-20 10:09:29 +01:00
Mike Brady and GitHub
2537e7ff85
Update release notes for version 5.0.3-dev-4 [skip ci]
...
Fixed an issue with getifaddrs() to prevent an uncancellable error.
2026-04-13 16:37:42 +01:00
Mike Brady
07ca1891da
Make code using getifaddrs uncancellable to prevent a "Unexpected error 9 on netlink descriptor" error.
2026-04-13 16:31:32 +01:00
Mike Brady and GitHub
93a7aeff81
Merge pull request #2187 from mikebrady/dependabot/github_actions/development/docker/build-push-action-7.1.0 [skip ci]
...
Bump docker/build-push-action from 7.0.0 to 7.1.0
2026-04-12 12:18:25 +01:00
Mike Brady and GitHub
b585f8c089
Update release notes for version 5.0.3-dev [skip ci]
...
Added version 5.0.3-dev release notes with small changes and build update.
2026-04-08 14:27:49 +01:00
Mike Brady
2474037b0c
5.0.3-dev and add some diagnostics around a pesky fault condition.
2026-04-08 13:56:23 +01:00
Mike Brady
c62c34a67e
Remove some debug messages.
2026-04-08 13:42:46 +01:00
Mike Brady
d84c733380
Make the soxr delay checker thread behave better when being cancelled.
2026-04-08 13:07:56 +01:00
Mike Brady
0291d3656e
Add warnings if string or boolean parameters were present but not strings.
2026-04-08 13:04:38 +01:00
Mike Brady
a45bf3db01
Quieten a buffer empty debug message [skip ci]
2026-04-07 16:47:40 +01:00
Mike Brady
ad8389be5d
Fix a warning message.
2026-04-07 16:46:38 +01:00
Mike Brady
873a35c591
fix a couple of error messages
2026-04-07 16:13:36 +01:00
Mike Brady
abede0a4f7
Improve behaviour when there is a large timing uncertainty/granularity and a largeish audio buffer. e.g. on a VM.
2026-04-07 16:12:40 +01:00
Mike Brady and GitHub
b3b3a43cd2
Update release notes for version 5.0.1-38 [skip ci]
...
Removed Apple ALAC Decoder from AirPlay 2 build due to security issues.
2026-04-06 16:48:26 +01:00
Mike Brady
f784e463e4
Don't allow the Apple ALAC decoder to be included in an AirPlay 2 build. [skip ci]
2026-04-06 16:36:57 +01:00
Mike Brady and GitHub
2edda96ac6
Update release notes for version 5.0.1-36-g6729802d [skip ci]
...
Updated release notes to reflect changes in version 5.0.1-36-g6729802d, including updates to the Shairport Sync systemd service file and a bugfix related to the UUID library requirement.
2026-04-06 13:18:27 +01:00
Mike Brady and GitHub
6729802d6f
Merge pull request #2174 from mikelei8291/fix-systemd [skip ci]
...
Fix `systemd` unit options -- require NQPTP to be present and running before starting the AirPlay 2 build of Shairport Sync.
Many thanks!
2026-04-06 13:11:40 +01:00
Mike Brady and GitHub
9b8c56dcea
Update RELEASENOTES-DEVELOPMENT.md for version 5.0.1 [skip ci]
...
Updated release notes for version 5.0.1, including bug fixes, documentation updates, and changes related to AirPlay 2.
2026-04-06 12:49:36 +01:00
Mike Brady and GitHub
20a87fefec
Merge pull request #2183 from mikebrady/dependabot/github_actions/development/docker/login-action-4.1.0
...
Bump docker/login-action from 4.0.0 to 4.1.0
2026-04-06 12:41:35 +01:00
Mike Brady
0b0ffcc04b
Remove an requirement for libuuid for FFmpeg and update some carelessly reused AirPlay 2 error messages to refer to FFmpeg. [skip ci]
2026-04-06 12:39:50 +01:00
Mike Brady
11d7fe6b8c
minor debug message update. [skip ci]
2026-03-30 13:14:43 +01:00