nils
b75edeedc3
Add ohm, an OpenHome Songcast sender audio backend
...
Set variables for a Docker build (used by another workflow). / Set variables required for docker build. (push) Successful in 1s
Build and conditionally push docker image / docker-vars (push) Successful in 2s
Build and conditionally push docker image / Build and conditionally push docker image (SHAIRPORT_SYNC_BRANCH=.
, ./docker/classic/Dockerfile, classic) (push) Failing after 31m52s
Build and conditionally push docker image / Build and conditionally push docker image (SHAIRPORT_SYNC_BRANCH=.
NQPTP_BRANCH=${{ needs.docker-vars.outputs.nqptp_branch }}
, ./docker/Dockerfile, main) (push) Failing after 31m49s
Streams AirPlay audio to OpenHome/Songcast receivers as OHU unicast PCM
(16/24-bit). Sends are paced on the PTP master clock so receivers slave
to the AirPlay group clock through their buffer-fill servo; MediaLatency
carries the phase, matching the wire behaviour of Linn's own sender
(zero flags and timestamps). delay() reports the newest frame's playtime
lead so shairport feeds a receiver latency ahead. Handles Join, Listen,
Leave and Resend with a frame history, and forwards track metadata and
metatext from the metadata hub.
With -r <name>, ohm_upnp controls the receiver over UPnP: discovered by
friendly name via SSDP at time of use, woken, switched to its Songcast
source and pointed at this sender when a session starts; volume follows
the AirPlay slider capped at the device's VolumeLimit; standby follows
some minutes after the session ends.
2026-08-28 23:54:16 +02:00
Mike Brady
fadd43d06e
Merge branch 'development' to 'master' 5.2.2.
...
Summary of changes:
* If the output rate is different to the input rate (e.g. 48,000 vs 44,100), look for the deepest output bit depth so that the transcoder has the maximum dynamic range available to minimise transcoding inaccuracies.
* Fix a bug whereby the audio backend latency offset was mishandled in AirPlay 2 operation.
* Fix an output format selection bug.
* Update the README reference to the MPRIS specification to the latest version.
* Remove the explicit `-` for `xxd` to read from `STDIN`. It's not necessary, and removing it makes it easier to package Shairport Sync on other build systems, such as OpenWrt.
2026-08-22 08:59:45 +01:00
Mike Brady and GitHub
6e10eca884
Update MPRIS specification reference in documentation [skip ci]
...
Updated README reference to the latest MPRIS specification version, acknowledging Dmitry Batin for the contribution.
2026-08-21 12:05:57 +01:00
Mike Brady and GitHub
5e170a67a8
Merge pull request #2255 from demosspro/patch-1
...
Update README.md to link to latest MPRIS information.
2026-08-21 12:00:19 +01:00
DMITRY BATIN and GitHub
3ba7dfea6f
Update README.md
...
Old link not working. Add a valid link to MPRIS spec.
- [v ] Documentation update
2026-08-21 10:56:47 +03:00
Mike Brady and GitHub
6cdd0eb794
Update release notes for version 5.3-dev-21 [skip ci]
...
Added enhancement regarding output rate and bit depth for transcoding.
2026-08-20 15:51:25 +01:00
Mike Brady
6966a74c82
If the output rate is different to the input rate, look for the deepest output bit depth, to give the transcoder the chance to minimise transcoding inaccuracies.
2026-08-20 15:47:37 +01:00
Mike Brady and GitHub
c4e17b60ef
Update release notes for version 5.3-dev-19 [skip ci]
...
Added a bug fix for audio backend latency offset handling in AirPlay 2 operation, including background information and acknowledgments.
2026-08-20 11:13:42 +01:00
Mike Brady
b69e01cdf9
Correct the treatment of audio backend latency offset in Realtime streams. Fix a warning if the offset is too negative and that would require frames to be played before they could possibly arrive.
2026-08-20 10:55:30 +01:00
Mike Brady and GitHub
d8165c1143
Merge pull request #2253 from prhodey/fix/deferred-airplay2-latency [skip ci]
...
Defer buffered AirPlay 2 latency offset conversion. (It needs a further little adjustment to handle Realtime streams, but that will be done in the next commit.)
2026-08-20 10:48:35 +01:00
prhodey
4df0145372
Defer buffered AirPlay 2 latency offset conversion
2026-08-19 20:10:50 -04:00
Mike Brady and GitHub
427061fb48
Update release notes for version 5.3-dev-15 [skip ci]
...
Updated release notes to reflect enhancements and bug fixes in version 5.3-dev-15-gd0422952, including removal of unnecessary `-` for `xxd` and clarification of bug fix details.
2026-08-09 17:20:35 +01:00
Mike Brady and GitHub
d042295281
Merge pull request #2247 from kel-mo/codegen-xxd-stdin [skip ci]
...
Read the plist from `stdin` without an explicit `-` to make it easier to package on other build systems.
`xxd` reads standard input when given no file operand, so the `-` is redundant. It also breaks builds that provide `xxd` through a partial reimplementation such as OpenWrt's [`scripts/xxdi.pl`](https://github.com/openwrt/openwrt/blob/main/scripts/xxdi.pl ), which treats `-` as a file name and terminates with an error.
This PR removes the redundant `-`.
2026-08-09 10:37:23 +01:00
Kel Modderman
214eba2e7a
Read the plist from stdin without an explicit -
...
xxd reads standard input when given no file operand, so the - is
redundant. It also breaks builds that provide xxd through a partial
reimplementation such as OpenWrt's scripts/xxdi.pl, which treats - as a
file name and exits with
xxdi.pl: Unable to open -: No such file or directory
xml_plist_codegen.sh does not check for that failure, so the generated
plists/get_info_response.c ends up with an empty byte array and AirPlay 2
answers GET /info with nothing.
2026-08-09 18:27:20 +10:00
Mike Brady and GitHub
9960f9c482
Clarify bug fix process in release notes [skip ci]
...
Updated the release notes to clarify the bug fix process and ensure proper checks before audio processing.
2026-08-07 16:53:06 +01:00
Mike Brady and GitHub
f5d5d585cb
Merge pull request #2246 from mikebrady/dependabot/github_actions/development/actions/stale-11.0.0 [skip ci]
...
Bump actions/stale from 10.4.0 to 11.0.0
2026-08-03 17:42:04 +01:00
Mike Brady and GitHub
94403be1b1
Merge pull request #2245 from mikebrady/dependabot/github_actions/development/docker/login-action-4.6.0 [skip ci]
...
Bump docker/login-action from 4.5.1 to 4.6.0
2026-08-03 17:41:25 +01:00
dependabot[bot] and GitHub
31550e5be3
Bump actions/stale from 10.4.0 to 11.0.0
...
Bumps [actions/stale](https://github.com/actions/stale ) from 10.4.0 to 11.0.0.
- [Release notes](https://github.com/actions/stale/releases )
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/stale/compare/v10.4.0...v11.0.0 )
---
updated-dependencies:
- dependency-name: actions/stale
dependency-version: 11.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 10:02:58 +00:00
dependabot[bot] and GitHub
43abfd63d2
Bump docker/login-action from 4.5.1 to 4.6.0
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 4.5.1 to 4.6.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v4.5.1...v4.6.0 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 10:02:41 +00:00
Mike Brady and GitHub
5ca9ade963
Fix bug in audio output rate and format matching [skip ci]
...
Fixed a bug related to output rate and format matching in Shairport Sync. The fix ensures SPS looks for another format at the same rate if an exact match is not found.
2026-08-02 10:20:44 +01:00
Mike Brady
7f8a23b518
Remove redundant flags, add one new one and remove some commented out junk.
2026-08-02 09:37:08 +01:00
Mike Brady
4c4f18d285
Check more carefully if an exact rate and format match should be searched for. If it fails, instead of failing completely, look for the best format at the same rate.
2026-08-02 09:36:20 +01:00
Mike Brady
63ad9f7e94
quieten a debug message.
2026-08-02 09:33:44 +01:00
Mike Brady and GitHub
02ea0ea6c0
Update release notes for version 5.3-dev-3 [skip ci]
...
Added release notes for version 5.3-dev-3-gcac178a6, including a bug fix related to libdaemon.
2026-07-29 12:15:41 +02:00
Mike Brady
08af668a5d
Remove reference to log_to_syslog() if libdaemon support is included.
2026-07-29 12:15:36 +02:00
Mike Brady and GitHub
cac178a676
Merge pull request #2243 from daeho-ro/fix-log-to-syslog-libdaemon-build [skip ci]
...
Comment out the last remaining call to log_to_syslog()
2026-07-29 11:57:42 +02:00
Daeho Ro
7bfe78603e
Comment out the last remaining call to log_to_syslog()
...
Its definition in common.c and its declaration in common.h are commented
out, but the call in the libdaemon daemonise path was left behind, so
building with --with-libdaemon fails: clang reports "use of undeclared
identifier 'log_to_syslog'" and gcc fails to link with "undefined
reference to `log_to_syslog'".
2026-07-29 16:30:28 +09:00
Mike Brady and GitHub
39ad5118be
Update release notes for Version 5.3-dev [skip ci]
...
Added details for Version 5.3-dev and metadata feature restoration.
2026-07-28 18:29:53 +02:00
Mike Brady
86a5b455b2
5.3-dev is essentially 5.2.
2026-07-28 17:26:37 +01:00
Mike Brady
42bd29d6da
This is version 5.2
2026-07-28 17:15:07 +01:00
Mike Brady
367e54a3c5
Drop references to log-to and friends -- no longer used. [skip ci].
2026-07-28 16:58:55 +01:00
Mike Brady and GitHub
4f263533c3
Merge pull request #2242 from mikebrady/dependabot/github_actions/development/docker/login-action-4.5.1 [skip ci]
...
Bump docker/login-action from 4.4.0 to 4.5.1
2026-07-28 17:25:43 +02:00
Mike Brady and GitHub
97b85e6add
Merge pull request #2241 from mikebrady/dependabot/github_actions/development/actions/checkout-7.0.1 [skip ci]
...
Bump actions/checkout from 7.0.0 to 7.0.1
2026-07-28 17:25:15 +02:00
dependabot[bot] and GitHub
044d388aab
Bump docker/login-action from 4.4.0 to 4.5.1
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 4.4.0 to 4.5.1.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v4.4.0...v4.5.1 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.5.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-26 10:02:31 +00:00
dependabot[bot] and GitHub
d6a8e0398d
Bump actions/checkout from 7.0.0 to 7.0.1
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v7.0.0...v7.0.1 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-26 10:02:27 +00:00
Mike Brady
bb54e95cda
Quieten a debug message. [skip ci]
2026-07-24 17:40:57 +02:00
Mike Brady
48088400b3
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
Online documention updates.
2026-07-23 19:01:22 +02:00
Mike Brady
94e240297c
Remove the redundant "--log-to-syslog" setting from the startup script [skip ci]
2026-07-23 19:00:17 +02:00
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
acfc4ae881
Update release notes for version 5.2-dev-46 [skip ci]
...
Restores previous metadata receiving method for compatibility and adds temporary configuration option for plist-based metadata.
2026-07-23 16:45:04 +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