Releases: mikebrady/shairport-sync
Version 3.1s5 – Development Release
New Feature
- A new command line option --logOutputLevel that logs the output level whenever the volume is changed. It's meant to be useful if you have to to determine the right level to set in volume_max_db.
Bug fix
- Sometimes when you stop a play and quickly start another, a short piece of audio from the end of the old session will play before the new session starts. Fixed by improving the flush command and by ignoring the first few frames after a play starts.
Enhancements
- Better reporting when a pipe can't be written to or can't be opened.
Further extensive changes have been to make code sections reentrant.
Your stability reports are welcome.
Version 3.0.2 – Small backend bug fixes
Bug Fixes
- Fix bugs in
ao
,pulseaudio
andsndio
backends. They were checking for default rate and depth information, even though it isn't used. Now, they don't do any checking.
Version 3.1d1 – Development Version
This is a stability update. Some users have reported occasional crashes particularly when a play session ends and another begins immediately. The thread that plays a session was not reentrant, and this may have been causing those stability problems. The changes made were quite extensive, so more bugs may have been reintroduced.
Please note that there are still problems with SoundCloud. SoundCloud seems to have problems with AirPlay in general -- the problems are not specific to Shairport Sync.
Bug Fixes
- Fixed a bug that was causing Shairport Sync to possibly make a very loud and alarming noise whenever an audio frame was missing.
- In 2.8.6, a change was made to the way Shairport Sync identified itself, so that it could be recognised by TuneBlade as an open source application and treated preferentially. That change was inadventently lost in the transition from 2.8.6 to 3.0. Now it's restored.
Version 3.0.1 – Bug fixes
This update fixes one alarming and potentially very noisy bug and restores the identification of Shairport Sync as "ShairportSync" so that TuneBlade recognises it as an open source application.
Bug Fixes
- Fixed a bug that was causing Shairport Sync to possibly make a very loud and alarming noise whenever an audio frame was missing.
- In 2.8.6, a change was made to the way Shairport Sync identified itself, so that it could be recognised by TuneBlade as an open source application and treated preferentially. That change was inadventently lost in the transition from 2.8.6 to 3.0. Now it's restored.
Version 3. Support for 24- and 32-bit DACs, Apple's ALAC decoder, more...
Big Update
Version 3 brings in support for 24-bit and 32-bit (and 8 bit!) DACs and for DACs running at multiples of 44,100 samples per second.
The most obvious audible change is if you are using software volume control and can take advantage of 32- or 24-bit DACs. Dithering can now occur on a 32-bit or 24-bit sample rather than on a 16-bit sample, making the noise floor very much lower. This is the case, for example, with a Pimoroni PHAT DAC.
Here is the list of new features:
New Features
- 8-bit, 16-bit, 24-bit, 24-bit three-byte (S24_3LE and S24_3BE) and 32-bit output to ALSA devices.
- 44,100, 88,200, 176,400 and 352,800 sample per second output. This is done using simple sample replication and without interpolation.
- Internal processing including software volume control and interpolation is done after sample size and rate conversion.
- Apple ALAC decoder support. This needs the
libalac
library, available at ALAC, to be installed. Add the flag--with-apple-alac
to the./configure
arguments. Then you can choose the Apple ALAC decoder in the configuration file. - Support for
mbed TLS
has been added and the use ofPolarSSL
is deprecated, asmbed TLS
is a development ofPolarSSL
andPolarSSL
itself is not being developed further. - Choose Network Interface. Add a new setting, for advanced users only, in the
general
section. Use theinterface
setting to allow you to specify the interface on which to provide the AirPlay service. Omit the setting to get the default, which is to choose the interfaces automatically. - Set Max Volume. Add a new setting, for advanced users only, in the
general
section. Use thevolume_max_db
setting to allow you to specify the maximum level to set on the hardware mixer (if chosen) or the built-in software mixer otherwise. The software mixer's range is 0.0 dB to -96.1 dB. The setting must be a number with a decimal point, e.g. 21.3. - An experimental new back end for
libsoundio
, a C library for cross-platform real-time audio input and output. Many thanks to Serg Podtynnyi. Please see #433 for more details.
Pesky Changes You Cannot Ignore
- Processor load is up by about 11%.
- Settings have changed -- basically, any timings that were denominated in frames are now in seconds. Please refer to the shairport-sync.conf.sample file for details.
- Sox-based interpolation at higher sample rates may overload your CPU.
Version 3.0rc0 – Release Candidate 0
Version 3 is a big update -- please see below.
New Feature
- An experimental new back end for
libsoundio
.Libsoundio
is a C library for cross-platform real-time audio input and output. Many thanks to Serg Podtynnyi. Please see #433 for more details.
Other changes
- Updates to
man
page and README. Reports of typos or suggestions for improvement are welcome!
Version 3.0d24 – Development Version
Version 3 is a big update -- please see below.
New Feature
- Set Max Volume. Add a new setting, for advanced users only, in the
general
section. Use thevolume_max_db
setting to specify the maximum level to set on the hardware mixer (if chosen) or the built-in software mixer otherwise. The software mixer's range is 0.0 dB to -96.1 dB. The setting must be a number within range, and with a decimal point, e.g. -21.3.
Version 3.0d23 – Development Version
New Feature
- Choose Interface. Add a new setting, for advanced users only, in the
general
section. Use theinterface
setting to allow you to specify the interface on which to provide the AirPlay service. Omit the setting to get the default, which is to choose the interfaces automatically.
Version 3.0d22 – Development Version
Bug Fix
- Fixed a bug which prevented successful building in the OpenWrt build system. The problem was caused by an
#include apple_alac.h
inplayer.c
which was actioned even if the apple alac decoder was not selected. This caused the OpenWrt build system to expect the standard C++ library – required by the apple alac code – to be referenced, but it was not specified on the build manifest and therefore stopped the build. The solution was to make the#include
conditional on selecting the apple alac decoder.
Version 3.0d21 – Development Version
Bug Fix
- Fix a bug that turned off resync by default. Oops.
- (d20) Fix a small and generally silent error in configure.ac so that it only looks for the systemd directory if
systemd
has been chosen. It caused a warning when cross-compiling.