summaryrefslogtreecommitdiff
path: root/lib/libsndio
AgeCommit message (Collapse)Author
2014-09-07Use SOCK_CLOEXEC (instead of later using fcntl(F_SETFD)) when creating socketsPhilip Guenther
for talking to aucat/sndiod ok ratchov@
2014-08-15Use O_CLOEXEC wherever we open a file and then call fcntl(F_SETFD, FD_CLOEXEC)Philip Guenther
on it, simplifying error checking, reducing system calls, and improving thread-safety for libraries. ok miod@
2014-08-10debug level test for clock_gettime() calls should matchJonathan Gray
ok ratchov@
2014-03-07slightly "nicer" debug printfsAlexandre Ratchov
2014-03-05- use relative read/write positions to keep track of bufferAlexandre Ratchov
usage as seen by the caller - refresh current position before reading/writing data, to keep the current position always consistent with read & write pointers - fix confusion between processed samples by the hardware (as reported by GET{I,O}OFFS) and samples played as reported by GETINFO(). Fixes incorrect delta propagated after xruns in play-only and rec-only modes - don't wait for POLLIN or POLLOUT to be set to refresh ring pointers, as they may not be set in certain cases. Fixes sndiod crash after few days of continuous playback. - save current parameters instead of calling getpar() too often
2014-03-05say this is the "sndio" api, as we have other audio/midi apis,Alexandre Ratchov
makes "man -k" happier. ok jmc, schwarze
2014-01-22clean up macro usage;Ingo Schwarze
tweak and ok ratchov@, ok jmc@
2013-12-23- clarify that sio_close() stops the device first, thenAlexandre Ratchov
frees the handle and not the opposite - clarify that sio_close() and sio_stop() dont discard samples in the play buffer. suggested by Reimar Doeffinger <Reimar.Doeffinger at gmx.de> ok jmc@
2013-12-22- replaces "audio stream" by "audio device", as sndio is a deviceAlexandre Ratchov
abstraction - remove useless statements. ok jmc@
2013-12-20Be less verbose when SNDIO_DEBUG=1 is set.Alexandre Ratchov
2013-11-21use -Wmissing-prototypesAlexandre Ratchov
2013-11-19move -Wxxx flags from CFALGS to COPTSAlexandre Ratchov
suggested by deraadt
2013-11-18add missing prototypesAlexandre Ratchov
2013-11-13Prefix by '_' symbols that are not part of the API.Alexandre Ratchov
ok deraadt, guenther
2013-11-12internalize some functions so that they do not need prototypesTheo de Raadt
ok ratchov
2013-08-24Move underrun/overrun recovery code from the sun-api back-end toAlexandre Ratchov
the the generic code, so it can be used by other back-ends as well. No behavior change (hopefully).
2013-08-13Switch time_t, ino_t, clock_t, and struct kevent's ident and dataPhilip Guenther
members to 64bit types. Assign new syscall numbers for (almost all) the syscalls that involve the affected types, including anything with time_t, timeval, itimerval, timespec, rusage, dirent, stat, or kevent arguments. Add a d_off member to struct dirent and replace getdirentries() with getdents(), thus immensely simplifying and accelerating telldir/seekdir. Build perl with -DBIG_TIME. Bump the major on every single base library: the compat bits included here are only good enough to make the transition; the T32 compat option will be burned as soon as we've reached the new world are are happy with the snapshots for all architectures. DANGER: ABI incompatibility. Updating to this kernel requires extra work or you won't be able to login: install a snapshot instead. Much assistance in fixing userland issues from deraadt@ and tedu@ and build assistance from todd@ and otto@
2013-07-04remove FILES sections because it's incomplete, wrong and doesn't giveAlexandre Ratchov
any useful information
2013-07-04shorten lines in literal blocks to avoid word wrapingAlexandre Ratchov
2013-06-05use fancy .In macro for includes. from Jan Klemkow. ok jmc schwarzeTed Unangst
2013-04-06explain what "default" means in sndio.7 rather than {sio,mio}_open.3,Alexandre Ratchov
with tweaks from jmc
2013-04-03Handle big time_t.Philip Guenther
Use clock_gettime(CLOCK_MONOTONIC) instead of gettimeofday() when measuring time intervals for debugging output. ok ratchov@
2013-03-13in debug mode, log successful connections, from Jan StaryAlexandre Ratchov
2013-02-01If par->bufsz is set (it's documented as readonly since years) thenAlexandre Ratchov
reset it and set par->appbufsz instead
2012-12-22some fixes, based on a diff from Martin Toft;Jason McIntyre
2012-11-23Remplace aucat server by a new sndiod daemon aimed to be simplerAlexandre Ratchov
smaller and faster than aucat. It's a drop in replacement with the following exceptions that don't affect the default setup: - The sample rate and the encoding are a per-device parameters thus -r and -e options must precede the corresponding -f option - MIDI thru boxes are dynamically created and no -M option is required anymore, so -M was removed. - MIDI ports are exposed with a new ``midi/N'' name, rather than abusing MIDI thru boxes. with help from armani@, ok deraadt@
2012-11-23Make the client wait for the first flow control message rather thanAlexandre Ratchov
assuming it can send a full initial data buffer. This requires protocol version bump (but no library version bump).
2012-11-02Use dedicated messages for flow control instead of abusing clock tickAlexandre Ratchov
messages and enable flow control for MIDI. Since this requires protocol version bump, both sndiod and libsndio must be kept up to date to work together.
2012-10-27make midi code use non-blocking i/o as does audio code, in orderAlexandre Ratchov
to make both look similar
2012-10-27crank SIO_MAXNFDSAlexandre Ratchov
2012-10-27check that polled fd number is smaller than SIO_MAXNFDSAlexandre Ratchov
2012-10-27include netinet/in.h to get htons & friends prototypesAlexandre Ratchov
2012-09-15Improve instructions for handling non-blocking I/O with poll(2) andStefan Sperling
the mio_* functions. As per suggestion from jmc tidy up spacing in RETURN VALUES section and Xr poll(2). ok jmc ratchov
2012-09-14Don't read the xrun counter before the offset in the audio ring,Alexandre Ratchov
otherwise we'd open a tiny time window during which a xrun may occur in turn making the sio_onmove() clock wrong during one tick.
2012-09-14Have mio_open(3) document all return values in the RETURN VALUES section.Stefan Sperling
And don't document the return value of mio_pollfd() twice, one instance of which was incorrect. ok jmc, ratchov
2012-09-12Define empty CDIAGFLAGS for programs that use Werror.Christiano F. Haesbaert
Makes "make build" build with WARNINGS=Yes on amd64. ok espie
2012-09-02Be nice with the server and align data packets to audio block boundaryAlexandre Ratchov
2012-05-23Make the "default" string a valid device name that has the same effectAlexandre Ratchov
as NULL has. This will (hopefully) simplify ports where the user passes the device string.
2012-05-11The default device is selected with sndiod(1) or the AUDIODEVICEAlexandre Ratchov
environment variable, so stop using the /dev/audio symlink which can't be used by sndiod(1) anyway
2012-04-11Use "unsigned int" rather than "unsigned". No object change.Alexandre Ratchov
suggested by deraadt@
2012-02-24Correct the spelling of "transferred" and "transferring"Philip Guenthe
from Tobias Ulmer (tobiasu at tmux.org); ok jmc@, krw@
2011-12-24formatting errors, found using freebsd's "igor";Jason McIntyre
2011-12-09mention sndiod rather than aucat when talking about the serverAlexandre Ratchov
2011-11-15Add a "device number" component in sndio(7) device names, allowing aAlexandre Ratchov
single aucat instance to handle all audio and MIDI services. Since this partially breaks compatibility, this is a opportunitiy to fix few other design mistakes (eg ':' being used by inet6, type name vs api name confusion, etc..). This leads to the following names: type[@hostname][,unit]/devnum[.option] The device number is the minor device number for direct hardware access (ie the 'N' in /dev/audioN). For aucat, this is the occurence number of the -f (or -M) option. There's a compatibility hook to keep old names working if only one aucat server is running.
2011-10-22Don't attempt to send data not available for sending yet. AnalysedAlexandre Ratchov
and fixed by Remco <remco at d-compu.dyndns.org>, thanks!
2011-10-18some minor tweaks concerning midicat removal; ok ratchovJason McIntyre
2011-10-17Remove midicat since aucat can now be used instead of midicatAlexandre Ratchov
with almost the same syntax (roughly an extra -M option). Thru boxes are created with aucat, and corresponding MIDI port names have the "aucat" prefix instead of "midithru". The old device name will still work some time for backward compatibility. ok deraadt
2011-10-05restart connect(2) if it returns EINTRAlexandre Ratchov
2011-10-04some tweaks, from Tim van der MolenJason McIntyre
2011-06-03one midicat server can export multiple midithru portsAlexandre Ratchov