CVS: cvs.openbsd.org: src

2020-01-22 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2020/01/22 22:27:18

Modified files:
usr.bin/sndiod : midi.c midi.h 

Log message:
Accept MIDI clients that don't reset status during sysex messages.

The MIDI protocol requires the status byte to be resent after common
messages, including system exclusive messages. But, some MIDI clients
forget to resend it; we workaround this restoring the status byte
after sysex messages.



CVS: cvs.openbsd.org: src

2020-01-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2020/01/10 13:17:45

Modified files:
sys/dev: midivar.h 

Log message:
Remove unused MIDI_MAXWRITE macro



CVS: cvs.openbsd.org: src

2020-01-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2020/01/10 12:01:55

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Unbreak channel duplication (aka -j option).

Fix from Peter Piwowarski  with few
tweaks from me. Thanks.



CVS: cvs.openbsd.org: src

2019-11-27 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/11/27 01:18:22

Modified files:
usr.bin/sndiod : file.c 

Log message:
Initialize nfds fields of new file structures.

Fixes a possible crash when a new file structure is added in the
time-out processing code-path.



CVS: cvs.openbsd.org: src

2019-10-02 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/10/02 01:43:20

Modified files:
usr.bin/cdio   : cdio.1 

Log message:
Remove references to "aucat socket".

The "aucat socket" was removed ~7 years ago. As the output could be
anything on the network, also drop the .Xr to audio(4).

ok sthen jmc



CVS: cvs.openbsd.org: src

2019-09-20 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/20 23:03:34

Modified files:
usr.bin/sndiod : sndiod.8 

Log message:
Fix missing word in -F and -Q descriptions.



CVS: cvs.openbsd.org: src

2019-09-20 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/20 22:52:07

Modified files:
usr.bin/sndiod : sndiod.c 

Log message:
Lower the default audio block size from 20ms to 10ms.

Then new default block size is supported by virtually all devices
which allows switching between devices without further configuration.
The buffer size remains the same, so this change won't affect audio
stability.

ok mpi@



CVS: cvs.openbsd.org: src

2019-09-20 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/20 22:42:46

Modified files:
usr.bin/sndiod : dev.c dev.h fdpass.c midi.c midi.h miofile.c 
 miofile.h siofile.c siofile.h sndiod.8 sndiod.c 
 utils.c utils.h 

Log message:
Allow switching between devices without disconnecting clients.

The new -F option allows alternate device to be specified.  If the
device is disconnected, the one given with the last -f or -F options
will be used instead. Similarly, the new -Q option allows an alternate
MIDI port to be specified.

ok mpi@



CVS: cvs.openbsd.org: src

2019-09-18 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/18 23:10:19

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Don't attempt to join/expand nonexistent channels.

If the (hardware) device has fewer channels than the exposed
sub-device, then join/expand only to channels that exist on the
device.



CVS: cvs.openbsd.org: src

2019-09-18 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/18 23:04:34

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Move device slot convertions setup in its own routine.

No behabior change.



CVS: cvs.openbsd.org: src

2019-09-18 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/18 23:02:28

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Move device buffer allocation to its own routines.

This makes the code more readable and the routine available for other
uses. No behavior change.



CVS: cvs.openbsd.org: src

2019-09-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/10 01:49:15

Modified files:
sys/dev/pci: azalia.c 

Log message:
Prevents the block size from exceeding the requested one when a huge
block size is requested. This avoids exceeding half the buffer size.



CVS: cvs.openbsd.org: src

2019-09-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/10 01:39:39

Modified files:
sys/dev: audio.c 

Log message:
If the requensted block size is too large, then use half the
buffer size instead of failing. Problem found and fix tested
by Joe Davis , thanks!



CVS: cvs.openbsd.org: src

2019-09-04 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/04 23:38:40

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Use the new set_blksz() interface to set the block size.

This simplifies the code and allows any block size multiple of 1ms to
be used when play and recording number of channels are not the same.

