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
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
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
Mike Brady
0341dea47e
This is Release Candidate 0.
2019-03-04 14:28:00 +00:00
Mike Brady
0ef617924f
fix active mode lockup problem, set defaults for active mode and disable standby.
2019-02-28 22:13:21 +00:00
Mike Brady
4f1608fcbd
Fix a bug in the activity_monitor and add automatic bit-depth selection.
2019-02-26 15:24:49 +00:00
Mike Brady
623b9b4b9f
Add a CYGWIN installer.
2019-02-21 16:10:30 +00:00
Mike Brady and GitHub
78685b8528
Big update to audio_jack.c and other stuff
2019-02-19 11:13:17 +00:00
Mike Brady and GitHub
10edce3452
Update configure.ac
...
Add `-u` option and improve compatibility with older `alsa` libraries.
2019-02-17 14:42:42 +00:00
Mike Brady
804e62d495
Hook up the active mode to the disable standby facility, enabling a 'while active' setting for it. Expose them to D-Bus.
2019-02-09 18:23:52 +00:00
Mike Brady
916edea5a1
remove dependency on libdaemon -- leave it in by default, but allow the new configuration option --with-libdaemon.
2019-02-05 15:13:16 +00:00
Mike Brady
e76cfa69fe
remove dependency on libdaemon -- leave it in by default, but allow the new configuration option --with-libdaemon.
2019-02-05 15:12:51 +00:00
Mike Brady
3162977c71
make mdns-external-avahi a conditional compilation
2019-02-05 09:45:16 +00:00
Mike Brady
cb9a3076b7
New volume code, new mute code, fix cancellation memnory leaks, defer alsa device initialisation until needed.
2019-02-01 21:14:24 +00:00
Mike Brady
7639bfadbf
Fix a number of memory leaks and one #include error when using the OpenSSL library.
2019-01-27 13:52:21 +00:00
Mike Brady
eda674850f
Add an "active" mode that can time out after a period -- 10 seconds by default -- after play ends.
2019-01-21 21:44:22 +00:00
Mike Brady
a40a48693f
make OpenSSL routines un-cancellable, in case there might be possible memory leaks on cancellation
2019-01-18 16:33:32 +00:00
Mike Brady
6c912d6ce5
Revise the code for retaining and freeing rtsp message memory allocations. Be more careful about cleaning up a possible message allocation when the rtsp channel is closed. Watch for overreleasing a message.
2019-01-13 10:20:26 +00:00
Mike Brady
1c40176468
CLean up timings, clean up DACP interface network timings and error behaviours.
2019-01-10 16:11:56 +00:00
Mike Brady
43a2813b8c
Extensive changes to alsa delay() and play() -- recover from XRUN _after_ sending frames; doesn't work otherwise. Update soxr buffer threshold code. Improve missing libsoxr message. Fix syntax of progress metadata. Stop dropping YouTube metadata -- the indication it was invalid is unsafe.
2019-01-04 17:30:56 +00:00
Mike Brady
4f9730e3b2
Give a nice message if the soxr library isn't installed.
2019-01-04 13:47:44 +00:00
Mike Brady
b973619d66
Using new delay() and play() functions.
2019-01-02 22:42:48 +00:00
Mike Brady
b4505593b2
If output is stalled, don't write any more frames to the output device.
2018-12-31 17:46:31 +00:00
Mike Brady
fbb381133e
Fix some memory leaks, improve silence filling backoff time calculation, alwasy add a NUL to an RTSP message.
2018-12-27 14:05:48 +00:00
Mike Brady
4db9c117a2
use dither if using software mixer (i.e. no hardware mixer and not ignoring the volume control) -- fix a mistake in accounting for the ignore_volume_control setting.
2018-12-17 11:31:28 +00:00
Mike Brady
e6c3ddb9bf
Fix dither, add dither to silences during lead-in, interpolatied frames and keeping out of standby, only if the output device doesn't use a mixer. Check configuration at initialisation.
2018-12-14 15:07:38 +00:00
Mike Brady
b0fe51788e
Experimentally, add the ability to prevent the DAC making popping noises by feeding it with silence instead of allowing it to stop.
2018-12-13 14:48:21 +00:00
Mike Brady
3535863689
Cleaned up unfixable errors code and examples, updated configuration settings.
2018-12-11 11:28:08 +00:00
Mike Brady
697d654b41
Make the idle timeout on the RTSP link the same as the overall timeout -- 30 seconds is a bit short. Add checks to the alsa interface timing -- 15 ms to write a packet of frames, 1 ms to ask for the delay.
2018-12-08 14:13:04 +00:00
Mike Brady
a2e7cb34fb
The run_this_if_an_unfixable_error_is_detected script is definitely working and can restart the device. A sudoers entry is necessary to allow the shairport-sync user to 'sudo reboot --no-wall' without needing a password.
2018-12-06 14:46:57 +00:00
Mike Brady
b071d39834
Ensure watchdog always starts with the starting time of the thread. Add watchdog bark count. On the third bark, execute an unfixable error script if present.
2018-12-04 17:25:40 +00:00
Mike Brady
038dee01ba
Fix an error caused by using an unsigned integer as a signed number. It may have been causing lots of conversation threads to wait for the (blocked) current playing thread to exit.
2018-12-03 10:33:29 +00:00
Mike Brady
3644300db1
Fix a non-initialisation of parameters if no h/w mixer used. Add a few diagnostics, tidy up initial diagnostic message, add verbosity level and whether mixer used.
2018-12-01 17:13:20 +00:00
Mike Brady
4d4272c8ba
Improve player watchdog, improve clearing down of ports, improve handling of write- and read-erroes on the RTSP channel. Improve code for holding and releasing the player.
2018-11-29 15:36:18 +00:00
Mike Brady
1e5219faa9
Fix bugs in interrupting an existing session, and use fresh ports if necessary.
2018-11-23 13:40:42 +00:00
Mike Brady
d3aca80c9e
Add back in the ability to interrupt a session. Clean up a few debug messages.
2018-11-21 21:33:21 +00:00
Mike Brady
4911dacc7c
Rationalise some of the flush code -- reomve an inner loop, use the flush facility for skipping to sync.
2018-11-20 22:58:06 +00:00
Mike Brady
8644cfb00a
Put in a cancellation point explicitly in the player_thread main loop. Tidy up some debug messages.
2018-11-20 14:19:35 +00:00
Mike Brady
18497e6491
Double check debug is not a cancellation point and move the dacp monitor initialisation code to after the subsidiary session threads are created.
2018-11-20 12:07:15 +00:00