Skip to content

Releases: mikebrady/shairport-sync

Version 3.2d5 (and 3.2d4) –– Important: change of default use of hardware mute

04 Sep 10:12
Compare
Choose a tag to compare

Version 3.2d5

Bug Fixes??

  • Using infer, a number of silent issues have been detected, such as not checking some calls to malloc to ensure the response is not NULL. Most of these have been addressed by additional checks.

Version 3.2d4

Change of Default

  • The default value for the alsa setting mute_using_playback_switch has been changed to "no" for compatability with other audio players on the same machine. The reason is that when this setting is set to "yes", the output device will be muted when Shairport Sync releases it. Unfortunately, other audio players using the output device expect it to be unmuted, causing problems. Thanks to Tim Curtis at Moode Audio and Peter Pablo for clarifying the issue.

Important Note

  • When you update to the from a previous version of Shairport Sync, your output device may have been left in a muted state. You should use a command line tool like alsamixer to unmute the output device before further use.

Version 3.2d3 –– Development Version

28 Aug 11:20
Compare
Choose a tag to compare

Bug Fixes

  • Fix handling of player lock, simplify and improve handling of loss of connection, improve some debug messages. This all follows on from the change to protocol handling in 3.2d1, which has simplified and clarified a number of situations.

Version 3.2d2 –– Development Version

25 Aug 21:09
Compare
Choose a tag to compare

More changes to accommodate the change in the treatment of the TEARDOWN message.

Version 3.2d1 –– Development Version

25 Aug 10:43
Compare
Choose a tag to compare

Bug Fixes

  • There has been a persistent problem with Shairport Sync becoming unavailable after playing, say, a YouTube clip.
    Previously, it has been partially caused by Shairport Sync crashing due to not being written in a thread-safe manner. That's been fixed, so it has stopped crashing, but the non-availability problem has occasionally remained. This may be due a misunderstanding of part of the [unpublished!] AirPlay protocol. Shairport Sync 3.2d1 incorporates an experimental change to how a TEARDOWN request is handled. This seems to fix the non-availability issue. As a bonus, Shairport Sync works properly with SoundCloud in Safari and Chrome on a Mac.

[Update] It's not quite there yet. Some other parts of the code must be adjusted, but it looks very hopeful.

Version 3.1.1 – Bug Fixes

19 Aug 15:42
Compare
Choose a tag to compare
  • A bug in the sndio backend has been fixed that caused problems on some versions of Linux. Thanks to tsia for the bug report.
  • A change has been made to how Shairport Sync responds to a TEARDOWN request, which should make it respond better to sequences of rapid termination and restarting of play sessions. This can happen, for example, playing YouTube videos in Safari or Chrome on a Mac. Thanks to shidevil for the bug report.
  • Choosing soxr interpolation in the configuration file will now cause Shairport Sync to terminate with a message if Shairport Sync has not been compiled with SoX support.
  • Other small changes.

Version 3.1.1rc1 – Bug Fixes

14 Aug 16:44
Compare
Choose a tag to compare
Pre-release

Bug Fixes

  • A bug in the sndio backend has been fixed that caused problems on some versions of Linux.
  • A change has been made to how Shairport Sync responds to a TEARDOWN request, which should make it respond better to sequences of rapid termination and restarting of play sessions. This can happen, for example, playing YouTube videos in Safari or Chrome on a Mac.
  • Choosing soxr interpolation in the configuration file will now cause Shairport Sync to terminate with a message if Shairport Sync has not been compiled with SoX support.
  • Other small changes.

Version 3.1 –– Better FreeBSD & PulseAudio Support, Enhancements and Bugfixes

06 Aug 17:12
Compare
Choose a tag to compare

The big news is that Version 3.1 brings two new backends offering native *BSD support and synchronised PulseAudio support. Additionally it contains new optional loudness and convolution filters, improvements in non-synchronised backends, enhancements, stability improvements and bug fixes.