ok mpi@



CVS: cvs.openbsd.org: src

2019-09-04 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/04 23:36:31

Modified files:
sys/dev/pci: azalia.c 

Log message:
Use the new set_{blksz,nblks}() interface to set the block size.

This simplifies the code and allows any block size supported by the
hardware to be used.

ok mpi@



CVS: cvs.openbsd.org: src

2019-09-04 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/09/04 23:33:57

Modified files:
sys/dev: audio.c audio_if.h 
share/man/man9 : audio.9 

Log message:
Add the set_blksz() and set_nblks() audio driver functions.

The first sets the block size in frames, which is necessarily common
to play and recording directions no matter the number of channels. The
second sets the number of blocks per buffer for the given
direction. Together, these two functions allow audio drivers to easily
set the block size, matching both playback and recording constraints.

The round_blocksize() didn't allow to do so because it returns the
block size in *bytes*. Since the driver doesn't know if it's called
for the play or for the record block size, it's impossible to
calculate the block size in all cases if play and record number of
channels are different.

ok mpi@



CVS: cvs.openbsd.org: src

2019-08-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/08/29 01:38:15

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Split dev_close() routine in two parts.

The first part disconnects clients, the other closes the device
and frees audio buffers. No behavior change.



CVS: cvs.openbsd.org: src

2019-08-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/08/29 01:35:25

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Split dev_open() in two parts.

The first part resets audio parameters to the prefered ones, the
second part opens the device and allocates the audio buffers. No
behavior change.



CVS: cvs.openbsd.org: src

2019-08-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/08/29 01:19:15

Modified files:
usr.bin/sndiod : midi.c 

Log message:
Make debug printf in port_open() look as others



CVS: cvs.openbsd.org: src

2019-08-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/08/29 01:11:28

Modified files:
usr.bin/sndiod : midi.h 

Log message:
Fix wrong comment about MIDI port hold flag



CVS: cvs.openbsd.org: src

2019-08-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/08/29 01:10:28

Modified files:
usr.bin/sndiod : dev.c midi.c 

Log message:
Move code de disconnect all MIDI clients to its own routine.

This makes the routine reusable, no behavior change.



CVS: cvs.openbsd.org: src

2019-08-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/08/29 01:07:33

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Move code de disconnect all audio clients to its own routine.

This makes the routine reusable, no behavior change.



CVS: cvs.openbsd.org: src

2019-08-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/08/29 01:05:47

Modified files:
usr.bin/sndiod : siofile.c 

Log message:
Uniformize device-specific debug printfs



CVS: cvs.openbsd.org: src

2019-08-16 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/08/16 23:04:56

Modified files:
sys/dev: audio.c 

Log message:
Move play blocks count from the audio_softc to the audio_buf structure.

As the audio_buf structure is per-direction, this makes play and
recording code similar. No behavior change.



CVS: cvs.openbsd.org: src

2019-08-16 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/08/16 22:57:52

Modified files:
sys/dev: audio.c 

Log message:
Move block size and block count calculations in their own routines.

Makes the code easier to read, no behabior change.



CVS: cvs.openbsd.org: src

2019-07-28 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/07/28 03:44:10

Modified files:
usr.bin/sndiod : defs.h 
usr.bin/aucat  : defs.h 

Log message:
16 channels is not enough to handle all common uaudio(4) devices, so
crank the maximum channels number to 64.



CVS: cvs.openbsd.org: src

2019-07-11 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/07/12 00:30:55

Modified files:
lib/libsndio   : amsg.h aucat.c 
usr.bin/sndiod : dev.c dev.h sock.c 

Log message:
Add affinity between the program and its mixer control.

Currently, if there are two instances of the same program, sndiod will
allocate one volume control to each. If both programs disconnect and
reconnect, the information of which control is assigned to which
program is lost. This makes difficult to run two instances of a player
and crossfade between each other with a MIDI controller.

