Commit Graph
6568 Commits
Author SHA1 Message Date
nils 73264f4534 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 28s
Build and conditionally push docker image / docker-vars (push) Successful in 28s
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 31m53s
Build and conditionally push docker image / Build and conditionally push docker image (SHAIRPORT_SYNC_BRANCH=. , ./docker/classic/Dockerfile, classic) (push) Failing after 32m4s
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.
2026-08-28 23:48:23 +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 BradyandGitHub 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 BradyandGitHub 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 BATINandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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]andGitHub 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]andGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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]andGitHub 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]andGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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 BradyandGitHub 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