Mike Brady
60143518c2
This squashed commit comprises a long series of improvements, bug fixes, optimizations, and new feature additions:
...
- 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!
2025-02-23 13:31:17 +00:00
Mike Brady and GitHub
39781ece71
Update shairport-sync.conf
...
Fix a typo. Thanks to OptimoSupreme (https://github.com/OptimoSupreme ) for finding it.
2025-01-03 15:08:47 +00:00
aaronk6
cda315b6aa
Add support for MQTT autodiscovery
2024-09-24 20:32:08 +02:00
Mike Brady
597aba0ca6
Use an explicit 'is_running' flag in the sndio back end. Correct/improve some sndio documentation.
2024-07-22 10:28:30 +01:00
Mike Brady
0099831cb7
Revert the session timeout from one munite back to two minutes (120 seconds)
2024-06-30 09:53:41 +01:00
Mike Brady
6be34b7f2b
set the session timeout to one minute by default.
2024-06-29 20:01:39 +01:00
Mike Brady
7aaaf0c96d
Move the PipeWire stanza up in the configuration file.
2023-10-06 11:13:30 +01:00
Mike Brady
98679bbb54
Add PipeWire sink target setting. Fix PipeWire node name code, duh, remove code that was double-deallocating settings strings.
2023-10-06 10:51:49 +01:00
Mike Brady
288e5eb695
Change node_name default to "Shairport Sync", parameterise a few settings.
2023-10-05 16:40:42 +01:00
Mike Brady
3763b321b8
Add two PipeWire backend ("pw") settings -- application_name (default: "Shairport Sync") and node_name (default: "shairport-sync").
2023-10-05 09:41:21 +01:00
Mike Brady
8821ec2861
Update some slightly outdated comments in common.h and shairport-sync.conf
2023-07-23 13:18:52 +02:00
dasl-
ebe1ca17f2
rename to dasl_tapered
2023-07-13 21:43:25 -04:00
dasl-
baf51cf2a7
Add logarithmic volume_control_profile mode
2023-07-02 09:27:53 -04:00
Mike Brady and GitHub
8c607e2d61
Update shairport-sync.conf
...
default volume typo in configuration file
2023-01-19 17:46:30 +00:00
Mike Brady
72f1554cbb
Continuing to check the high-volume limiter. Add configuration file settings for default and threshold volume settings and timeout. Include in diagnostics, set tentative defaults.
2023-01-19 12:44:26 +00:00
Mike Brady
28f54af281
Add a new setting: resync_recovery_time to give the systems a little time to restart.
...
Clean up the tolerance and resync threshold times.
2023-01-14 12:48:18 +00:00
Mike Brady
5bc072eb9f
small layout edit to shairport-sync.conf
2022-12-30 19:21:16 +00:00
Mike Brady
5bf379f780
Add detail about the new 'progress_interval' metadata setting.
2022-11-30 16:23:26 +00:00
Mike Brady
0dc34a4617
Get rid of the -u option -- too confusing -- and instead add a --log-to-syslog option for use when starting as a daemon. Modify the startup scripts accordingly.
2022-05-25 15:56:17 +01:00
Mike Brady
b246c88fd9
Stop using libdaemon and use FreeBSD's daemon utility to deamonise and control shairport sync.
2022-05-20 12:30:08 +01:00
Mike Brady
38bbad6f63
Remove the requirement for Avahi in the systemd startup file unless Avahi is included in the build.
2022-04-05 07:22:34 +01:00
Mike Brady
fbe0565a68
Remove the illegal "Provides" entry.
2022-03-11 09:38:59 +11:00
Mike Brady
afc82b1800
Declare the service provided.
2022-02-28 18:04:55 +11:00
Mike Brady
0aea810735
experiment with different startup regimes
2022-02-28 10:59:41 +11:00
Mike Brady
3d720d65bf
MQTT -- add code to deal with empty payloads by adding a dummy payload to empty messages by default.
2022-02-07 12:36:08 +00:00
Mike Brady
6ced6bc67d
Add a "mixer_control_index" setting to the "alsa" part of ther configuration file. A mixer is fully identified by a name and index, duh. Change some debug messages and add an entry to the sample configuration file.
2022-01-21 18:18:13 +01:00
Mike Brady
5617f40edd
Update the documentation a little.
2021-12-24 11:22:27 +00:00
Mike Brady
1997f16fba
Allow the airplay_device_id to be varied either by adding an offset or by replacing it completely.
2021-12-24 11:03:19 +00:00
Mike Brady
953ad8ac14
Move AP2 player termination code from handle_teardown into the player cleanup function so that cancelling the player thread cleans up properly.
2021-05-08 17:46:13 +01:00
Mike Brady
8de7f34611
fix typo
2021-03-27 14:20:22 +00:00
Mike Brady and GitHub
91adfedfd2
Update shairport-sync.conf
2021-03-07 11:18:56 +00:00
Mike Brady and GitHub
c5a3b438ff
Update shairport-sync.conf
2021-03-07 11:17:06 +00:00
Mike Brady
485e18db17
Add a default name for the pipe backend: /tmp/shairport-sync-audio
2020-09-11 17:31:55 +01:00
Mike Brady
f266e4c08b
Allow Shairport Sync native D-Bus and MPRIS services to be owned by root as well as user "shairport-sync"
2020-06-21 09:57:05 +01:00
Mike Brady
c0e5d0473e
Add the ability to direct logs etc. to a file or pipe.
2020-05-28 12:19:59 +01:00
Mike Brady
6406c296f5
Add setting to direct logs to syslog, STDERR or STDOUT
2020-05-27 16:21:35 +01:00
Mike Brady
54d761ff7d
Clean up some of the wording and layout of the configuration file
...
Clean up and improve the way lead-in sillence is used to give a more accurate sync time to the first packet of audio.
Allow very good sync to occur with 0.3 seconds of lead-in silence.
Improve the use of the buffer offset.
Format some other files.
2020-05-18 16:55:09 +01:00
Mike Brady
012dd26c77
Add the ability to set the silent lead-in parameters initial_period, minimum number of adjustments and adjustment interval, and give them sensible defaults.
2020-05-17 12:48:25 +01:00
Mike Brady
18749bc315
Add brief message about finding ALSA devices.
2020-05-16 12:49:00 +01:00
Mike Brady
a4edc649f8
Add code to do calculations involving the audio_backend_latency_offset_in_seconds and audio_backend_silent_lead_in_time settings correctly. Clean up the audio_backend_silent_lead_in_time setting by adding an "auto" setting.
2020-05-16 12:23:08 +01:00
Guillaume Revaillot
aacc4e802b
Allow to specify pulseaudio server instead of using default one.
...
Add "server" entry to pa config section, allowing to connect to a remote or a local system
pulseaudio instance instead of letting pulseaudio choose.
2020-03-27 09:39:11 +01:00
Mike Brady
1b7e23c093
Add ability to set the missing DACP port scan interval.
2020-03-25 10:40:05 +00:00
Pieter De Gendt and Pieter De Gendt
32646f22e2
jack: Rename soxr "recipe" to "quality" and configurable buffer size
2019-12-23 09:10:08 +01:00
Mike Brady
e0ffb18dbf
Modify behaviour when receiving an invalid RTSP packet to be the same as a genuine AirPort Express, but time out after two minutes anyway. Also move the retain_artwork flag to diagnostics.
2019-10-26 16:11:54 +01:00
Mike Brady and GitHub
9745d794c9
Update shairport-sync.conf
2019-10-24 10:35:27 +01:00
Mike Brady
6c57ce97d5
Add two cover_art control settings -- the cache directory to use, (or the empty string to prevent caching) and a flag to retain all art work
2019-10-20 15:43:31 +01:00
Mike Brady
686fc2a5c1
Add missing frame status field, fix a bug with the first missing frame variable, expose the settings for resending, remove some commented out code.
2019-10-10 09:23:20 +01:00
Mike Brady
db8f10cfa1
add the option (normally on) of including the file name and line number of the originrating message in a debug log message
2019-09-17 12:14:55 +01:00
Chris Boot
b9cf91b2bb
More typo fixes across the tree
...
Previously I have made spelling changes as caught by Debian's lintian
tool, which has a short list of common misspellings that it tests for.
This time I decided to run codespell against the source and fix all the
obvious problems it came up with. It also uses a list of misspellings
but it's much larger than lintian's, but also has some false positives
so I went over the list by hand.
The command I used to do check the source was:
git ls-tree -rz --name-only HEAD | xargs -0 codespell -L minimise,errorstring
2019-07-27 00:05:38 -03:00
Mike Brady
a8faacd3fc
Expose some of the settings used in the disable_standby_mode.
...
Specifically, firstly, the disable_standby_mode_silence_threshold, which is the
amount of audio in the output device's hardware buffer. It should normally
be close to the value givein in the audio_backend_buffer_desired_length_in_seconds
setting. If it drops to this value, silence is added to the buffer to prevent
the output device from becoming idle.
Secondly, the disable_standby_mode_silence_scan_interval is the time between checks
of the output device's hardware buffer.
The code for generating frames of possibly-dithered silence has been simplified.
2019-06-20 10:45:27 +01:00