To address this, the program chooses a 32-bit "id" (for now the
process pid) and sends it to the server. The server records the id in
the client's slot structure.  When the server accepts a new
connection, it uses the id to identify the slot the client used during
the previous connection; if it was not recycled yet, it's assigned to
the program.



CVS: cvs.openbsd.org: src

2019-07-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/07/10 08:30:39

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Remove few level 3 debug printfs related to slot allocation.



CVS: cvs.openbsd.org: src

2019-07-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/07/10 08:28:44

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Replace the "umap" bitmap by a simple table of slot pointers.

Makes the code simpler at virtually no cost since we need 8 entries
only. No behavior change.



CVS: cvs.openbsd.org: src

2019-07-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/07/10 08:24:42

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Swap "if" and "else" code blocks in slot_new() to improve readability.

No behavior change.



CVS: cvs.openbsd.org: src

2019-07-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/07/10 08:22:53

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Slot name can't be empty. So, no need to check if it is empty.



CVS: cvs.openbsd.org: src

2019-07-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/07/10 08:21:34

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Use NULL instead of 0 where a pointer is expected.



CVS: cvs.openbsd.org: src

2019-07-05 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/07/05 16:53:47

Modified files:
lib/libsndio   : aucat.h 

Log message:
Add forgotten copyright notice, found by Jason Thorpe .
Thanks!



CVS: cvs.openbsd.org: src

2019-07-05 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/07/05 01:34:40

Modified files:
usr.bin/sndiod : utils.c 
usr.bin/aucat  : utils.c 

Log message:
Fix spacing and comments, no code change.



CVS: cvs.openbsd.org: src

2019-06-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/06/29 15:23:18

Modified files:
usr.bin/sndiod : sock.c sndiod.c 

Log message:
Check if syscalls return -1 instead of any negative or non-zero value.

ok deraadt



CVS: cvs.openbsd.org: src

2019-06-28 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/06/29 00:05:26

Modified files:
lib/libsndio   : aucat.c mio.c mio_rmidi.c sio.c 

Log message:
Check if syscalls return -1 instead of any negative value.

"Looks right" deraadt



CVS: cvs.openbsd.org: src

2019-06-16 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/06/16 07:50:39

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Ignore the frame cents component in MMC relocate message.

As MTC requires new position to be transmitted with one frame
precision and then to advance in quarter-frame steps, its not
necessary to pollute out mtc position pointer with a frame cents
information, care about rounding errors and so on.



CVS: cvs.openbsd.org: src

2019-06-16 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/06/16 07:45:12

Modified files:
usr.bin/sndiod : defs.h 

Log message:
Say in comment why we use 1/2400 second as MTC time unit.



CVS: cvs.openbsd.org: src

2019-05-19 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/05/19 06:44:55

Modified files:
usr.bin/aucat  : aucat.c 

Log message:
Fix integer overflow in block size calculation.

Fixes truncation of contents of files with rate above 64kHz
generate in off-line mode (i.e. -n option).



CVS: cvs.openbsd.org: src

2019-05-09 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/05/09 22:45:48

Modified files:
usr.bin/sndiod : midi.c 

Log message:
Backout latest, commited by mistake.



CVS: cvs.openbsd.org: src

2019-05-09 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/05/09 22:40:16

Modified files:
usr.bin/sndiod : midi.c 

Log message:
Use the correct length for MIDI common messages.



CVS: cvs.openbsd.org: src

2019-05-09 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/05/09 22:39:08

Modified files:
usr.bin/sndiod : fdpass.c 

Log message:
Don't try to send to device helper process if it's terminated.



CVS: cvs.openbsd.org: src

2019-05-09 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/05/09 01:09:05

Modified files:
sys/dev/usb: uaudio.c 

Log message:
When changing device rate, send request to the clock source unit.

Currently we send the request to the unit indicated as clock source of
the terminals, which may be a clock selector unit that doesn't support
the request. Fix this by following the clock source path until the
clock source unit is found.



