Mike Brady
89e99f28a5
Improve initial sync calculations, even with short (0.3 sec) silent lead-in times.
2020-05-18 17:00:56 +01:00
Mike Brady
14d75679be
Fix calculation of latency -- honour the signs of the offset and account for the DAC buffer size.
2020-05-14 20:45:52 +01:00
Mike Brady
1f9be7d6aa
Remove leading zeroes from the DACP ID provided by mDNS
2020-03-26 17:04:25 +00:00
Mike Brady
ff3cef4471
If the DACP port is zero, do a zeroconf re-broswe every two seconds in case it has been missed.
2020-03-25 10:17:39 +00:00
Mike Brady
db34ec8d3c
Move from fixed-point 64-bit timing to unsigned nanosecond timing
2020-02-25 16:13:39 +00:00
Mike Brady
1f52693884
This is 3.3.6 with some documentation updates and a tiny edit
2020-02-22 18:25:14 +00:00
Mike Brady
d6c6e8c1b7
Don't use strndup as old versions of OpenWrt don't seem to have it
2020-02-20 18:24:32 +00:00
Mike Brady
d017ac3948
Brown bag -- this is what 3.3.6d9 was supposed to do!
2020-02-19 14:34:51 +00:00
Mike Brady
d237d72c97
fix comparison between old and new metadata strings by checking they have equal lengths as well. Remove a redundant definition to prevent use on an uninitialised copy, clean up some of the less-used backends
2020-02-19 09:36:59 +00:00
Mike Brady
a3cf72c8ce
Add the -fno-common flag to compilation. Treat the "mper" attribute correctly as a 64 bit item and output it in hex to correspond with AppleScript.
2020-02-18 14:11:32 +00:00
Mike Brady
0902cdfe1a
Make some changes to remove new warnings from tinysvcmdns.c in gcc-10
2020-02-14 16:28:45 +00:00
Mike Brady
17759c97ed
Add a SIGCHLD handler to reap zombie processes generated after script invocations where wait_for_completion is set to "no".
2020-02-11 22:44:50 +00:00
Mike Brady
a7018e4cb8
Use a different workaround for forked-daapd remote access and clean up a few small issues.
2020-01-10 17:23:31 +00:00
Mike Brady
99d99b417a
Remove timeout on reception of DACP responses to allow for long poll behaviour of some players, e.g. Forked Daapd. Add some examples to the dbus client.
2020-01-10 08:31:40 +00:00
Mike Brady
272bd2db48
Add the ability to set the volume directly to the D-Bus RemoteControl interface and to the MPRIS interface. Both use the recently-discovered ability to set the device_volume.
2019-12-23 12:12:43 +00:00
Mike Brady and GitHub
362ae3f7d8
Update configure.ac
2019-12-23 12:03:21 +00:00
Mike Brady
aba0492ef4
Start 3.3.6d1 from 3.3.5
2019-11-24 22:41:30 +00:00
Mike Brady
78c9331c2c
Update sample D-Bus commands
...
Rename D-Bus LoudnessFilterActive property to Loudness and friends
Update sample D-Bus commands
Add D-Bus convolution filter controls -- enable convolution filters to be turned on and off or changed; enable convolution gain to be checked and changed; fix loudness control.
Fix D-Bus loudness switch silencing output. Rename LoudnessFiulterActive to Loudness. Add Convolution, ConvolutionGain and ConvolutionImpulseResponseFile properties to the D-Bus interface.
Bug fix: correct frame size entry for S24 format
2019-11-13 22:04:22 +00:00
Mike Brady
e55f5c6765
Add D-Bus convolution filter controls -- enable convolution filters to be turned on and off or changed; enable convolution gain to be checked and changed; fix loudness control.
2019-11-11 21:47:04 +00:00
Mike Brady
0ba297feb9
Starting on 3.3.5...
2019-11-08 12:36:52 +00:00
Mike Brady and GitHub
c8ea68b8c8
Fix small compilation error in 3.3.3.
2019-10-28 08:59:50 +00:00
Mike Brady
54d1323851
Fix a compilation error and tidy up some messages.
2019-10-28 08:53:04 +00:00
Mike Brady and GitHub
07e2e02f48
Bug fixes and minor enhancements
2019-10-27 09:51:59 +00:00
Mike Brady
f93871d5b5
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:13:07 +01:00
Mike Brady
85a3fe6ac4
Fix crash when a non-RTSP packet is sent to the session's RTSP port.
2019-10-26 10:40:37 +01:00
Mike Brady
cfe25834a6
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:44:20 +01:00
Mike Brady
cb1b15ed70
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:24:17 +01:00
Mike Brady
1fcf7f66ab
Rewrite the resend code to improve the logic and roll up sequential resend requests into one.
2019-09-22 21:11:12 +01:00
Mike Brady and GitHub
677684de04
Bug fixes
...
Fixes an error whereby the 'pvol' volume metadata was no longer sent if Shairport Sync was configured to ignore volume control information coming from the audio source. Addresses issue #903 .
Fixes a compilation error if including the MQTT client.
2019-09-10 10:08:47 +01:00
Mike Brady
4f09a3299e
Fix occasional crashing bug in Ububntu 14.04 (sometimes triggered by DHCP renewal and Avahi / dbus issues) by removing second avahi threaded poll and an unnecessary avahi service client (very sparse Avahi documentation), also remove obselete SIG setup code.
2019-09-04 09:24:34 +01:00
Mike Brady
c1f6e2ea18
Fix Issue #890 -- https://github.com/mikebrady/shairport-sync/issues/890
...
Fix metadata issues with the dbus and the MPRIS interfaces -- handle missing artwork properly, make the 'available' property more resilient.
2019-08-29 11:56:13 +01:00
Mike Brady
3c78283c9f
Updates from 3.3.1:
...
1. Fix a bug that sometimes caused a crash when a service name was specified in the configuration file.
The fix was to be more systematic in allocating and deallocating memory for temporary strings.
Thanks to Chris Boot, Ari Sovijarvi and Jeroen Massar for the bug report. Fixes Debian Bug report #925577 .
2. Allow the rtsp_listen_loop to exit if the RTSP port (usually port 5000) is not available. This allows the system to exit cleanly rather than abort.
3. Expose some of the settings used in the disable_standby_mode.
The first setting 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 given 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.
The second new setting is the "disable_standby_mode_silence_scan_interval" which is the time between checks of the output device's hardware buffer.
4. The code for generating frames of silence, which may be dithered, has been simplified.
5. Pretty-print source files using:
find . \( -name \*.cpp -or -name \*.h -or -name \*.c \) -exec clang-format -i -style='{BasedOnStyle: llvm, IndentWidth: 2, ColumnLimit: 100}' '{}' \;
6. Change comments for use_precision_timing.
2019-07-26 11:26:22 +01:00
Mike Brady
e6bd5b1556
Fix a bug that sometimes caused a crash when a service name was specified in the configuration file. Some other minor changes.
2019-07-21 08:52:27 +01:00
Mike Brady
7d6b52edd4
Expose some of the settings used in the disable_standby_mode and tidy up some of the silence-generating code.
2019-06-20 10:53:57 +01:00
Mike Brady and GitHub
34b96729a2
Refine the precision timing code
...
Only allow it if the output device is a hardware device
2019-06-17 22:27:03 +01:00
Mike Brady
b41c9863f3
bring in small changes from 3.3.2 master branch
2019-06-07 17:52:20 +01:00
Mike Brady
9c54bfa991
*Bug Fixes*
...
* Fix a bug in the MQTT documentation and add sanity checking for the port chosen.
* Fix a bug that caused manual format and rate setting to be ignored.
* Add missing support for format settings S24_LE, S24_BE, S32_LE and S32_BE.
* Fix a bug that caused dither to be too loud.
* Fix error message for invalid standby mode choice.
2019-06-05 15:05:54 +01:00
Mike Brady and GitHub
9d96906402
Update configure.ac
2019-06-02 18:05:40 +01:00
Mike Brady
13fcd259c3
Merge branch 'development' 3.3rc7+ to 'master'
2019-05-24 16:42:23 +01:00
Mike Brady
4aea4cc5c6
Always use /etc/dbus-1/system.d for dbus policy documents in Linux, but continue to use the top-level directory path specified by the sysconfdir variable for *BSD
2019-05-12 15:40:40 +01:00
Mike Brady and GitHub
d36c5534b7
Update configure.ac
2019-05-11 11:01:46 +01:00
Till Zimmermann
60b9347a00
Fixed Cover Bug, checking dependencies
2019-05-09 11:59:02 +02:00
Mike Brady
47e36f228c
Fix a stupid error in 3.3rc5.
2019-05-07 12:26:27 +01:00
Mike Brady
154e315cd9
Automatic rate and speed selection for alsa output devices. Better support for big-endian CPUs. Change "while_active" setting for "auto" in "disable_standby_mode"
2019-05-07 10:35:32 +01:00
Mike Brady
fc1418fcc2
RC4, and remove code that always adds the commit signature -- not ready for its close-up yet.
2019-04-28 20:48:03 +01:00
Mike Brady
6cbaa15bdd
Turn on the configuration flag for building soxr support in when the pkg_config is not available.
2019-04-15 17:07:34 +01:00
Mike Brady
6d088ac4d9
reinstate the development branch README.md, stop including libdaemon automatically, improve some erro messages concerning -k / -d options.
2019-04-05 16:21:58 +01:00
Mike Brady
df95e7fb25
Improve the calculation of the length of the initial buffer of silence, to make it reasonably long in order to be better able to fill deep DAC buffers without underflow.
2019-04-02 14:26:39 +01:00
Mike Brady
ff9c61302d
Revert to snd_pcm_delay if an alsa output device does not provide timed delay updates and turn off disable_standby_mode in that case. Handle L16/44100/Stereo PCM streams.
2019-03-27 11:47:21 +00:00
Mike Brady
5dc4712406
show audio_backend_buffer_interpolation_threshold_in_seconds in debug messages, add active state start and end messages to MQTT, update man pages
2019-03-16 12:09:18 +00:00