Commit Graph
42 Commits
Author SHA1 Message Date
Jörn Nettingsmeier 2826756938 Remove global client_is_open flag, always execute former conditional statements. We know we're open. 2019-02-15 23:43:00 +00:00
Jörn Nettingsmeier 753cc07777 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.
2019-02-15 23:39:53 +00:00
Jörn Nettingsmeier 1906bfd727 Remove indirections open_if_needed() and close(), can now be integrated into API calls init and deinit. 2019-02-15 23:38:01 +00:00
Jörn Nettingsmeier ec68c677e0 Remove jack_stop() function pointer from API struct, since it does nothing. Checked, no segfault on program termination. 2019-02-15 23:17:50 +00:00
Jörn Nettingsmeier 8c5e85c87c Remove audio_client_disconnect option. This is not good behaviour for a JACK client, and adds nothing. 2019-02-15 23:14:31 +00:00
Jörn Nettingsmeier edd699dfbc Remove auto_client_open_interval option, always open JACK connection immediately or fail.
Remove client creation thread and wrapper function.
2019-02-15 23:08:04 +00:00
Jörn Nettingsmeier 63b3381a27 Fail early and fail deadly (AFAIK there is no fallback to another audio backend, so any severe JACK issue should be fatal). 2019-02-15 22:59:31 +00:00
Jörn Nettingsmeier adefcc698c remove unused globals 2019-02-15 19:34:23 +00:00
Jörn Nettingsmeier 0b589cbe6d 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. 2019-02-15 19:29:24 +00:00
Jörn Nettingsmeier 89a8add7af NOP: move external API functions to the end, ordered by struct audio_output 2019-02-15 18:57:15 +00:00
Jörn Nettingsmeier 91a8553a02 Declare all JACK callbacks static (they are accessed via function pointers only). 2019-02-15 18:43:51 +00:00
Jörn Nettingsmeier 9520e89183 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.
2019-02-15 18:39:20 +00:00
Jörn Nettingsmeier d7c7365bb1 comment out some debug statements not relevant to users 2019-02-15 18:31:23 +00:00
Jörn Nettingsmeier a3201ff290 Declare deinterleaving function static, it's nobody else's business. 2019-02-15 18:22:33 +00:00
Jörn Nettingsmeier ec13a2bb3a Do not query the JACK port latency on every process() call. It can only ever change when the graph is reordered. 2019-02-15 18:19:44 +00:00
Jörn Nettingsmeier aefd7cdb33 remove more dead code and obsolete comments 2019-02-15 18:09:36 +00:00
Jörn Nettingsmeier 120e95fc66 Add parentheses around macro to avoid breakage with stronger-binding operators. 2019-02-15 18:06:36 +00:00
Jörn Nettingsmeier 444c114231 NOP: remove commented-out code segments that were re-implemented 2019-02-15 17:58:50 +00:00
Jörn Nettingsmeier 23d4ec2bee Fix logic error in counting the frames written and pending. RESTORES AUDIO! 2019-02-15 17:19:07 +00:00
Jörn Nettingsmeier 6104c580f8 NOP: comment flush implementation 2019-02-15 16:51:17 +00:00
Jörn Nettingsmeier 9c57fe43cc Do not re-check JACK graph latency every time delay() is called. Do not register a latency callback with jack. 2019-02-15 16:41:20 +00:00
Jörn Nettingsmeier 8347223986 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. 2019-02-15 16:08:10 +00:00
Jörn Nettingsmeier aca15a889b remove comment - the "rolling" status of jack transport is irrelevant to shairport-sync. 2019-02-15 15:56:08 +00:00
Jörn Nettingsmeier 7ab566960c 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. 2019-02-15 15:53:43 +00:00
Jörn Nettingsmeier a238ac54bb audio_occupancy_now in delay() needs to be in frames, not bytes. Still no luck... 2019-02-14 20:50:02 +00:00
Jörn Nettingsmeier 3e6ef0194f Unset flush_please after flushing. Tentatively re-enable latency queries. Same problems... 2019-02-14 20:39:03 +00:00
Jörn Nettingsmeier 83c8857cf8 try a solution for flush(). Compiled but not tested. 2019-02-14 20:27:49 +00:00
Jörn Nettingsmeier e99837f878 First step of replacing existing buffer with jack_ringbuffer. Compiles, but does not work, of course. 2019-02-14 20:18:05 +00:00
Jörn Nettingsmeier 06504516f1 die() on failure to create ringbuffer. 2019-02-14 15:45:57 +00:00
Jörn Nettingsmeier f07c16a6b9 Add lock-free ringbuffer. Preparation to make jack_stream_write_cb realtime safe. 2019-02-14 15:37:54 +00:00
Mike Brady aa5698fce2 Remove the preflight call - don't seem to need it. 2019-01-27 15:53:36 +00:00
Mike Brady 2e4428538d Add an "active" mode that can time out after a period -- 10 seconds by default -- after play ends. 2019-01-21 21:43:55 +00:00
Mike Brady caf06c5aba Add the idea of a preflight message to tell the backend that frames will be coming... 2019-01-07 17:34:50 +00:00
Mike Brady 80f15e1f57 clang format 2019-01-04 17:26:55 +00:00
Mike Brady 5e38fcd50f Add default values for the interpolation threshold 2019-01-04 17:06:21 +00:00
Mike Brady c1d5815c49 Ignore the latency of whatever is connected to Shairport Sync. It's inappropriate to try to compensate for the latency in the full jack chain. Don't mute when the latency is zero. 2018-09-17 19:14:38 +01:00
Mike Brady 76138873c6 Stop requiring jack to be "rolling" 2018-09-07 12:08:58 +01:00
Mike Brady 175d91a47f Tidy up some comments, stop making it die for small problems. 2018-09-03 11:45:14 +01:00
Mike Brady 39545cdfb1 Add ability for the jack back end to automaticlly connect a client when the jack server comes up and to drop the client when a play session is finished. Clang formatted. 2018-09-02 17:28:20 +01:00
Mike Brady 6c6dda9cce Add ability for the jack back end to automaticlly connect a client when the jack server comes up and to drop the client when a play session is finished. 2018-09-02 17:25:29 +01:00
Mike Brady 959aa08b8f Clean up the jack backend and add a few options. 2018-08-31 21:41:25 +01:00
Mike Brady 8cabb16f25 Initial very rough attempt at a jackaudio backend. 2018-08-31 12:39:18 +01:00