CVS: cvs.openbsd.org: src

2019-05-09 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/05/09 01:00:38

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Set the rate of UAC v2.0 clock units using the control interface, not
a random streaming iface.



CVS: cvs.openbsd.org: src

2019-05-08 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/05/09 00:58:13

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Skip empty control interfaces when parsing descriptors.

Even if having multiple control interface descriptors is not allowed
by the UAC spec, there's no reason to stop as long as a proper control
interface was processed.



CVS: cvs.openbsd.org: src

2019-05-08 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/05/08 23:17:45

Modified files:
sys/dev/pci: envy.c 

Log message:
Implement set_rate() method for M-Audio Audiophile 192k cards.

It switches the AK5385 and the AK4358 chips between single-, double-
or quad-speed modes depending on the host sample rate.

Help and testing by Andrey Oktyabrskiy . Thanks!



CVS: cvs.openbsd.org: src

2019-05-01 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/05/01 08:51:40

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Use the proper UAC-v2.0 request to read the device controls.

Fixes STALL errors in mixer requests causing the mixer to be unusable.
With help from Claus . Thanks.



CVS: cvs.openbsd.org: src

2019-04-30 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/30 14:44:15

Modified files:
sys/dev/pci: envy.c 

Log message:
Make AK5385-related macros of ap192k cards look like julia ones.

As ap192k and julia cards are very similar, this change will hopefully
help reusing part of the juilia codec initialization code as is in the
ap192k card code.  No behavior change.



CVS: cvs.openbsd.org: src

2019-04-30 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/30 14:38:04

Modified files:
sys/dev/pci: envy.c envyreg.h 

Log message:
Implement the set_rate() method for ESI Juli@ cards.

The set_rate method switches the AK5385 and the AK4358 chips between
single-, double- or quad-speed modes depending on the host sample
rate. This suppresses aliasing noise in 96kHz and 192kHz sample
rates.

Help and testing by Andrey Oktyabrskiy . Thanks!



CVS: cvs.openbsd.org: src

2019-04-30 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/30 14:29:46

Modified files:
sys/dev/pci: envy.c envyvar.h 

Log message:
Add a "set_rate" method to the envy codec API.

This allows to hook card-specific codec initialization code
called when the sample rate is changed. As codecs follow host
clock, this method will be typically used to switch between
simple-speed to double-speed modes when necessary.



CVS: cvs.openbsd.org: src

2019-04-30 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/30 14:21:36

Modified files:
sys/dev/pci: envy.c 

Log message:
Fix ESI juil@'s EEPROM contents holding default GPIO state.

The new GPIO state doesn't set masked bits and matches the default
48kHz sampling rate. As the codec uses the host clock, this is a
no-op, but this way the code is less confusing.



CVS: cvs.openbsd.org: src

2019-04-30 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/30 14:17:12

Modified files:
sys/dev/pci: envy.c envyreg.h 

Log message:
Enable EnvyHT-specific sample rates (above 96kHz) on the host controller.

Tests and help from Andrey Oktyabrskiy . Thanks.



CVS: cvs.openbsd.org: src

2019-04-30 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/30 14:09:12

Modified files:
sys/dev/usb: xhci.c 

Log message:
Decrease verbosity when XHCI_DEBUG is defined.

ok mpi



CVS: cvs.openbsd.org: src

2019-04-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/10 09:14:49

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Hide debug printfs.

ok deraadt



CVS: cvs.openbsd.org: src

2019-04-10 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/10 02:27:35

Modified files:
sys/dev/usb: xhci.c 

Log message:
Handle missed service errors, specific to isochronous transfers.

After each MSE, ensuire usbd_complete_transfer() is called for each
missed transfer, for which there's no transfer completion event. Fixes
crashes and deadlocks in upper layers caused by the missing
completion.

ok deraadt, patrick; help from mpi, patrick, gmlocker



CVS: cvs.openbsd.org: src

