Commit Graph

49 Commits

Author SHA1 Message Date
simonb 72359ec83c Fix indentation botch. 2002-02-19 14:07:26 +00:00
kent 46ffcfbf95 uaudio_set_params() for mulaw:
Give priority to 16bit again in the case the device has no hardware
support for mulaw.
2002-02-14 12:55:51 +00:00
jdolecek a2803fa798 split the channel stuff into record and play parts, so that this driver is
full duplex, independent
2002-02-12 19:52:43 +00:00
kent c1b55b61ac uaudio_chan_set_param:
Take care of param->factor.

uaudio_set_params:
  Fix a problem of precision matching for mulaw/alaw with 16bit.
2002-02-11 07:10:36 +00:00
kent 4653bffb03 uaudio_set_params:
Use slinear16_to_mulaw_le() if ULAW recording is requested and the device
supports neither signed 8bit nor unsigned 8bit and supports 16bit.
2002-02-10 06:37:45 +00:00
lukem 667807e40c add RCSIDs 2001-11-13 06:24:53 +00:00
augustss 1339e88a86 Add a new optional method, dev_ioctl, to the audio hardware driver interface.
It is called when an unrecognized ioctl() is performed on a device,
thus allowing ioctl()s that frob the hardware driver (like loading
microcode).
2001-10-03 00:04:47 +00:00
christos 6f62797262 Don't leak memory in case of a realloc failure.
Reported by: grendel@heorot.stanford.edu (Ted U)
2001-05-12 19:18:57 +00:00
augustss cbda952879 Make sure driver attach/detach events are generated in a consistent manner. 2001-01-23 14:04:13 +00:00
augustss 1aca8405a5 Cosmetic changes. 2001-01-21 00:07:13 +00:00
augustss f6f8ab2d11 Don't #define UAUDIO_DEBUG here. 2001-01-06 12:12:24 +00:00
mycroft f73703a4a6 Set the play and record parameters separately.
If the device is unidirectional, just ignore parameters in the other direction.
(XXX We need a better way of dealing with this.)
Only set curaltidx if we're setting usemode.
This makes both the Altec Lansing speaker set and the Telex bidirectional frob
work again.
2001-01-04 07:05:00 +00:00
mycroft c142ce184b Several things:
* Only match an alternate which is in the same direction.
* Use 16-bit ulaw and alaw conversions for output, if possible.
* Store the interface handle in the `alternate' table, so we use the right
  interface when creating pipes for devices with both play and record.
Record doesn't seem to actually return any data from the Telex frob, but at
least it doesn't crash or return EIO now.

XXXXXXXX
This is a big f*cking hack.  Play and record need to be separated completely
if this code is ever going to even pretend to support full duplex.
2001-01-04 06:20:49 +00:00
mycroft 6ff81e44ec No really, this is half-duplex for now. Lame. 2001-01-04 05:25:24 +00:00
mycroft ab1d9b87b0 Make some vague attempt to handle devices that do both input and output. This
probably needs more work, but at least my Telex frob can play music now.
Also, AUDIO_DEBUG -> UAUDIO_DEBUG.
2001-01-04 03:53:09 +00:00
augustss 271adbd54e Try to get rounding right when setting mixer values. 2000-12-29 14:49:28 +00:00
augustss 560f4a2254 Set the mixer delta field. 2000-12-29 13:28:41 +00:00
augustss e9853f047a Update location of specs. 2000-12-29 01:14:15 +00:00
augustss 20d1ae1adb Add two more quirks:
UQ_AU_NO_FRAC for audio devices that cannot handle adjustment for fractional
    sample size.
  UQ_AU_INP_ASYNC for input devices that claim to be adaptive, but are in fact
    asynchronous (an easy mistake to make unless you read the specs carefully :)
2000-12-28 11:56:22 +00:00
augustss 5236b76556 Make message about ignored endpoint a little clearer. 2000-12-28 01:01:42 +00:00
augustss 7ce859b8d0 Allow 16-bit only speakers to work. 2000-10-05 01:35:07 +00:00
augustss d08216d4e2 Add a quirk for audio devices that claim to have an extension unit, but it
can't be manipulated.
2000-08-24 14:11:09 +00:00
augustss 88e928528c Unswap functiona arguments that got swapped during ANSIfication. Now
mixer controls work again.
2000-06-19 11:43:48 +00:00
augustss ed9486e158 Bring the coding style into the 80s, i.e., get rid of __P and use
ANSI prototypes and declarations.
2000-06-01 14:28:57 +00:00
thorpej f636538446 NULL != 0 2000-05-19 04:34:39 +00:00
augustss 30c20f930f Change my email address. 2000-04-27 15:26:44 +00:00
augustss a25e27e1eb Some OpenBSD portability fixes. 2000-03-29 18:24:52 +00:00
augustss 9a386a047a Do not use all xfers at the same time, this can cause problems in the HC
drivers.
2000-03-29 01:47:25 +00:00
augustss fc72e72d7d Change (almost) all static to Static. The symbol `Static' can then be defined
to `' or `static' depending on if you want to debug or not.
2000-03-27 12:33:53 +00:00
augustss 2e85384321 Some more debug when selecting sample rate. 2000-03-24 13:02:00 +00:00
augustss 7d05674ba7 Distinguish between device and interface classes.
(I finally found a document that said that they were different.)
2000-02-29 21:37:00 +00:00
augustss e922214fb2 Use NULL instead of 0. 2000-02-08 18:45:27 +00:00
augustss 4b93911b25 Generate usb events on attach and detach. 2000-02-02 13:18:45 +00:00
augustss d50156f1bd Start of implementation of UpDown processing unit control. 2000-01-16 09:32:56 +00:00
augustss 81a78604bf Implement the ENABLE control for processig units. 2000-01-06 21:13:55 +00:00
augustss 8111aaeef9 Cosmetics and a couple of diagnostic messages. 1999-12-06 21:06:59 +00:00
augustss 240991073c Generate an error message when attachment fails. 1999-11-26 01:38:40 +00:00
augustss 3386c68b46 Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma. 1999-11-18 23:32:25 +00:00
augustss cdaec29859 A few more purely stylistic changes that I missed in the last round. 1999-11-17 23:00:49 +00:00
augustss aef39844d9 Add quirk for speakers that pretend to support the audio class, but don't.
Add quirk for mice that geberate spurious button up events (XXX fix not fully
implemented).
1999-11-15 22:04:14 +00:00
augustss 0d2fabdf26 A number of stylistic changes to increase readability (many suggested
by Nick Hibma):
	use NULL not 0
	declare all local definitions static
	rename s/usbd_request/usbd_xfer/ s/reqh/xfer/
	rename s/r/err/
	use implicit test for no err
	KNF
1999-11-12 00:34:57 +00:00
augustss e9fc8103ca Make detach wait for interrupts to finish.
Bail out in interrupt routine when device is dying.
1999-11-09 16:52:14 +00:00
augustss b952f8727b Print a little more information when attaching. 1999-11-02 16:54:27 +00:00
augustss 860ebb7a92 Make little endian and big endian version of all functions
that deal with 16 bit samples.  Let the drivers decide which ones
to use.
1999-11-01 18:12:19 +00:00
augustss 0ce4b38e23 Add some code for recording, still untested. 1999-10-25 10:16:49 +00:00
augustss 708b8c75d1 Give uaudio its own debug flag. 1999-10-14 01:18:39 +00:00
augustss 3d6e4de045 Format tag and format type tests were interchanged. 1999-10-13 20:13:29 +00:00
augustss b1a719a6cc Add a flag in the request to determine if the data copying is done by the
driver or the usbdi layer.
1999-09-12 08:23:42 +00:00
augustss 8c655e84f2 An EXPERIMENTAL audio driver. It still needs work, e.g., in the mixer
part to give reasonable names to the mixer controls.
1999-09-09 12:28:25 +00:00