ENABLE_AVAHI decides whether dbus and avahi daemons run inside the
container or if the host's instances are reused. When set to 0,
/var/run/dbus and /var/run/avahi-daemon/socket must be bind-mounted
by the user from the host into the container.
- 48,000 frames per second operation,
- 48k lossless stereo, 5.1 and 7.1 surround sound
- Multichannel and multi rate operation on ALSA, PipeWire, PulseAudio, FreeBSD, stdout and unix pipe output backends.
Automatic, flexible and controllable output format (rate, sample format and channel count) selection.
Full FFmpeg integration to support transcoding, resampling, and new audio formats.
Better operation on lower powered devices down to e.g. Raspberry Pi B.
Reduced Docker image sizes with a slimmed-down FFmpeg library.
Enhanced timestamp handling for better synchronization.
Improved the sync error calculation.
A new "vernier" resampling and interpolation method for low-power CPUs.
Bug fixes and minor enhancements.
Note -- there are many breaking changes from previous versions of Shairport Sync!
From mandoc man(1) [-s] section:
1 General commands (tools and utilities).
[...]
7 Miscellaneous information.
From GNU man(1) DESCRIPTION:
1 Executable programs or shell commands
[...]
7 Miscellaneous (including macro packages and conventions), e.g.
man(7), groff(7)
shairport-sync is an executable, shairport-sync(1) ought to be its
documentation, not merely miscellaneous information.
OpenBSD adjusts this in its audio/shairport-sync port/package ever since.
Update Docker images o that additional command line arguments to the docker run command are passed to the shairport-sync application.
(This is the behaviour of the original 3.3.8 docker image but was missing from the AirPlay 2 development version.)
Use the s6-overlay system on the Classic docker image.
Fix a bug that delayed metadata appearing in the D-Bus, MPRIS and MQTT interfaces.
Clean up the generation of Play/Pause/Stop conditions.
Add Pause stage generation for AirPlay Buffered streams.
CLean up some of the documents.
The shairport-sync instance runs as user and group shairport-sync which has reduced privileges.
The "classic" docker image now uses the s6-overlay to manage processes.