Commit Graph

236 Commits

Author SHA1 Message Date
Alexandre Ratchov a04c34288e define port_log() if no -DDEBUG is defined 2015-11-25 20:54:22 +01:00
Alexandre Ratchov 8e6aa1db1f say -L is unencrypted 2015-11-25 20:52:31 +01:00
Alexandre Ratchov 3100560d01 listen -> listen on; from Jan Stary 2015-11-25 20:51:50 +01:00
Alexandre Ratchov 276b44ece4 save & restore umask when creating socket dir 2015-11-25 20:50:17 +01:00
Alexandre Ratchov c8a50a21ea add port numbers 2015-11-25 20:49:09 +01:00
Alexandre Ratchov d4cea96993 use stored d->num, in search for devices 2015-11-25 20:48:47 +01:00
Alexandre Ratchov a17c9dfc55 missing prototype 2015-11-25 20:47:52 +01:00
Alexandre Ratchov 66ca92689e stop mmc in dev_done, releasing ref to the device 2015-11-25 20:46:03 +01:00
Alexandre Ratchov 8bb88f248f if no -f or -q are used, attach rsnd/[0-3] and rmidi/[0-7] 2015-10-20 15:25:54 +02:00
Alexandre Ratchov 8575b870d1 spacing 2015-10-02 15:05:43 +02:00
Alexandre Ratchov 0a39548f4d use SOCKPATH_xxx macros 2015-10-02 14:26:46 +02:00
Alexandre Ratchov f2b6fd9f4b s/xfree/free in comments 2015-09-05 13:18:04 +02:00
Alexandre Ratchov a162cfd9e6 remove mixer api files 2015-08-28 09:03:49 +02:00
Alexandre Ratchov e8007feb00 move the mixer api to a dedicated "mixer" branch 2015-08-28 08:57:47 +02:00
Alexandre Ratchov 0ab68bae61 comment that -1 means infinite timeout 2015-08-27 09:40:50 +02:00
Alexandre Ratchov 293133ebdf copy label name in dev_add() 2015-08-26 12:22:06 +02:00
Alexandre Ratchov 30c199e808 Don't call poll(2) with few millisecond time-out argument when -1
could be used. Avoids syscalls when the daemon is not being used.
2015-08-11 19:49:07 +02:00
Alexandre Ratchov 92995a97e0 delete timeout on close, log disconnects 2015-07-31 17:46:15 +02:00
Alexandre Ratchov 4063b8217c crank watchdog timeout to 4 seconds 2015-07-31 17:44:04 +02:00
Alexandre Ratchov 4ca9db857c Process polled files in two steps: first files that need immediate
handling, which would block.
2015-07-20 12:09:53 +02:00
Alexandre Ratchov 2d77ef48f3 rename nfds to max_nfds, no object change 2015-07-17 11:51:31 +02:00
Alexandre Ratchov 9624f2332e Simplify debug info: log poll descriptors on a single line, record
timestamps only when they are needed.
2015-07-17 11:37:24 +02:00
Alexandre Ratchov 5c54742a5d Stop using interval timers (not inherited by fork(2), obsolete in
newer posix releases), use the poll(2) timeout parameter instead.
Fixes hangs during clean-up after the audio device is disconnected
or an unrecoverable error is detected. Suggested by and discussed
with millert@.
2015-07-17 10:16:59 +02:00
Alexandre Ratchov 8468b9f0a0 rename grp->func 2015-06-04 06:12:38 +02:00
Alexandre Ratchov 8620da44d1 make default bufsz 7680 (was 7860) 2015-04-24 19:44:06 +02:00
Alexandre Ratchov b3a8f99047 make the label use chan1 as parameter 2015-03-12 08:20:23 +01:00
Alexandre Ratchov a58ea0effe use better names for sndiod mixer controls 2015-03-06 10:42:04 +01:00
Alexandre Ratchov 905c319315 use strings rather than channel numbers 2015-03-05 10:12:34 +01:00
Alexandre Ratchov debf3b302c stop using param.h, from deraadt@ 2015-01-18 00:09:04 +01:00
Alexandre Ratchov 26400ac4de set default xrun mode 2015-01-17 21:08:11 +01:00
Alexandre Ratchov e36de0d10b fix bsd-compat related warnings on linux 2014-12-29 12:55:43 +01:00
Alexandre Ratchov fab9d738ac all counters are signed ints 2014-11-17 08:08:10 +01:00
Alexandre Ratchov a7f38ff59e fix 1U vs 1 2014-10-12 23:18:33 +02:00
Alexandre Ratchov c5606fd3f3 dont rely on >> working on signed ints 2014-10-12 23:17:27 +02:00
Alexandre Ratchov d372b3a580 check audio parameters returned by the audio drivers,
and nicely report driver bugs rather than crashing/misbehaving
later if parameters aren't consistent.
2014-10-08 18:47:48 +02:00
Alexandre Ratchov b20e28a66e merge from openbsd: typos, use of O_CLOEXEC, _sndio_debug fix 2014-08-19 16:05:29 +02:00
Alexandre Ratchov fa8d95b2fa make i, n, nfds of the same type 2014-08-10 14:05:58 +02:00
Alexandre Ratchov da8108f09a add initial support for audio mixers, disabled by default
ok armani@
2014-07-16 12:05:01 +02:00
Alexandre Ratchov 88648d8f9b unitialize sock->port pointer 2014-06-02 09:43:06 +02:00
Alexandre Ratchov 408318f6ec log client start only if log_level >= 2 2014-05-15 14:19:15 +02:00
Alexandre Ratchov 0441c58c62 unused function 2014-03-24 06:53:46 +01:00
Alexandre Ratchov 4819480746 fix wrong dev_cycle() comment 2014-03-17 18:48:25 +01:00
Alexandre Ratchov c95cb04987 dont check dev_cycle() ret val as we check dev state 2014-03-17 18:42:20 +01:00
Alexandre Ratchov 4b820e4de0 after every cycle, check if this was the last cycle in which case the
device may be closed and shouldn't be used
2014-03-17 18:38:57 +01:00
Alexandre Ratchov 0594488a66 typo 2014-03-17 18:13:59 +01:00
Alexandre Ratchov 0c70f95bd5 unbreak monitoring mode (was 1 block off) 2014-03-17 18:13:11 +01:00
Alexandre Ratchov 559d953ef6 backout latest 2014-03-17 17:44:47 +01:00
Alexandre Ratchov d00caaaf96 disable playing and monitoring at the same time and append
slots using MODE_MON at the end of the slot list, so that
data to monitor is produced (by other slots) before the
monitoring slot is consuming it
2014-03-17 09:57:41 +01:00
Alexandre Ratchov 5543797422 log the correct file state string 2014-03-07 17:35:05 +01:00
Alexandre Ratchov af546d3a0f remove unused "delta" argument from onmove callbacks 2014-03-07 11:21:15 +01:00
Alexandre Ratchov 1049e3fa71 remove unused mmc start/stop/relocate call-backs as they don't
make sense for sockets
2014-03-07 11:16:26 +01:00
Alexandre Ratchov 55309494c6 unused include 2014-03-06 19:21:30 +01:00
Alexandre Ratchov aa1877d6ef remove unused "autostart" feature 2014-03-05 21:22:05 +01:00
Alexandre Ratchov d536b0972d please gcc 2014-03-05 21:14:57 +01:00
Alexandre Ratchov 2c1feaa186 add missing proto 2014-03-05 21:12:35 +01:00
Alexandre Ratchov 946186b6e5 remove slot_onmove 2014-03-05 21:11:57 +01:00
Alexandre Ratchov e140c92610 remove comment 2014-03-05 21:09:31 +01:00
Alexandre Ratchov f59de2770d check if writable preparing a DATA packet 2014-03-05 20:09:34 +01:00
Alexandre Ratchov 25e29a8cf2 remove unused attr 2014-03-05 19:52:21 +01:00
Alexandre Ratchov 8914029a2f remove autostart attribute 2014-03-05 09:16:57 +01:00
Alexandre Ratchov 0d773f998a set attach-time delta 2014-02-22 17:22:42 +01:00
Alexandre Ratchov 9c47745d49 remove sqrtone bits 2014-02-19 17:31:16 +01:00
Alexandre Ratchov 556d5f075b dont use rec buffers when in the SLOT_STOP state 2014-02-17 10:54:16 +01:00
Alexandre Ratchov de206b94f5 hide debug printfs 2014-02-17 10:32:38 +01:00
Alexandre Ratchov 54f97478bd dont drain rec direction 2014-02-17 10:29:34 +01:00
Alexandre Ratchov 32d0426047 run play and rec cycles together: simpler and more robust 2014-02-17 10:21:35 +01:00
Alexandre Ratchov 236d573f93 copy the right number of channels during join/expand 2014-02-08 16:00:54 +01:00
Alexandre Ratchov 6f415698f8 remove debug bits: dont pas unused channels 2014-02-08 09:47:44 +01:00
Alexandre Ratchov fa0cd74200 use the propoper integer size with AMSG_ISSET 2014-02-08 09:46:13 +01:00
Alexandre Ratchov 14c0ab970a drop blocks and insert silence in the socket tx/rx code path 2013-12-31 13:14:01 +01:00
Alexandre Ratchov 65c99cf7c3 round buffer size to nearest possible value 2013-12-31 13:13:04 +01:00
Alexandre Ratchov 1c496e9eab remove forgotten debug bits 2013-12-10 20:02:10 +01:00
Alexandre Ratchov 5c5a7280c2 use 0x7F as dev numer in sysex 2013-12-10 20:00:36 +01:00
Alexandre Ratchov b1c417ab04 add prototypes 2013-11-18 17:50:04 +01:00
Alexandre Ratchov 075b3da909 fix condition to check if a midi port is referenced 2013-09-28 20:44:50 +02:00
Alexandre Ratchov 5f8c1c9420 remove unused bits 2013-09-14 11:36:38 +02:00
Alexandre Ratchov edb79c93bc use -q options order as midi/N order 2013-05-12 06:52:10 +02:00
Alexandre Ratchov 1129bb8a7b Fix a typo in the condition to check if a midi port is referenced,
causing the port to be closed prematurely
2013-05-09 17:12:13 +02:00
Alexandre Ratchov 0f2025bd71 Initialize client rate and channel ranges. Fixes crashes when the
client doesn't set the rate and/or channel ranges. Problem reported
and analyzed by Dimitri Sokolyuk <sokolyuk at gmail.com>. Thanks!
2013-05-09 16:40:16 +02:00
Alexandre Ratchov 343af5e469 use stddef.h rather than sys/types 2013-05-09 15:28:50 +02:00
Alexandre Ratchov 48fbb54c6a initialize slot rate 2013-05-05 18:19:51 +02:00
Alexandre Ratchov 280f58c39a don't warn on ECONNABORTED 2013-03-13 09:35:21 +01:00
Alexandre Ratchov 141833dae9 enc/dec buffer size is one stream block, not one device block 2013-02-26 12:18:41 +01:00
Alexandre Ratchov ffe27f434f add watchdog timeout for bogus devices 2013-01-05 23:21:36 +01:00
Alexandre Ratchov 55c6148e0b don't call revents on zombified files 2013-01-05 16:21:48 +01:00
Alexandre Ratchov 1301c52ca1 readjust midi flow control after consuming input data 2012-12-20 17:15:00 +01:00
Alexandre Ratchov 68ae9199f6 simple phrasing, from jmc 2012-12-07 09:02:49 +01:00
Alexandre Ratchov eae4dde1d8 don't include defs.h where not needed 2012-12-07 09:00:45 +01:00
Alexandre Ratchov a17e696708 move log_level to utils.c 2012-12-06 15:35:17 +01:00
Alexandre Ratchov 9e83398293 set port = NULL for new connctions, fixes crashes
reported by brad
2012-12-06 09:12:00 +01:00
Alexandre Ratchov eff8e25982 remove misleading XXXs and TODOs 2012-12-01 13:13:57 +01:00
Alexandre Ratchov b3f82753f8 parse mode strings strictly 2012-12-01 13:07:01 +01:00
Alexandre Ratchov 7a76f322eb drain midi port output buffer before closing it ensuring the last
few bytes are not lost
2012-11-30 23:27:36 +01:00
Alexandre Ratchov 0057424c2b use the hold flag for midi ports as well 2012-11-30 22:02:48 +01:00
Alexandre Ratchov 49190bbba1 For MIDI ports, use the same open/close logic as for audio devices:
drop clients using it when the port is closed (eg. umidi disconnected)
and try to reopen it whenever a new client connects.
2012-11-30 21:51:46 +01:00
Alexandre Ratchov ccdecf59c4 When the audio device is closed, mark it as closed before
dropping connections otherwise clients may try to drain their
buffer and would attempt to reopen the device
2012-11-30 21:49:52 +01:00
Alexandre Ratchov 2834345924 make DEV_xxx contiguous 2012-11-30 21:49:29 +01:00
Alexandre Ratchov 6cb370c626 fix midithru subscriptions 2012-11-29 18:56:59 +01:00
Alexandre Ratchov 2fd21c86fb space required between macro args and punctuation; from jmc@ 2012-11-23 10:00:38 +01:00
Alexandre Ratchov 1081d7208a add a dummy -M for compatibility with aucat 2012-11-23 08:25:58 +01:00