2019-04-04 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/05 00:14:13

Modified files:
sys/dev: audio.c 

Log message:
Try to start playback after play buffer pointers are advanced.

Allows playback to start automatically as soon as there's enough data,
even if the AUDIO_START ioctl is not called. This is mainly useful to
quickly test & debug low level drivers with simple shell commands.



CVS: cvs.openbsd.org: src

2019-04-04 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/04 03:23:36

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Simplify underruns handling: just copy silence produced by upper layer.

This makes the code less bug prone as the "rare" underruns
conditions are handled by the main non-underrun code.



CVS: cvs.openbsd.org: src

2019-04-03 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/03 01:47:20

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Always copy data (if any) whenever a new bounce buffer is available.



CVS: cvs.openbsd.org: src

2019-04-03 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/03 01:44:52

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Check for available space before copying data to the bounce buffers.

No behavior change as we don't call uaudio_pdata_copy() in situations
when bounce buffers may not be available.



CVS: cvs.openbsd.org: src

2019-04-03 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/04/03 01:38:12

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Make the uaudio_stream->ubuf_xfer relative to current xfer number.

No behavior change. The new representation is equivalent but eases
detection of overflows and underflows.



CVS: cvs.openbsd.org: src

2019-03-31 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/03/31 11:55:09

Modified files:
sys/dev: audio.c 

Log message:
Don't try to recover when DMA pointers wrap if the driver is
using bounce buffers. In this case, hardware underruns are managed
by the driver on the bounce buffers, not the audio ring buffer.



CVS: cvs.openbsd.org: src

2019-03-28 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/03/28 05:18:57

Modified files:
usr.bin/sndiod : midi.c 

Log message:
Don't send MIDI-related flow control messages until at least
half of the client buffer space is consumed. This avoids sending
unnecessary/redundant messages on the network.



CVS: cvs.openbsd.org: src

2019-03-28 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/03/28 05:11:18

Modified files:
lib/libsndio   : aucat.c 

Log message:
Wait until server disconnects before closing the socket. Otherwise,
last bytes sent may be lost by the server.



CVS: cvs.openbsd.org: src

2019-03-12 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/03/12 02:33:25

Removed files:
sys/dev/usb: uaudioreg.h 

Log message:
Remove unused uaudioreg.h file.

ok mpi



CVS: cvs.openbsd.org: src

2019-03-12 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/03/12 02:32:07

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Add a new driver for USB Audio Class v2.0 devices. It replaces the
current one for UAC v1.0 devices.

The main difference with the old driver is that now we map audio
blocks to USB transfers, which allows precise synchronization and
reliability, including during low-latency operation.

with help from many, ok mpi



CVS: cvs.openbsd.org: src

2019-03-12 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/03/12 02:18:34

Modified files:
share/man/man9 : audio.9 

Log message:
Document the new copy_output() and underrun() driver methods.



CVS: cvs.openbsd.org: src

2019-03-12 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/03/12 02:16:30

Modified files:
sys/dev: audio.c audio_if.h 

Log message:
Add new copy_output() and underrun() methods to support drivers
using bounce buffers, like the uaudio(4) driver.

ok mpi



CVS: cvs.openbsd.org: src

2019-03-12 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/03/12 02:13:50

Modified files:
sys/dev/usb: uhci.c 

Log message:
uhci: Fix delayed completions for isochronous transfers.

When an isochronous transfer of n frames is scheduled, the last frame
i.e. frame number (n - 1) must be set to generate an interrupt.

ok mpi



CVS: cvs.openbsd.org: src

2019-02-20 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/02/20 23:19:51

Modified files:
usr.bin/aucat  : aucat.c 

Log message:
Use reallocarray in place of malloc(a * b) to handle possible
overflow in multiplication of malloc argument.



CVS: cvs.openbsd.org: src

2019-01-18 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2019/01/18 01:43:49

Modified files:
lib/libsndio   : sio_open.3 

