Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-09-18 | add forgotten ``return NULL'' when a .wav file fails to get the | Alexandre Ratchov | |
device with the required mode | |||
2010-09-08 | aucat: getpwnam: No such file or directory | Theo de Raadt | |
is not a proper error message. | |||
2010-08-20 | polish the code: remove few unused #includes, add missing ones, | Alexandre Ratchov | |
fix NULL vs 0, etc. No behaviour change. | |||
2010-08-19 | fix NULL pointer deref in midicat option parsing when ``-'' is | Alexandre Ratchov | |
used as filename | |||
2010-07-31 | remove 2 years old compatibility mode | Alexandre Ratchov | |
2010-07-31 | remove forgotten debug message | Alexandre Ratchov | |
2010-07-10 | When a file is created, initialize its ``busy cycles'' counter to zero. | Alexandre Ratchov | |
2010-07-10 | In midi server mode, don't terminate the midi thru box if there are | Alexandre Ratchov | |
no connections anymore. | |||
2010-07-10 | fix parameter handling: don't try to open a ``default'' midi port | Alexandre Ratchov | |
if no files are given on the command line | |||
2010-07-06 | Try to detect busy loops caused by misbehaving audio drivers | Alexandre Ratchov | |
or hardware. If a busy loop is found, then close the device that caused the loop. | |||
2010-07-06 | various tweaks to previous; ok ratchov | Jason McIntyre | |
2010-07-06 | Handle all streams the same way because there's no actual | Alexandre Ratchov | |
difference between audio files and client connections. Clean up the way command line options are handled and clarify this in the manual page: stream parameters (-Ccehjmrtvx) must precede stream definitions (-ios) and per-device parameters (-abz) and stream definitions (-ios) must precede device definitions (-f). Since there's no ``server'' and ``non-server'' modes anymore, make the -l option just detach the process. ok and help from jakemsr and jmc | |||
2010-06-29 | explicitely initialize members of struct dev in dev_open() | Jacob Meuser | |
fixes crash found by nicm ok ratchov | |||
2010-06-29 | If the device isn't opened yet (as can be the case with '-a off'), | Jacob Meuser | |
don't check if the midi control interface is idle from ratchov | |||
2010-06-25 | don't attempt to drain devices after they are destroyed, which | Alexandre Ratchov | |
results in a use after free(). Catched by jakemsr@ with MALLOC_OPTIONS=J | |||
2010-06-20 | fix midicat(1) device mode when only -i or only -o is used (ie | Alexandre Ratchov | |
open the device input-only if -o is used, and output-only if -i is used). | |||
2010-06-05 | Take into account wav ``riff'' header when calculating the offset | Alexandre Ratchov | |
of the data chuck returned in ``startpos''. Fixes MMC relocate being off by few samples. | |||
2010-06-05 | when parsing wav headers, check that a data chuck actually exists | Alexandre Ratchov | |
2010-06-05 | in dev_close(), first terminate streams recording from the hardware, | Alexandre Ratchov | |
then terminate streams recording from the monitor (if any). Otherwise, dev_close() would try to check if a stream is recording from the hardware or the monitor, and, if there's no monitor, would dereference a NULL pointer. | |||
2010-06-05 | When closing the device, request clients using a midi control slot | Alexandre Ratchov | |
to quit. Otherwise streams that are not attached to the device are not closed. | |||
2010-06-05 | don't prime server buffers, because it's ugly and conceptually | Alexandre Ratchov | |
complicated. Instead, request clients to provide enough samples and start with buffers full. | |||
2010-06-05 | Don't send the initial position as a clock tick with a negative delta. | Alexandre Ratchov | |
Add a new ``initial position'' message which is simpler. No bahaviour change, except effects of the protocol version crank. | |||
2010-06-04 | when attaching files to play or record to the device, check that | Alexandre Ratchov | |
the device supports play or record modes respectively. spotted by jakemsr | |||
2010-06-04 | midi control aproc structure is can be destroyed before any stream | Alexandre Ratchov | |
referencing it (for instance while a recording stream drains buffers of a closed device). So, don't abort() if this happen. | |||
2010-06-04 | Allow the audio device to be opened only while it's actually used. | Alexandre Ratchov | |
This is necessary for uaudio devices, for instance to start aucat before the device is plugged. Or to unplug a device whithout having to restart aucat when another device is plugged. This is controlled with the new -a option. Allow multiple audio devices to be used concurently, i.e. multiple ``-f devname'' options to be used; -f options must follow per-device options, which is what we do for other options. | |||
2010-05-27 | include stdint.h | Alexandre Ratchov | |
2010-05-25 | enable support for ``extended'' .wav files since certain programs | Alexandre Ratchov | |
use this format instead of the non-extended one (ex. audio/libao) spotted/suggested by naddy | |||
2010-05-08 | prime play buffers as soon as the device is opened, otherwise a | Alexandre Ratchov | |
midi client could start it with empty buffers, in turn hurting audio clients. | |||
2010-05-08 | Fix sign in dev_getpos(). Indeed, positive device playback latency | Alexandre Ratchov | |
is accounted as negative start position offset. | |||
2010-05-08 | don't take into account recording latency in dev_getpos(), since | Alexandre Ratchov | |
dev_sync() always discards any recorded samples | |||
2010-05-07 | remove ``abspos'' counters, from the pre-libsndio era. Since play and | Alexandre Ratchov | |
rec direction use the same clock, there's no need to maintain their absolute position. | |||
2010-05-07 | Since aucat uses libsndio, play and rec clocks are the same, so | Alexandre Ratchov | |
use play and rec latencies counters to calculate the offset between play and rec direction. Greatly simplifies stream attaching code. | |||
2010-05-07 | don't prime audio buffers if the device is only started to serve | Alexandre Ratchov | |
as clock source for MIDI clients. | |||
2010-05-06 | allow volumes of uninitialized slots to be set | Alexandre Ratchov | |
2010-05-04 | make the mixer process data as soon as it's pushed by one of its | Alexandre Ratchov | |
inputs, i.e. don't way that the output requests it. | |||
2010-05-04 | if the ``device'' is in loopback mode (ie no audio device), then | Alexandre Ratchov | |
disable overruns/underruns since aucat must pause when an input or an output blocks. This is a theoretical fix, since the start/stop code is never reached in loopback mode | |||
2010-05-02 | Clean up device handling code to clarify different initialization phases | Alexandre Ratchov | |
and different device states. Split initialization in two phases: first global variables are initialized then the audio hardware is opened. Allow devices that don't support full-duplex to work in play-only or record-only mode, even if ``-m play'' or ``-m rec'' are not specified. | |||
2010-05-02 | Don't systematically fill with silence the mixer output. This | Alexandre Ratchov | |
might result in extra samples being written to the device when the mixer is closed. | |||
2010-05-02 | use clock_gettime() and interval timers instead of gettimeofday() | Alexandre Ratchov | |
and poll()'s timeout. Simpler and more accurate, from midish | |||
2010-05-02 | in the resampling code, handle the case ``diff == 0'', to avoid producing | Alexandre Ratchov | |
the first sample of the next block in advance. | |||
2010-04-24 | if there are no files to play in legacy mode, print the usage message | Alexandre Ratchov | |
2010-04-24 | don't increment mixer's ``idle'' counter before truncating the | Alexandre Ratchov | |
amount of samples to commit to ``maxwrite''. Overwise uncommitted samples are accounted as idle, in turn causing the device to be stopped too early, possibly truncating few blocks at the end of streams being drained. subtle bug spotted and analysed by Thomas Pfaff, thanks | |||
2010-04-24 | rename ibuflist/obuflist -> ins/outs to cut long lines | Alexandre Ratchov | |
from Thomas Pfaff, thanks | |||
2010-04-22 | zap trailing whitespace; | Jason McIntyre | |
2010-04-22 | Allow multiple users to share the same aucat server. If aucat is | Alexandre Ratchov | |
run by root, it binds a shared address to the socket, cranks the process priority and drops privileges. sio_open(3) will try to connect to the private socket first (if any), then to the shared socket. Only one user may have connections to aucat at a given time. based on discussions with henning, pyr and others ok jacek, deraadt | |||
2010-04-21 | when creating the ``default'' subdevice, use last parameters of the | Alexandre Ratchov | |
command line, instead of the device parameters. | |||
2010-04-21 | adds the necessary bits to join channels (ex stereo->mono) or | Alexandre Ratchov | |
expand channels (ex mono->stereo). It's switched on/off with the ``-j'' option, (default is "on"). | |||
2010-04-17 | Allow the mixer to handle inputs with channel ranges outside | Alexandre Ratchov | |
the device channel range. This makes the channel mapping code no longer usefuli, so remove it. No behaviour change. | |||
2010-04-07 | tweak previous; ok ratchov | Jason McIntyre | |
2010-04-06 | bump (private) protocol version number | Alexandre Ratchov | |