]>
git.ipfire.org Git - thirdparty/shairport-sync.git/log
Mike Brady [Wed, 23 Jan 2019 16:34:05 +0000 (16:34 +0000)]
move malloc_cleanup to common.c
Mike Brady [Mon, 21 Jan 2019 21:44:22 +0000 (21:44 +0000)]
Add an "active" mode that can time out after a period -- 10 seconds by default -- after play ends.
Mike Brady [Mon, 21 Jan 2019 21:43:55 +0000 (21:43 +0000)]
Add an "active" mode that can time out after a period -- 10 seconds by default -- after play ends.
Mike Brady [Mon, 21 Jan 2019 21:18:40 +0000 (21:18 +0000)]
Hook up active mode stuff to metadata, add two four-char codes, improve external command calling.
Mike Brady [Mon, 21 Jan 2019 18:20:39 +0000 (18:20 +0000)]
add initial script-execution functionality to active mode. Make is possible to wait for start and stop scripts.
Mike Brady [Sun, 20 Jan 2019 22:15:02 +0000 (22:15 +0000)]
Add an activity monitor -- can set an activity idle timeout.
Mike Brady [Fri, 18 Jan 2019 16:33:32 +0000 (16:33 +0000)]
make OpenSSL routines un-cancellable, in case there might be possible memory leaks on cancellation
Mike Brady [Fri, 18 Jan 2019 16:32:31 +0000 (16:32 +0000)]
make OpenSSL routines un-cancellable, in case there is a possible memory leak
Mike Brady [Fri, 18 Jan 2019 16:31:36 +0000 (16:31 +0000)]
make OpenSSL routines un-cancellable, in case there is a possible memory leak
Mike Brady [Fri, 18 Jan 2019 16:30:21 +0000 (16:30 +0000)]
remove unnecessary file includes
Mike Brady [Fri, 18 Jan 2019 16:28:02 +0000 (16:28 +0000)]
Quieten a debug message.
Mike Brady [Fri, 18 Jan 2019 16:27:29 +0000 (16:27 +0000)]
remove the cause of a CLANG warning
Mike Brady [Tue, 15 Jan 2019 08:30:00 +0000 (08:30 +0000)]
Block on command_execute for unfixable errors.
Mike Brady [Sun, 13 Jan 2019 13:14:39 +0000 (13:14 +0000)]
Add an error message if an RTSP thread can not be created.
Mike Brady [Sun, 13 Jan 2019 10:20:26 +0000 (10:20 +0000)]
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.
Mike Brady [Sun, 13 Jan 2019 10:17:34 +0000 (10:17 +0000)]
Quieten the msg_ debug messages.
Mike Brady [Sun, 13 Jan 2019 10:00:11 +0000 (10:00 +0000)]
Quieten a debug message.
Mike Brady [Sat, 12 Jan 2019 21:44:52 +0000 (21:44 +0000)]
Change how rtsp_messages are memory managed. Add some diagnostics.
Mike Brady [Sat, 12 Jan 2019 19:17:43 +0000 (19:17 +0000)]
If a message is dropped because the pc queue is busy, free any data that might be associated with it as well as just the rtsp message.
Mike Brady [Fri, 11 Jan 2019 15:18:50 +0000 (15:18 +0000)]
Update RELEASENOTES.md
Mike Brady [Fri, 11 Jan 2019 15:17:17 +0000 (15:17 +0000)]
Update RELEASENOTES.md
Mike Brady [Fri, 11 Jan 2019 15:17:01 +0000 (15:17 +0000)]
Update RELEASENOTES.md
Mike Brady [Fri, 11 Jan 2019 14:48:00 +0000 (14:48 +0000)]
Add a D-Bus property "DisableStandby" to turn standby oo or off.
Mike Brady [Fri, 11 Jan 2019 10:42:17 +0000 (10:42 +0000)]
Avoid wrapping back to the first three UDP ports when assigning ports using nextFreeUDPPort because the call resetFreeUDPPorts, called when not interrupting an existing session, will assign the first three ports without checking (or knowing) if they were recently in use.
Mike Brady [Thu, 10 Jan 2019 17:00:10 +0000 (17:00 +0000)]
Do not add dither if at full volume or ignoring volume control
Mike Brady [Thu, 10 Jan 2019 16:57:40 +0000 (16:57 +0000)]
Always add dither if no hardware mixer and volume control is not ignored.
Mike Brady [Thu, 10 Jan 2019 16:12:57 +0000 (16:12 +0000)]
clang format
Mike Brady [Thu, 10 Jan 2019 16:11:56 +0000 (16:11 +0000)]
CLean up timings, clean up DACP interface network timings and error behaviours.
Mike Brady [Thu, 10 Jan 2019 16:10:53 +0000 (16:10 +0000)]
Add some diagnostics, shorten timeouts and set so_linger of zero whenever a write or read error occurs.
Mike Brady [Thu, 10 Jan 2019 16:09:52 +0000 (16:09 +0000)]
add actual waiting time for a failing timed mutex.
Mike Brady [Wed, 9 Jan 2019 14:15:05 +0000 (14:15 +0000)]
reduce thresholds towards a buffer time of 0.2 seconds rather than the 0.25 seconds before.
Mike Brady [Wed, 9 Jan 2019 10:10:04 +0000 (10:10 +0000)]
backend silence threshold should be 0.060 not 0.6!
Mike Brady [Wed, 9 Jan 2019 10:09:29 +0000 (10:09 +0000)]
Don't use full flush to purge frames after an overrun -- flush will reset the buffers as well. Fix a potential bug if a flush actually occurs.
Mike Brady [Tue, 8 Jan 2019 17:28:38 +0000 (17:28 +0000)]
Go for a 0.250 second buffer length.
Mike Brady [Tue, 8 Jan 2019 13:06:46 +0000 (13:06 +0000)]
Adjust thresholds and timings to suit pi zero.
Mike Brady [Tue, 8 Jan 2019 13:01:22 +0000 (13:01 +0000)]
Preflight all audio material playing (not lead-in silences though...)
Mike Brady [Tue, 8 Jan 2019 13:00:00 +0000 (13:00 +0000)]
INcrease the delay between reading chunks of the RTSP message, may it less likely to overwhelm the CPU.
Mike Brady [Tue, 8 Jan 2019 12:59:04 +0000 (12:59 +0000)]
Quieten a debug message.
Mike Brady [Mon, 7 Jan 2019 17:34:50 +0000 (17:34 +0000)]
Add the idea of a preflight message to tell the backend that frames will be coming...
Mike Brady [Mon, 7 Jan 2019 16:00:58 +0000 (16:00 +0000)]
Make buffer size threashold 100 ms instead of 50 ms. Remove some surplus snd_pcm_prepare calls.
Mike Brady [Mon, 7 Jan 2019 15:59:58 +0000 (15:59 +0000)]
Make the wait time less than the packet interval time to enable SPS to catch up if it gets behind.
Mike Brady [Fri, 4 Jan 2019 21:52:36 +0000 (21:52 +0000)]
Only look for snd_pcm_status_get_driver_htstamp is alsa version 1.1 or later...
Mike Brady [Fri, 4 Jan 2019 21:08:19 +0000 (21:08 +0000)]
Update TROUBLESHOOTING.md
Mike Brady [Fri, 4 Jan 2019 20:57:18 +0000 (20:57 +0000)]
Use driver htstamp rather than regular one. Use untimed_delay so that a regualr delay sets the standoff timer for silence.
Mike Brady [Fri, 4 Jan 2019 18:17:30 +0000 (18:17 +0000)]
Move stall threshold calculation to init from start, duh.
Mike Brady [Fri, 4 Jan 2019 17:30:56 +0000 (17:30 +0000)]
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.
Mike Brady [Fri, 4 Jan 2019 17:26:55 +0000 (17:26 +0000)]
clang format
Mike Brady [Fri, 4 Jan 2019 17:26:00 +0000 (17:26 +0000)]
remove some debugging code from delay().
Mike Brady [Fri, 4 Jan 2019 17:20:15 +0000 (17:20 +0000)]
continue to change delay() and play() to reflect use of snd_pcm_recover _after_ a XRUN has occurred -- fix rate calculations etc.
Mike Brady [Fri, 4 Jan 2019 17:10:57 +0000 (17:10 +0000)]
Add code for calculating and recognising the interpolation threshold.
Mike Brady [Fri, 4 Jan 2019 17:10:26 +0000 (17:10 +0000)]
Add code for calculating and recognising the interpolation threshold.
Mike Brady [Fri, 4 Jan 2019 17:09:37 +0000 (17:09 +0000)]
Add the interpolation threshold setting.
Mike Brady [Fri, 4 Jan 2019 17:07:21 +0000 (17:07 +0000)]
Add code for getting and setting the interpolation threshold.
Mike Brady [Fri, 4 Jan 2019 17:06:21 +0000 (17:06 +0000)]
Add default values for the interpolation threshold
Mike Brady [Fri, 4 Jan 2019 13:50:14 +0000 (13:50 +0000)]
Use snd_pcm_recover only _after_ an XRUN or suspend has happened. Don't use it to remove one -- it doesn't work.
Mike Brady [Fri, 4 Jan 2019 13:48:56 +0000 (13:48 +0000)]
Raise the soxr minimum buffer size to something sensible and multiply it by the output ratio
Mike Brady [Fri, 4 Jan 2019 13:47:44 +0000 (13:47 +0000)]
Give a nice message if the soxr library isn't installed.
Mike Brady [Fri, 4 Jan 2019 11:29:18 +0000 (11:29 +0000)]
Check before using snd_pcm_prepare in delay()
Mike Brady [Thu, 3 Jan 2019 10:48:54 +0000 (10:48 +0000)]
Fix parsing error with progress 'prgr' metadata
Mike Brady [Thu, 3 Jan 2019 10:48:09 +0000 (10:48 +0000)]
Stop dropping metadata with a zero id -- it's not infallible way of determining if the metadata is invalid.
Mike Brady [Thu, 3 Jan 2019 10:19:44 +0000 (10:19 +0000)]
Strengthen the ability to recover from an XRUN by putting in a call to snd_pcm_prepare first.
Mike Brady [Wed, 2 Jan 2019 22:42:48 +0000 (22:42 +0000)]
Using new delay() and play() functions.
Mike Brady [Wed, 2 Jan 2019 22:40:48 +0000 (22:40 +0000)]
Fix trivial error in a debug message.
Mike Brady [Wed, 2 Jan 2019 19:54:12 +0000 (19:54 +0000)]
new play(), delay(), delay_prep_and_status() routines in place and working, but with the old stuff taken out.
Mike Brady [Wed, 2 Jan 2019 19:49:15 +0000 (19:49 +0000)]
new play(), delay(), delay_prep_and_status() routines in place and working, but with the old stuff still around.
Mike Brady [Wed, 2 Jan 2019 14:43:25 +0000 (14:43 +0000)]
Try out a new alsa delay routine. Could be very buggy!
Mike Brady [Mon, 31 Dec 2018 17:46:31 +0000 (17:46 +0000)]
If output is stalled, don't write any more frames to the output device.
Mike Brady [Mon, 31 Dec 2018 17:46:05 +0000 (17:46 +0000)]
If output is stalled, don't write any more frames to the output device.
Mike Brady [Sat, 29 Dec 2018 09:34:10 +0000 (09:34 +0000)]
Modify my_snd_pcm_delay but don't test it yet!
Mike Brady [Fri, 28 Dec 2018 10:35:13 +0000 (10:35 +0000)]
Add some diagnostics around the state of the DAC during delays.
Mike Brady [Thu, 27 Dec 2018 14:36:29 +0000 (14:36 +0000)]
quieten some dacp debug messages
Mike Brady [Thu, 27 Dec 2018 14:05:48 +0000 (14:05 +0000)]
Fix some memory leaks, improve silence filling backoff time calculation, alwasy add a NUL to an RTSP message.
Mike Brady [Thu, 27 Dec 2018 14:04:31 +0000 (14:04 +0000)]
Format
Mike Brady [Thu, 27 Dec 2018 14:02:19 +0000 (14:02 +0000)]
Fix a few memory leaks by deleting responses even when the reply is somehow illegal.
Mike Brady [Thu, 27 Dec 2018 14:01:32 +0000 (14:01 +0000)]
Account for duration of samples to be played and use the untimed_play when calculating silence-filling backoff period.
Mike Brady [Thu, 27 Dec 2018 13:59:20 +0000 (13:59 +0000)]
Always leave space for, and put a NULL at the end of an RTSP packet.
Mike Brady [Wed, 26 Dec 2018 10:42:52 +0000 (10:42 +0000)]
Bug fix: close a socket even if it doesn't successfully connect. Enhance some debug messages.
Mike Brady [Wed, 26 Dec 2018 10:41:20 +0000 (10:41 +0000)]
Return genuine error codes where available in actual_open_alsa_device.
Mike Brady [Sun, 23 Dec 2018 12:27:19 +0000 (12:27 +0000)]
Merge pull request #784 from a-x-/patch-1
INSTALL.md: which -a shairport-sync find all the copies
Alexander Mextner [Sat, 22 Dec 2018 18:19:02 +0000 (21:19 +0300)]
INSTALL.md: which -a shairport-sync find all the copies
Mike Brady [Mon, 17 Dec 2018 17:11:46 +0000 (17:11 +0000)]
Further adjustments to the silence thread -- make the sleep time 30 ms, thus if the queue goes below 60 ms of samples, silence will be inserted unless an audio write occurred within the last 30 ms.
Mike Brady [Mon, 17 Dec 2018 16:50:36 +0000 (16:50 +0000)]
adjust minimum interval between last audio write and writing silence.
Mike Brady [Mon, 17 Dec 2018 16:44:19 +0000 (16:44 +0000)]
Need to use an untimed play for the silence buffer filler.
Mike Brady [Mon, 17 Dec 2018 16:31:03 +0000 (16:31 +0000)]
Don't send silence into the alsa device within the scanner's sleep time of the last legitimate write to it. This is to stop the scanner inserting silent frames while the player is flushing fames.
Mike Brady [Mon, 17 Dec 2018 13:14:40 +0000 (13:14 +0000)]
Don't add dither if volume control is set to max.
Mike Brady [Mon, 17 Dec 2018 11:31:28 +0000 (11:31 +0000)]
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.
Mike Brady [Mon, 17 Dec 2018 11:30:23 +0000 (11:30 +0000)]
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.
Mike Brady [Sat, 15 Dec 2018 17:50:01 +0000 (17:50 +0000)]
Update RELEASENOTES.md
Mike Brady [Sat, 15 Dec 2018 15:36:44 +0000 (15:36 +0000)]
Move the keep_dac_busy in to a configuration setting. Always start the keep_dac_busy thread and check if the keep_dac_busy is set. Don't dither is ignore volume control is set.
Mike Brady [Fri, 14 Dec 2018 16:10:09 +0000 (16:10 +0000)]
Update RELEASENOTES.md
Mike Brady [Fri, 14 Dec 2018 16:07:50 +0000 (16:07 +0000)]
Update RELEASENOTES.md
Mike Brady [Fri, 14 Dec 2018 15:28:32 +0000 (15:28 +0000)]
Bring in the "disable_standby_mode" feature on alsa to stop some DACs making popping noises. Fix dither generation.
Mike Brady [Fri, 14 Dec 2018 15:07:38 +0000 (15:07 +0000)]
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.
Mike Brady [Fri, 14 Dec 2018 15:07:00 +0000 (15:07 +0000)]
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.
Mike Brady [Thu, 13 Dec 2018 16:59:18 +0000 (16:59 +0000)]
Don't drop the audio during a flush -- it creates a clunk.
Mike Brady [Thu, 13 Dec 2018 15:42:51 +0000 (15:42 +0000)]
Update shairport-sync.conf
Mike Brady [Thu, 13 Dec 2018 14:48:21 +0000 (14:48 +0000)]
Experimentally, add the ability to prevent the DAC making popping noises by feeding it with silence instead of allowing it to stop.
Mike Brady [Thu, 13 Dec 2018 14:47:52 +0000 (14:47 +0000)]
Experimentally, add the ability to prevent the DAC making popping noises by feeding it with silence instead of allowing it to stop.
Mike Brady [Wed, 12 Dec 2018 22:21:40 +0000 (22:21 +0000)]
Update RELEASENOTES.md
Mike Brady [Wed, 12 Dec 2018 22:07:55 +0000 (22:07 +0000)]
Remove connection with common.h -- works properly.