Log message:
Sayt that using capabilities to negociate audio parameters (ie using
sio_getcap() function) is not recomended.

>From Paul Swanson , ok jmc



CVS: cvs.openbsd.org: src

2018-11-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/11/30 00:10:12

Modified files:
distrib/sets/lists/base: mi 
distrib/sets/lists/man: mi 

Log message:
sync



CVS: cvs.openbsd.org: src

2018-11-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/11/30 00:08:24

Modified files:
usr.bin: Makefile 
Added files:
usr.bin/midicat: Makefile midicat.1 midicat.c 

Log message:
New midicat utility to send to or receive from MIDI ports.

ok mpi@



CVS: cvs.openbsd.org: src

2018-11-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/11/30 00:05:49

Modified files:
usr.bin: Makefile 
Removed files:
usr.bin/midiplay: Makefile midiplay.1 midiplay.c 

Log message:
Remove midiplay.

ok mpi@



CVS: cvs.openbsd.org: src

2018-11-07 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/11/07 14:22:34

Modified files:
usr.bin/aucat  : dsp.c 

Log message:
Fix clipping during float to integer conversions.

>From Jari Vetoniemi . Thanks!



CVS: cvs.openbsd.org: src

2018-09-28 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/09/28 12:21:31

Modified files:
share/man/man8 : afterboot.8 

Log message:
Explain how to enable audio recording.

help from solene, jmc, and schwarze



CVS: cvs.openbsd.org: src

2018-08-08 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/08/08 16:31:43

Modified files:
usr.bin/sndiod : sndiod.c 

Log message:
Use unveil(2) in the helper process to disallow access to other files
than the devices specified with -f and -q options.

ok deraadt@



CVS: cvs.openbsd.org: src

2018-08-08 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/08/08 08:25:50

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Fix possible division by zero caused by bogus usb descriptors. From
Michael W. Bombardieri. Thanks.



CVS: cvs.openbsd.org: src

2018-08-05 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/08/05 05:46:31

Modified files:
share/man/man4 : audio.4 

Log message:
Mention ioctls that don't work for the control device.

ok jmc



CVS: cvs.openbsd.org: src

2018-08-05 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/08/05 05:41:50

Modified files:
share/man/man4 : audio.4 

Log message:
Use english words instead of file names.

ok jmc



CVS: cvs.openbsd.org: src

2018-08-05 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/08/05 04:31:49

Modified files:
share/man/man4 : audio.4 

Log message:
Remove obvious or repeating sentinces.

ok jmc



CVS: cvs.openbsd.org: src

2018-07-30 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/07/30 05:51:42

Modified files:
sys/dev/usb: uaudio.c 

Log message:
Inline trivial uaudio_id_name(). From Michael Bombardieri, thanks.

"looks good" kn@



CVS: cvs.openbsd.org: www

2018-07-30 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:www
Changes by: ratc...@cvs.openbsd.org 2018/07/30 04:12:09

Modified files:
faq: current.html 

Log message:
Fix typo in sndio cookie migration steps (last part of the path was
missing). From Benjamin Baier . Thanks!



CVS: cvs.openbsd.org: www

2018-07-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:www
Changes by: ratc...@cvs.openbsd.org 2018/07/29 01:49:00

Modified files:
faq: current.html 

Log message:
Tell that /dev/audio and /dev/audioctl can be removed.



CVS: cvs.openbsd.org: www

2018-07-29 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:www
Changes by: ratc...@cvs.openbsd.org 2018/07/29 01:45:06

Modified files:
faq: current.html 

Log message:
Explain how to preserve sndio session cookie if needed. Help from tb@.



CVS: cvs.openbsd.org: src

2018-07-28 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/07/28 03:11:55

Modified files:
lib/libsndio   : aucat.c sio_open.3 sndio.7 

Log message:
Move libsndio session cookie in its own $HOME/.sndio/ directory to
make libsndio easier to use with unveil(2).

"make sense" deraadt



