]>
git.ipfire.org Git - thirdparty/shairport-sync.git/log
Jörn Nettingsmeier [Sat, 16 Feb 2019 21:26:32 +0000 (21:26 +0000)]
Fix segfault due to missing null check...
Jörn Nettingsmeier [Sat, 16 Feb 2019 19:57:28 +0000 (19:57 +0000)]
NOP. Reformat code consistently, improve comments.
Jörn Nettingsmeier [Sat, 16 Feb 2019 19:01:37 +0000 (19:01 +0000)]
Use appropriate warn/inform/debug levels.
Jörn Nettingsmeier [Sat, 16 Feb 2019 18:45:51 +0000 (18:45 +0000)]
Actually implement auto-connection, and document it.
Jörn Nettingsmeier [Sat, 16 Feb 2019 16:09:29 +0000 (16:09 +0000)]
Move away from hardcoded channels. Centralizes information, simplifies the code, and might be helpful for future surround support.
Jörn Nettingsmeier [Sat, 16 Feb 2019 16:08:40 +0000 (16:08 +0000)]
forgot to add new option autoconnect_pattern to default conf and common.h
Jörn Nettingsmeier [Sat, 16 Feb 2019 15:33:29 +0000 (15:33 +0000)]
Add dummy option jack_autoconnect_option.
Jörn Nettingsmeier [Sat, 16 Feb 2019 02:28:59 +0000 (02:28 +0000)]
Partly revert
c00199d664a1042af78ede253f45799e8bca3aa0 , some 0 are actually longs. It's late :(
Jörn Nettingsmeier [Sat, 16 Feb 2019 02:26:36 +0000 (02:26 +0000)]
Declare all file-global variables as static, remove unused thread pointer.
Jörn Nettingsmeier [Sat, 16 Feb 2019 02:20:21 +0000 (02:20 +0000)]
Add myself to (C)omplain-to tag :-D
Jörn Nettingsmeier [Sat, 16 Feb 2019 02:15:35 +0000 (02:15 +0000)]
Always use NULL instead of 0 for pointers for clarity.
Jörn Nettingsmeier [Sat, 16 Feb 2019 02:05:05 +0000 (02:05 +0000)]
Use more conservative JACK client name (a simple token without whitespace).
Jörn Nettingsmeier [Sat, 16 Feb 2019 02:03:15 +0000 (02:03 +0000)]
Move jack base latency computation out of delay() into graph() to save cycles.
Jörn Nettingsmeier [Sat, 16 Feb 2019 01:53:49 +0000 (01:53 +0000)]
Add graph reorder callback, this is where we now compute the output latencies.
Jörn Nettingsmeier [Sat, 16 Feb 2019 01:02:30 +0000 (01:02 +0000)]
Make callback names simpler and more consistent. Always use &callback in setter functions to make the function pointer explicit, even though it's not syntactically necessary.
Jörn Nettingsmeier [Sat, 16 Feb 2019 00:53:04 +0000 (00:53 +0000)]
Revert "Remove client_mutex, since JACK opening and closing is now single-threaded."
That was a bit too optimistic, I guess. Must understand more about the rest of shairport-sync.
Fixes spurious segfault on program termination with CTRL-C that does not happen in gdb :)
This reverts commit
8e46c727d59334b87ea0f639160e92349f5c81d1 .
Jörn Nettingsmeier [Fri, 15 Feb 2019 23:51:11 +0000 (23:51 +0000)]
Remove unused headers. <getopt.h> will come back once we implement command line parsing, the others may well be gone for good.
Jörn Nettingsmeier [Fri, 15 Feb 2019 23:45:12 +0000 (23:45 +0000)]
Remove client_mutex, since JACK opening and closing is now single-threaded.
Jörn Nettingsmeier [Fri, 15 Feb 2019 23:43:00 +0000 (23:43 +0000)]
Remove global client_is_open flag, always execute former conditional statements. We know we're open.
Jörn Nettingsmeier [Fri, 15 Feb 2019 23:39:53 +0000 (23:39 +0000)]
Remove optional is_running() API call, since it doesn't do anything useful.
We are either already running along just fine, or we are throughly dead.
Jörn Nettingsmeier [Fri, 15 Feb 2019 23:38:01 +0000 (23:38 +0000)]
Remove indirections open_if_needed() and close(), can now be integrated into API calls init and deinit.
Jörn Nettingsmeier [Fri, 15 Feb 2019 23:17:50 +0000 (23:17 +0000)]
Remove jack_stop() function pointer from API struct, since it does nothing. Checked, no segfault on program termination.
Jörn Nettingsmeier [Fri, 15 Feb 2019 23:14:31 +0000 (23:14 +0000)]
Remove audio_client_disconnect option. This is not good behaviour for a JACK client, and adds nothing.
Jörn Nettingsmeier [Fri, 15 Feb 2019 23:08:04 +0000 (23:08 +0000)]
Remove auto_client_open_interval option, always open JACK connection immediately or fail.
Remove client creation thread and wrapper function.
Jörn Nettingsmeier [Fri, 15 Feb 2019 22:59:31 +0000 (22:59 +0000)]
Fail early and fail deadly (AFAIK there is no fallback to another audio backend, so any severe JACK issue should be fatal).
Jörn Nettingsmeier [Fri, 15 Feb 2019 19:34:23 +0000 (19:34 +0000)]
remove unused globals
Jörn Nettingsmeier [Fri, 15 Feb 2019 19:29:24 +0000 (19:29 +0000)]
Remove option to configure port names. This is very unusual for a JACK client, nothing is gained by offering this, and it might confuse users.
Jörn Nettingsmeier [Fri, 15 Feb 2019 18:57:15 +0000 (18:57 +0000)]
NOP: move external API functions to the end, ordered by struct audio_output
Jörn Nettingsmeier [Fri, 15 Feb 2019 18:43:51 +0000 (18:43 +0000)]
Declare all JACK callbacks static (they are accessed via function pointers only).
Jörn Nettingsmeier [Fri, 15 Feb 2019 18:39:20 +0000 (18:39 +0000)]
Declare all functions static that are not callbacks and not in audio_jack API struct.
If there are any calls from the outside I haven't thought of, that should make them fail.
Jörn Nettingsmeier [Fri, 15 Feb 2019 18:31:23 +0000 (18:31 +0000)]
comment out some debug statements not relevant to users
Jörn Nettingsmeier [Fri, 15 Feb 2019 18:22:33 +0000 (18:22 +0000)]
Declare deinterleaving function static, it's nobody else's business.
Jörn Nettingsmeier [Fri, 15 Feb 2019 18:19:44 +0000 (18:19 +0000)]
Do not query the JACK port latency on every process() call. It can only ever change when the graph is reordered.
Jörn Nettingsmeier [Fri, 15 Feb 2019 18:09:36 +0000 (18:09 +0000)]
remove more dead code and obsolete comments
Jörn Nettingsmeier [Fri, 15 Feb 2019 18:06:36 +0000 (18:06 +0000)]
Add parentheses around macro to avoid breakage with stronger-binding operators.
Jörn Nettingsmeier [Fri, 15 Feb 2019 17:58:50 +0000 (17:58 +0000)]
NOP: remove commented-out code segments that were re-implemented
Jörn Nettingsmeier [Fri, 15 Feb 2019 17:19:07 +0000 (17:19 +0000)]
Fix logic error in counting the frames written and pending. RESTORES AUDIO!
Jörn Nettingsmeier [Fri, 15 Feb 2019 16:51:17 +0000 (16:51 +0000)]
NOP: comment flush implementation
Jörn Nettingsmeier [Fri, 15 Feb 2019 16:41:20 +0000 (16:41 +0000)]
Do not re-check JACK graph latency every time delay() is called. Do not register a latency callback with jack.
Jörn Nettingsmeier [Fri, 15 Feb 2019 16:08:10 +0000 (16:08 +0000)]
Remove dubious latency check from jack_is_running(). For now, we assume JACK is always running, which makes this function pointless, as it always returns possitive. FIXME: understand why it is needed.
Jörn Nettingsmeier [Fri, 15 Feb 2019 15:56:08 +0000 (15:56 +0000)]
remove comment - the "rolling" status of jack transport is irrelevant to shairport-sync.
Jörn Nettingsmeier [Fri, 15 Feb 2019 15:53:43 +0000 (15:53 +0000)]
move setting of time_of_latest_transfer to play(), we're now looking at ringbuffer writes, not jack output buffers, as those can't be locked to be tested atomically.
Jörn Nettingsmeier [Thu, 14 Feb 2019 20:50:02 +0000 (20:50 +0000)]
audio_occupancy_now in delay() needs to be in frames, not bytes. Still no luck...
Jörn Nettingsmeier [Thu, 14 Feb 2019 20:39:03 +0000 (20:39 +0000)]
Unset flush_please after flushing. Tentatively re-enable latency queries. Same problems...
Jörn Nettingsmeier [Thu, 14 Feb 2019 20:27:49 +0000 (20:27 +0000)]
try a solution for flush(). Compiled but not tested.
Jörn Nettingsmeier [Thu, 14 Feb 2019 20:18:05 +0000 (20:18 +0000)]
First step of replacing existing buffer with jack_ringbuffer. Compiles, but does not work, of course.
Jörn Nettingsmeier [Thu, 14 Feb 2019 15:45:57 +0000 (15:45 +0000)]
die() on failure to create ringbuffer.
Jörn Nettingsmeier [Thu, 14 Feb 2019 15:37:54 +0000 (15:37 +0000)]
Add lock-free ringbuffer. Preparation to make jack_stream_write_cb realtime safe.
Mike Brady [Tue, 12 Feb 2019 16:36:52 +0000 (16:36 +0000)]
Update RELEASENOTES.md
Mike Brady [Tue, 12 Feb 2019 16:34:05 +0000 (16:34 +0000)]
Update RELEASENOTES.md
Mike Brady [Tue, 12 Feb 2019 16:31:59 +0000 (16:31 +0000)]
Update RELEASENOTES.md
Mike Brady [Tue, 12 Feb 2019 16:22:02 +0000 (16:22 +0000)]
Update RELEASENOTES.md
Mike Brady [Tue, 12 Feb 2019 15:49:08 +0000 (15:49 +0000)]
Merge branch 'unstable' into development
Mike Brady [Tue, 12 Feb 2019 15:47:10 +0000 (15:47 +0000)]
use the term'state' rather than 'mode' when taling about the active state. Use 'while_active' rather than 'while active'
Mike Brady [Tue, 12 Feb 2019 14:21:31 +0000 (14:21 +0000)]
Merge branch 'unstable' into development
Mike Brady [Tue, 12 Feb 2019 12:08:16 +0000 (12:08 +0000)]
Quieten two compilation warnings from tinysvcmdns
Mike Brady [Tue, 12 Feb 2019 11:03:56 +0000 (11:03 +0000)]
Merge branch 'unstable' into development
Mike Brady [Tue, 12 Feb 2019 10:55:04 +0000 (10:55 +0000)]
Fix some errors and warnings from OpenBSD
Mike Brady [Sat, 9 Feb 2019 18:23:52 +0000 (18:23 +0000)]
Hook up the active mode to the disable standby facility, enabling a 'while active' setting for it. Expose them to D-Bus.
Mike Brady [Sat, 9 Feb 2019 17:35:41 +0000 (17:35 +0000)]
quieten a few debug messages
Mike Brady [Fri, 8 Feb 2019 22:31:50 +0000 (22:31 +0000)]
Add call to check if the dbus service is started.
Mike Brady [Fri, 8 Feb 2019 20:48:29 +0000 (20:48 +0000)]
make including of reference to dbus-service conditional on CONFIG_DBUS_INTERFACE
Mike Brady [Fri, 8 Feb 2019 16:57:39 +0000 (16:57 +0000)]
Continue hooking up active mode and disable standby stuff
Mike Brady [Fri, 8 Feb 2019 09:40:51 +0000 (09:40 +0000)]
fix a few minor compilation errors
Mike Brady [Fri, 8 Feb 2019 09:04:33 +0000 (09:04 +0000)]
Starting to connect active mode with disable standby.
Mike Brady [Tue, 5 Feb 2019 15:51:16 +0000 (15:51 +0000)]
check that the systems are started before trying to stop them, duh.
Mike Brady [Tue, 5 Feb 2019 15:13:16 +0000 (15:13 +0000)]
remove dependency on libdaemon -- leave it in by default, but allow the new configuration option --with-libdaemon.
Mike Brady [Tue, 5 Feb 2019 15:12:51 +0000 (15:12 +0000)]
remove dependency on libdaemon -- leave it in by default, but allow the new configuration option --with-libdaemon.
Mike Brady [Tue, 5 Feb 2019 12:18:16 +0000 (12:18 +0000)]
Quieten an incorrect compiler warning
Mike Brady [Tue, 5 Feb 2019 11:38:11 +0000 (11:38 +0000)]
Tidy code and slightly reorder settings listing.
Mike Brady [Tue, 5 Feb 2019 11:26:54 +0000 (11:26 +0000)]
Clean up audio help texts, add in the volume_range_hw_priority setting.
Mike Brady [Tue, 5 Feb 2019 10:23:24 +0000 (10:23 +0000)]
Stop a segmentation error if a bsackend has no help routine
Mike Brady [Tue, 5 Feb 2019 09:45:16 +0000 (09:45 +0000)]
make mdns-external-avahi a conditional compilation
Mike Brady [Mon, 4 Feb 2019 16:58:55 +0000 (16:58 +0000)]
Include the mdns_external interface even if avahi is not included.
Mike Brady [Sun, 3 Feb 2019 17:38:33 +0000 (17:38 +0000)]
Include some more settings in the debug listing.
Mike Brady [Sun, 3 Feb 2019 16:52:36 +0000 (16:52 +0000)]
allow configuration numbers to convert between floats and integers automatically.
Mike Brady [Sat, 2 Feb 2019 15:27:26 +0000 (15:27 +0000)]
Include the mbedtls version.h file so that conditional compilation can be done right
Mike Brady [Sat, 2 Feb 2019 15:03:27 +0000 (15:03 +0000)]
allow for updated or old mbedtls library
Mike Brady [Sat, 2 Feb 2019 13:05:49 +0000 (13:05 +0000)]
Fix warnings about deprecated mbedtls API calls
Mike Brady [Fri, 1 Feb 2019 21:14:24 +0000 (21:14 +0000)]
New volume code, new mute code, fix cancellation memnory leaks, defer alsa device initialisation until needed.
Mike Brady [Fri, 1 Feb 2019 21:08:41 +0000 (21:08 +0000)]
add a volume control mutex to serialise multiple attempts to change the volume, stop setting the fixed volume to max if using hybrid volume setup
Mike Brady [Fri, 1 Feb 2019 21:07:35 +0000 (21:07 +0000)]
add a volume control mutex to serialise multiple attempts to change the volume
Mike Brady [Fri, 1 Feb 2019 21:07:13 +0000 (21:07 +0000)]
add a volume control mutex to serialise multiple attempts to change the volume
Mike Brady [Fri, 1 Feb 2019 16:19:27 +0000 (16:19 +0000)]
lengthen some mutex timeouts to allow valgrind to work okay on a Pi 3B. Make operations that open the mixer uncancellable until it's closed again to stop a few small memory leaks when a player is cancelled.
Mike Brady [Fri, 1 Feb 2019 16:17:53 +0000 (16:17 +0000)]
Fix a situation where cancellation could lose a malloced buffer.
Mike Brady [Fri, 1 Feb 2019 12:38:45 +0000 (12:38 +0000)]
add a special mixer-only mutex, do make open/close mixer stuff safer and probably quicker, not waiting for the main alsa mutex.
Mike Brady [Thu, 31 Jan 2019 17:11:33 +0000 (17:11 +0000)]
Don't do a hardware mute when doing a flush -- if disable_standby is true, the mode goes to connected and then if player goes back to play immediately, you might hear some of the sound still moving through the output buffer. This happens due to a bug in IOS player.
Mike Brady [Thu, 31 Jan 2019 13:35:11 +0000 (13:35 +0000)]
Make mute work only if not diconnected. Clewan up some debug messages.
Mike Brady [Thu, 31 Jan 2019 09:01:35 +0000 (09:01 +0000)]
Rebuild the hardware mute code -- clear up the logic. Needs to check if disconnected though.
Mike Brady [Wed, 30 Jan 2019 17:43:15 +0000 (17:43 +0000)]
Make it work with deferred initialisation of the alsa device -- deferred to first use. Investigate hardware mute again.
Mike Brady [Wed, 30 Jan 2019 09:24:10 +0000 (09:24 +0000)]
Rebuild the volume control calculations. Implement software mute. Try to delay alsa initialisation as long as possible.
Mike Brady [Sun, 27 Jan 2019 15:53:36 +0000 (15:53 +0000)]
Remove the preflight call - don't seem to need it.
Mike Brady [Sun, 27 Jan 2019 15:15:05 +0000 (15:15 +0000)]
add hooks for active mode start and end and add in the timeout into the configuration file.
Mike Brady [Sun, 27 Jan 2019 14:32:18 +0000 (14:32 +0000)]
Add a few litte changes from thre transit branch.
Mike Brady [Sun, 27 Jan 2019 14:25:02 +0000 (14:25 +0000)]
bring up to date with unstable branch
Mike Brady [Sun, 27 Jan 2019 14:19:39 +0000 (14:19 +0000)]
gracefully handle situation when the output device is already in use; release it properly when finished.
Mike Brady [Sun, 27 Jan 2019 13:57:46 +0000 (13:57 +0000)]
Merge branch 'unstable' of https://github.com/mikebrady/shairport-sync into unstable
Merging two unstable branchses that have diverged
Mike Brady [Sun, 27 Jan 2019 13:52:21 +0000 (13:52 +0000)]
Fix a number of memory leaks and one #include error when using the OpenSSL library.
Mike Brady [Sun, 27 Jan 2019 13:50:54 +0000 (13:50 +0000)]
Remove some unnecessary code "protecting" some use of the OpenSSL library.
Mike Brady [Sun, 27 Jan 2019 13:49:39 +0000 (13:49 +0000)]
use the correct label -- CONFIG_OPENSSL -- rather than the incorrect CONFIG_SSL for including code to create a filename using the OpenSSL library.