summaryrefslogtreecommitdiff
path: root/RELEASENOTES.md
diff options
context:
space:
mode:
authorMike Brady <4265913+mikebrady@users.noreply.github.com>2020-12-01 12:13:05 +0000
committerGitHub <noreply@github.com>2020-12-01 12:13:05 +0000
commit8873923e84225f366c11787dddc5275565eb27a9 (patch)
treebaeb38756a36c74d5108cfda00ed651eae2188f6 /RELEASENOTES.md
parent15a7d4d297cf57e84e1cbccc7731cea823070032 (diff)
3.3.7 Final
Diffstat (limited to 'RELEASENOTES.md')
-rw-r--r--RELEASENOTES.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index 7be271a..31ebd8d 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -21,7 +21,7 @@ Version 3.3.7
* The DACP ID looks like a 64-bit number expressed in hexadecimal. It is normally quoted with leading zeroes removed, but in the `_dacp._tcp` service string, leading zeros are not removed from the DACP ID. The bug fix removes those leading zeroes. Thanks to [julianc1969](https://github.com/juliandc1969) for tracking down this bug so tenaciously!
**Enhancements**
-* Added the the string `-alac` to the the version string in '-V' if Apple ALAC decoder support is included.
+* Added the strings `-alac` and `-jack` to the the version string in '-V' if Apple ALAC decoder support and Jack Audio support are included respectively.
* Cleaned up and simplified the code that handles `FLUSH` requests coming from the player. (Debug messages are still a little verbose.)
* Improved timing estimation. Shairport Sync has been using linear least-squares regression to estimate timing drift between the (remote) source clock and the local clock. This technique is now extended to provide an estimate of the remote-to-local clock difference itself. (The remote-to-local clock difference is used to remap the timing of audio frames from the remote device's clock to the local clock.)
@@ -34,6 +34,7 @@ Version 3.3.7
* Added in commented-out code to check the timeliness of the release of audio to a back end without synchronisation, e.g. a pipe or `stdout`. TL;DR – so long as the back end does not block, frames will be released to it not more than one packet (352 frames) late.
* Logs and statistics can now be directed to the system log (default), `stdout`, `stderr` or to a file or pipe of your choice using a new setting, `log_output_to` in the `diagnostics` section of the configuration file. This is very useful when the system log is disabled or diverted.
* Audio data from the `pipe` back end and metadata from the metadata pipe are now written using standard blocking `write` commands rather than a slightly complex non-blocking write function. Pipes are now opened in non-blocking mode and changed to blocking mode when successfully opened.
+* Add a default name for the pipe backend: `/tmp/shairport-sync-audio`.
* Separate threads are now used for each metadata subsystem. Until now, all metadata was processed on a single thread. This included writing to the metadata pipe and the multicast stream and supplying metadata for the `mqtt` interface and for the `dbus` and `MPRIS` interfaces. Unfortunately, that meant that a problem with any one of these subsystems could propagate into the others. Now they all run on separate threads. If one thread blocks, it will not interfere with the other subsystems.
* Cleaned up and improved the code to synchronise the first frame of audio. This should result in more accurate and reliable initial synchronisation, usually to under a millisecond, and often to within 20 or 30 microseconds. Syncronisation should improve even when the silent lead-in time is as short as 0.3 seconds or when the `audio_backend_latency_offset_in_seconds` is as much as -1.7 seconds, i.e. when only 0.3 seconds of latency are left when the latency would normally be 2.0 seconds.
* Cleaned up some confused uses of modulo arithmetic.
@@ -43,6 +44,12 @@ Version 3.3.7
* Improved synchronisation accuracy with short silence lead-ins.
* While a player is active, the DACP port number to which to send remote commands should be broadcast over ZEROCONF/Bonjour. However, if that information is not available, Shairport Sync will now check for it every two seconds.
* The timing software in the `sndio` backend does some extra sanity checking on certain time estimates, it may help a little when running on virtual machines.
+* Make the first output backend in the list of backends the default and make its name the default `output_name`.
+* Fix a flaw in resyncing -- a flush is set up but not triggered.
+* Open metadata and audio pipes with 666 permissions to allow them to be shared by other applications.
+* Ensure metadata and cover art are enabled if metadata support is included at compilation.
+* Set convolution defaults even if no configuration file is found.
+* Handle the `active_remote_id` token as a string rather than an unsigned 32-bit number -- it seems ROON uses a longer character sequence.
Version 3.3.6
====