Commit Graph

89 Commits

Author SHA1 Message Date
Alexandre Ratchov 8b24905d2c sndiod: fix slot leak when device mode doesn't match slot mode 2017-11-23 07:13:49 +01:00
Alexandre Ratchov bb63198e8b prefill with silence the buffer when cmap_copy() stores samples
rather than the slot/client buffer. Fixes initialized data being
treated as recorded samples when resampling and/or format
conversions are involved.
2017-11-07 12:26:46 +01:00
Alexandre Ratchov b06285beda Prefill with silence rec buffer.
This is necessary as certain channels may not receive samples,
for instance when mono->stereo conversion is disabled.
2017-11-03 16:10:48 +01:00
Alexandre Ratchov f9f2d8353e Fix the code to abort when trying to detach a slot that's not
on the list (the check was a no-op). Found by jsg@, thanks.
2017-02-15 11:58:54 +01:00
Alexandre Ratchov 22a64d1845 Many typos in comments. From Michael W. Bombardieri. Thanks. 2017-01-03 08:08:17 +01:00
Alexandre Ratchov 4dcfed9dce remove braces around single-statement block 2016-10-20 07:32:27 +02:00
Alexandre Ratchov 02ff6b20fb add braces to reduce diff with mixer bits 2016-08-11 08:17:57 +02:00
Alexandre Ratchov 8070eb6272 Remove unused arguments of dev_adjpar(), getbasepath() and all
slotops->onvol() implementations.

From David CARLIER <devnexen at gmail.com>. Thanks.
2016-03-23 07:40:46 +01:00
Alexandre Ratchov fcbcfd089a use "prog" as default prog name 2016-01-29 12:11:23 +01:00
Alexandre Ratchov e2be625ebd unexpand 2016-01-09 09:49:48 +01:00
Alexandre Ratchov e22e6a1b26 fix trailing spaces 2016-01-08 17:24:48 +01:00
Alexandre Ratchov d4cea96993 use stored d->num, in search for devices 2015-11-25 20:48:47 +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 f2b6fd9f4b s/xfree/free in comments 2015-09-05 13:18:04 +02:00
Alexandre Ratchov e8007feb00 move the mixer api to a dedicated "mixer" branch 2015-08-28 08:57:47 +02:00
Alexandre Ratchov 293133ebdf copy label name in dev_add() 2015-08-26 12:22:06 +02:00
Alexandre Ratchov 8468b9f0a0 rename grp->func 2015-06-04 06:12:38 +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 da8108f09a add initial support for audio mixers, disabled by default
ok armani@
2014-07-16 12:05:01 +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 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 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 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 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 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 14c0ab970a drop blocks and insert silence in the socket tx/rx code path 2013-12-31 13:14:01 +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 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 48fbb54c6a initialize slot rate 2013-05-05 18:19:51 +02: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 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