New Features

  • A sndio backend gives Shairport Sync native fully synchronised output on OpenBSD and FreeBSD, thanks to the work of Tobias Kortkamp (t6).
  • A pa backend now allows Shairport Sync to provide synchronised output on PulseAudio-equipped systems (many desktop Linuxes use PulseAudio as their sound manager).
  • Optional loudness and convolution filters can be incorporated in the audio processing chain, thanks to the fantastic work of yannpom.
  • A volume-change program hook run_this_when_volume_is_set has been added to the general settings stanza to execute an application whenever the volume is changed.

Pesky Changes You Should Know About

  • The audio_backend_buffer_desired_length_in_seconds and audio_backend_latency_offset_in_seconds settings have been moved from individual backend stanzas to the general stanza. They now have an effect on every type of backend.
  • If you are using a System V (aka systemv) installation, please note that the default location for PID file has moved -- it is now stored at /var/run/shairport-sync/shairport-sync.pid. This change is needed to improve security a little and to improve compatability across platforms. If you're not doing anything strange, this should make no difference.

Enhancements

  • Resynchronisation, which happens when the synchronisation is incorrect by more than 50 ms by default, should be a lot less intrusive when it occurs – it should now either insert silence or skip frames, as appropriate.
  • The Linux installer has been improved and simplified and a FreeBSD installer introduced.
  • A new setting, audio_backend_silent_lead_in_time, allows you to set the duration of the period of silence played (the "silent lead-in") before a play session starts.
  • A new command-line option, --logOutputLevel, allows you to output the volume levels to the log whenever they are changed. This may be useful during setup.
  • Improvements have been made to the handling of large items of metadata over UDP.
  • A new command line option, -j, demonizes Shairport Sync without creating a PID file.
  • A new alsa-only setting, mute_using_playback_switch, is available for advanced use.
  • Other minor enhancements.

Bug Fixes

  • Stability improvements. More care has been taken (!) to make code thread-safe, resulting in improved stability.
  • Conversion from stereo to mono has been fixed to avoid clipping while preserving full resolution. Thanks to Robert Jones (RobDeBagel) for bringing this to notice.
  • Short intrusions of audio at the start of a new session from the end of the previous session have been eliminated.
  • Many (many!) miscellaneous bugs fixed.

Version 3.1d16 – Synchronised PulseAudio and FreeBSD support

18 May 11:03
Compare
Choose a tag to compare

Big News: Synchronised Support for PulseAudio and FreeBSD/OpenBSD

Fully synchronised support has been added for PulseAudio and for FreeBSD/OpenBSD.

A new PulseAudio back end, called pa, supports fully synchronised audio on PulseAudio-based sound systems. (Most recent desktop Linux distributions use PulseAudio as the basis for their audio architecture.)

The greatly-enhanced sndio back end supports fully synchronised audio on FreeBSD / OpenBSD systems using their native sndio audio system. Thanks to the work of t6.

Both of these are somewhat incomplete – they don't have support for different resolutions or speeds yet, and they don't support native volume control. But both are big improvement on what went before, and your feedback is welcome.

Version 3.1d6 – Development Release

16 Apr 20:21
Compare
Choose a tag to compare
Pre-release

New Feature

An extensively enhanced and updated backend for sndio thanks to the work of t6.

sndio is "the software layer of the OpenBSD operating system that manages the use of sound cards and MIDI ports." Additionally, sndio "... pays special attention to synchronization mechanisms and reliability required by music applications".

Using sndio brings the possibility of "native" synchronisation to *BSD. In fact, it already works but with some workarounds. The synchronization may not be exact, but it doesn't overrun or underrun. More exploration necessary.

Bug fix

  • Fixed an off-by-one bug which allowed one more port than specified in the udp_port_range setting. Thanks to kingosticks for the alert.
  • Various small bugfixes to the sndio backend.

Version 3.1s5 – Development Release

07 Apr 19:47
Compare
Choose a tag to compare
Pre-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.