summaryrefslogtreecommitdiff
path: root/usr.bin/aucat
AgeCommit message (Collapse)Author
2009-03-17- rename the arg to -b "nframes" and sync usage()Jason McIntyre
- grammar fix for the server section from Thomas Pfaff ok ratchov
2009-03-17DESCRIPTION should also note aucat's ability to act as a serverAlexandre Ratchov
from jmc@
2009-03-15fix a couple comment typosJacob Meuser
2009-03-12in full-duplex, don't send AMSG_MOVE messages twice; instead,Alexandre Ratchov
send only the record direction one. spotted by jakemsr
2009-02-27say that aucat can act as audio server in the NAME sectionAlexandre Ratchov
ok jmc
2009-02-13style and typos fixes from Thomas PfaffAlexandre Ratchov
2009-02-06simplify the clock tick messages generation code and ensuire thatAlexandre Ratchov
the first clock tick (ie the start tick) is not lost
2009-02-06move error messages reported to user into main()Alexandre Ratchov
2009-02-04if there are too many connections, stop acceping new ones ratherAlexandre Ratchov
than exit()ing with ``too many open files'' fatal error
2009-02-04document server mode with help from jmc@Alexandre Ratchov
2009-02-04daemonize when in server mode, suggested by manyAlexandre Ratchov
ok jakemsr
2009-02-03in server mode, create /tmp/aucat-userid/ directory withAlexandre Ratchov
permissions 0700, and create sockets in it. This prevents one local user to eavesdrop or disturb audio programs of other users. if you're using the ``-s socket'' option with an absolute path as argument, please update it to use a socket name. requested by many, bits from jakemsr and otto ok jakemsr
2009-01-25don't set malloc_options to not interfer with /etc/malloc.confAlexandre Ratchov
requested and explained by fgsch@, henning@, otto@
2009-01-23catch SIGHUP and SIGTERM too, to ensure that recorded files areAlexandre Ratchov
properly closed and sockets are cleaned up.
2009-01-23spacing + typo fix from Matt Jibson <matt.jibson(at)gmail.com>Alexandre Ratchov
2009-01-10tweak previous;Jason McIntyre
2009-01-10add "loopback" mode in which input is connected to the output.Alexandre Ratchov
This is useful to mix, demultiplex, resample or reencode audio files off-line. tweak + ok jakemsr
2009-01-06don't use a reference to the device file. Use the corresponding aprocAlexandre Ratchov
structure instread.
2008-12-29make the code "more correct": add reference counters to aprocAlexandre Ratchov
structures so we can keep a pointer to the device. Beside some simplifications, this allows to easily handle the situation where the audio device desappears. No change in the behaviour.
2008-12-27fix a bug in resampling code, resulting in joined stereo and/orAlexandre Ratchov
high frequency attenuation, intruduced in aproc.c rev 1.27. Hints from Alf Schlichting <a.schlichting(at)lemarit.com>, thanks!
2008-12-27simplify the mixer and the demultiplexer code; no change in theAlexandre Ratchov
behaviour. This also, fixes incorrect constructs that are currently harmless
2008-12-27complain about a deadlock only if there are descriptors waitingAlexandre Ratchov
for i/o and none of them is polled. This avoids false positives caused by listening sockets in server mode.
2008-12-27do not call exit(1) if sio_start(3) or sio_stop(3) fail. TheAlexandre Ratchov
error will be catched later in the main loop.
2008-12-26*** empty log message ***Alexandre Ratchov
2008-12-19use simple linear interpolation in the resampling code.Alexandre Ratchov
This partially removes the ``metallic'' noise audible especially when upsampling 8k -> 44.1k.
2008-12-17add a writable ``appbufsz'' field to the sa_par structure, containingAlexandre Ratchov
the program-part of the buffer size, ie the part that is subject to underruns. Useful for apps like cdio(1) that don't have their own rings, or to apps that have a minimum ring size constraint. Setting the ``bufsz'' parameter becomes deprecated. ok jakemsr
2008-12-16when searching for an endpoint, return the correct abuf pointers.Alexandre Ratchov
Fixes the volume knob not working when the input chain has more than two aprocs
2008-12-07When resampling, don't require the sample frequency to be an integer.Alexandre Ratchov
This removes the arithmetic constraint between the sample frequency and the block size and all the associated code. Now aucat can work in server mode with any block size. ok jakemsr
2008-12-05expand slightly the description of adjusting files/sockets; ok ratchovJason McIntyre
2008-11-26when recording .wav files overwrite user supplied parameters withAlexandre Ratchov
parameters .wav files format allows (u8, s16le, etc...); a converter is automatically setup. Allows recording .wav files on BE machines with default parameters. idea and help from todd@
2008-11-23Use file input parameter as default device output and file output parametersAlexandre Ratchov
as default device input. That's what the man page says
2008-11-20take into account socket parameters into calculation of deviceAlexandre Ratchov
parameters; without this change aucat uses the device default parameters and they are not necessarily usable for multi-stream mode.
2008-11-17- rename -s arg name to "socket"Jason McIntyre
- condense EXAMPLES into a single screenful ok ratchov
2008-11-17tweak previous man page changes, and sync usage();Jason McIntyre
2008-11-17in server mode full-duplex device is no more requierd, removeAlexandre Ratchov
corresponding entry from BUGS section
2008-11-17allow aucat to run as server in play-only and record-only mode, soAlexandre Ratchov
it can be used on play-only, record-only and half-duplex devices. ok jakemsr
2008-11-16trigger rproc->eof() and and wproc->hup() if POLLHUP event is set.Alexandre Ratchov
Fixes aucat sleeping forever when the devices disappears
2008-11-16aucat stops the device when idle, remove the correspondingAlexandre Ratchov
entry from BUGS section.
2008-11-16allow aucat to listen on multiple sockets. Each socket carries itsAlexandre Ratchov
channel and volume settings allowing multiple configuration to coexist. Mostly useful for envy(4)-like devices, but can be used to force different apps to use different settings.
2008-11-16add ``template'' parameters to sockets rather than using deviceAlexandre Ratchov
parameters. No functional change.
2008-11-16tweak previous;Jason McIntyre
2008-11-16make aucat compile without DEBUG defined (still defined by default)Alexandre Ratchov
2008-11-16in file_poll() the number of polled file structures is not equal to theAlexandre Ratchov
number of polled descriptors. Count the number of polled structrues to detect deadlocks rather than the number of descriptors, avoinding false positives.
2008-11-16Make clients inherit the volume parameter when the -v option is used inAlexandre Ratchov
server mode. It gives the maximum volume a client may have. This wastes dynamic range, but allows volume to stay constant when other clients connect or disconnect.
2008-11-12when destroying the device, mark the mixer and the demultiplexerAlexandre Ratchov
for ``AUTOQUIT'' first, and then call file_eof() and friends. fixes crashes sthen@ noticed on zaurus
2008-11-11if the device disappear the mixer and demultiplexer chains areAlexandre Ratchov
destroyed. If this happen then warn and exit, rather than crashing.
2008-11-11remove the SIGNALS sections, describe signals in DESCRIPTIONAlexandre Ratchov
from jmc@
2008-11-11expose the volume knob in server mode tooAlexandre Ratchov
2008-11-11termninate non-server aucat when it's idle rather that usingAlexandre Ratchov
the hackish {MIX,SUB}_AUTOQUIT features. This way we don't have to care about possible references on destroyed objects.
2008-11-11when not in server mode, aucat terminates automatically usingAlexandre Ratchov
the {MIX,SUB}_AUTAQUIT features. In this case we're not allowed to directly touch dev_mix and dev_sub because they can disappar. So disable the ``suspend'' and ``quit'' bits when {MIX,SUB}_AUTAQUIT are used.