summaryrefslogtreecommitdiff
path: root/usr.bin/sndiod
AgeCommit message (Collapse)Author
2018-09-18i forgot to sync sndiod with aucat/dsp.c rev 1.12miko
2018-08-08Use unveil(2) in the helper process to disallow access to other filesAlexandre Ratchov
than the devices specified with -f and -q options. ok deraadt@
2018-06-26Initialize the slot->skip counter in slot_start() instead ofAlexandre Ratchov
slot_attach(). Now this makes no difference, because slot_attach() is always called right after slot_start(). However this will allow us to call slot_{attach,detach}() routines, while preserving the state of the slot.
2018-06-26Remove redundant slot->tstate variable.Alexandre Ratchov
It was used to determine whether the slot obeys MMC and is ready to start. The stop->opt->mmc flag indicates if it obeys MMC and the slot->pstate == SLOT_READY indicates if it's ready. So slot->tstate can be safely removed.
2018-06-26Remove useless check if s->ops == NULL from slot_setvol().Alexandre Ratchov
2018-06-26No need to initialize slot->mix.weight as it's recalculated andAlexandre Ratchov
overwritten in dev_mix_adjvol(), which is always called.
2018-06-26Move slot-related debug printfs from sock_hello() to slot_new().Alexandre Ratchov
2018-06-26Convert all the slot_xxx() routines to use the number of channelsAlexandre Ratchov
instead of the maximum channel number. This way the code is simpler. No behaviour change.
2018-06-26Remove {mix,sub}.slot_cmin fields from the slot structure, as the sameAlexandre Ratchov
information is already available in the opt structure.
2018-06-26Remove dev_{cmin,cmax} from the slot structure as the same informationAlexandre Ratchov
is available in the opt structure.
2018-06-26Remove slot->dup which is a copy of opt->dup, and just use the latterAlexandre Ratchov
everywhere.
2018-06-26Remove slot->maxweight, because it's a copy of opt->maxweight. JustAlexandre Ratchov
use the latter everywhere.
2018-06-26Don't set slot's {slot,dev}_cmin parameters in slot_setpar() routine,Alexandre Ratchov
as their value doesn't change once the slot is initialized.
2018-06-26Initialize slot with parameters from the opt struct.Alexandre Ratchov
2018-06-26Move opt pointer from the sock to the slot struct.Alexandre Ratchov
2018-06-26Replace the gloal opt list with per-device lists.Alexandre Ratchov
2018-06-26Move slot buffer allocations in their own routines.Alexandre Ratchov
2018-06-26Factor common code of slot_stop().Alexandre Ratchov
2018-06-26Remove handling of unreachable state in slot_stop().Alexandre Ratchov
2018-06-08Greatly simplify the resampling routine using the fact it processesAlexandre Ratchov
exactly one block.
2018-06-08The conversion chain processes exactly one block, so no need toAlexandre Ratchov
calculate & count the number of processed samples. This allows to move the calls to processing routines in dev_mix_badd() and dev_sub_bcopy(), which is much simpler. No behaviour change.
2018-01-10Simplify bounds checking of client numbers of channels and rate. FromAlexandre Ratchov
Michael W. Bombardieri, thanks.
2017-11-23Fix slot leak occuring when the device mode doesn't matchAlexandre Ratchov
the client mode. Found by landry@.
2017-11-20Free memory in the error code-path, when we run out of descriptorsAlexandre Ratchov
during initialization. From Michael W. Bombardieri, thanks.
2017-11-07prefill with silence the buffer where cmap_copy() stores samplesAlexandre Ratchov
rather than the client buffer. Fixes uninitialized data being treated as recorded samples when resampling or format conversions are involved but no mono->stereo conversion is used.
2017-11-03Prefill client rec buffer with silence. This is necessary becauseAlexandre Ratchov
certain channels don't get samples, for instance when mono->stereo conversion is disabled.
2017-07-20Add comments to explain correct code that might look wrong.Alexandre Ratchov
2017-07-20Fix debug printf used to report kernel bugs: print par.bps insteadAlexandre Ratchov
of par.bits. Found by coverity.
2017-02-15Fix the code supposed to abort when attempting to detach a slot that'sAlexandre Ratchov
not on the slot list (the check was a no-op). Found by jsg@, thanks!
2017-01-03Many typos in comments. From Michael W. Bombardieri. Thanks.Alexandre Ratchov
2017-01-03Use a goto to factor all calls to close() when listen_in() returnsAlexandre Ratchov
an error. From Michael W. Bombardieri. Thanks.
2016-10-27Fix many typos in comments, from Michael W. Bombardieri <mb at ii.net>Alexandre Ratchov
2016-10-20Move initialization of the helper process in its own routine to makeAlexandre Ratchov
code more readable. No bahavior change.
2016-10-20remove unused variablesAlexandre Ratchov
2016-06-30Use CLOCK_UPTIME instead of CLOCK_MONOTONIC, as the later makes jumpsAlexandre Ratchov
during suspend/resume cycles which triggers watchdog time-outs and in turn prevents sndiod from resuming.
2016-05-25Don't warn when read or write block at cycle boundary, this mayAlexandre Ratchov
happen when remote devices are used and is not an error.
2016-05-25Assert we're not freeing buffers we didn't allocateAlexandre Ratchov
2016-05-25Log files skipped during poll() as well, and flush the log bufferAlexandre Ratchov
right before we call poll().
2016-05-25Set initial mixer slot name to "prog" to make all slots visible inAlexandre Ratchov
audioctl and alike.
2016-03-23Remove unused arguments of dev_adjpar(), getbasepath() and allAlexandre Ratchov
slotops->onvol() implementations. From David CARLIER <devnexen at gmail.com>. Thanks.
2016-03-23Align comments. From David CARLIER <devnexen at gmail.com>. Thanks.Alexandre Ratchov
2016-01-18Allow time differences between two clock_gettime() calls toAlexandre Ratchov
be up to 60s without logging a warning.
2016-01-18Mention that "sndiod -d" doesn't daemonize and thatAlexandre Ratchov
the -d flag can be specified multiple times. Diff from Michael Reed <m.reed at mykolab.com>. Many thanks.
2016-01-09Make midi->tickets signed (sign is needed for arithmetics even if theAlexandre Ratchov
actual count is always positive). Found by David Coppa. Thanks.
2016-01-09Check in advance that the socket path is a directory and report theAlexandre Ratchov
error if it isn't. Fixes ugly/delayed error messages in this case.
2016-01-09Remove trailing '\n' from strings passed to err(1)Alexandre Ratchov
2016-01-09unexpand tabsAlexandre Ratchov
2016-01-08Fix changes that last commit undid by mistake, sorry.Alexandre Ratchov
2016-01-08Make code fit in 80 columns, remove trailing spaces & tabs.Alexandre Ratchov
2016-01-08move code to add a midi port in a new mkport() routineAlexandre Ratchov