CVS: cvs.openbsd.org: src

2018-07-28 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/07/28 03:07:48

Modified files:
lib/libsndio   : amsg.h 

Log message:
Rename the sndiod unix domain socket to /tmp/sndio/sockN to avoid
wondering what are these "aucat" files in /tmp.

"make sense" deraadt



CVS: cvs.openbsd.org: src

2018-07-28 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/07/28 02:11:08

Modified files:
etc/etc.alpha  : MAKEDEV 
etc/etc.amd64  : MAKEDEV 
etc/etc.arm64  : MAKEDEV 
etc/etc.armv7  : MAKEDEV 
etc/etc.hppa   : MAKEDEV 
etc/etc.i386   : MAKEDEV 
etc/etc.landisk: MAKEDEV 
etc/etc.loongson: MAKEDEV 
etc/etc.luna88k: MAKEDEV 
etc/etc.macppc : MAKEDEV 
etc/etc.octeon : MAKEDEV 
etc/etc.sgi: MAKEDEV 
etc/etc.sparc64: MAKEDEV 

Log message:
sync



CVS: cvs.openbsd.org: src

2018-07-28 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/07/28 02:09:50

Modified files:
etc: MAKEDEV.common 

Log message:
Remove unused /dev/audio and /dev/audioctl symlinks.

ok deraadt



CVS: cvs.openbsd.org: src

2018-07-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/07/26 23:48:59

Modified files:
sys/dev/usb: uaudio.c 

Log message:
No need to test if pointer is NULL to call free(9). From
Michael W. Bombardieri. Thanks!



CVS: cvs.openbsd.org: src

2018-07-01 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/07/01 23:13:35

src/usr.bin/midicat

Update of /cvs/src/usr.bin/midicat
In directory cvs.openbsd.org:/tmp/cvs-serv56324/midicat

Log Message:
Directory /cvs/src/usr.bin/midicat added to the repository



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:49:44

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Initialize the slot->skip counter in slot_start() instead of
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.



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:44:35

Modified files:
usr.bin/sndiod : dev.c dev.h 

Log message:
Remove redundant slot->tstate variable.

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.



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:43:19

Modified files:
usr.bin/sndiod : dev.c 

Log message:
Remove useless check if s->ops == NULL from slot_setvol().



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:42:04

Modified files:
usr.bin/sndiod : dev.c 

Log message:
No need to initialize slot->mix.weight as it's recalculated and
overwritten in dev_mix_adjvol(), which is always called.



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:39:59

Modified files:
usr.bin/sndiod : dev.c sock.c 

Log message:
Move slot-related debug printfs from sock_hello() to slot_new().



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:36:27

Modified files:
usr.bin/sndiod : dev.c dev.h sock.c 

Log message:
Convert all the slot_xxx() routines to use the number of channels
instead of the maximum channel number. This way the code is simpler.
No behaviour change.



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:31:29

Modified files:
usr.bin/sndiod : dev.c dev.h sock.c 

Log message:
Remove {mix,sub}.slot_cmin fields from the slot structure, as the same
information is already available in the opt structure.



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:30:26

Modified files:
usr.bin/sndiod : dev.c dev.h sock.c 

Log message:
Remove dev_{cmin,cmax} from the slot structure as the same information
is available in the opt structure.



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:27:44

Modified files:
usr.bin/sndiod : dev.c dev.h 

Log message:
Remove slot->dup which is a copy of opt->dup, and just use the latter
everywhere.



CVS: cvs.openbsd.org: src

2018-06-26 Thread Alexandre Ratchov
CVSROOT:/cvs
Module name:src
Changes by: ratc...@cvs.openbsd.org 2018/06/26 01:22:55

Modified files:
usr.bin/sndiod : dev.c dev.h 

Log message:
Remove slot->maxweight, because it's a copy of opt->maxweight. Just
use the latter everywhere.



<    1   2   3   4   5   6   7   8   9   10   >