Commit Graph

50 Commits

Author SHA1 Message Date
drochner 754fc2622c Set the number of record and play channels individually -- currently
we try to set both in one ioctl, to the same value, which fails if not
both record and play direction support that many channels. (Having
more play than record channels is common these days.)
This does likely address part of the problem described in PR pkg/35444
by Mihai Chelaru, and it helped Matthew R. Green about half a year
ago -- see the thread in tech-misc in April.
2007-11-08 20:27:25 +00:00
mlelstv 6abb2a41f4 Implement OSS_SNDCTL_DSP_GETODELAY and provide a no-op function
for OSS_SNDCTL_DSP_PROFILE.
2007-09-18 22:57:31 +00:00
joerg 5ccf1c578a Add a new ioctl AUDIO_GETBUFINFO. It works like AUDIO_GETINFO, but
doesn't obtain the ports, gain and balance related parameters.
Those generally require reading from the hardware and therefore are much
more expensive to obtain. Modify OSS emulation to use the new ioctl
where possible.

This reduces CPU usage of mplayer during mp3 playback with my Thinkpad
from 20% to < 1% and from 50% to 20% during Xvid playback.

Review and comments from jmcneill@
2007-06-11 13:05:46 +00:00
lukem f9d230b4f6 appease gcc -Wuninitialized. some delint 2005-06-01 11:22:18 +00:00
drochner f2a3f79f1c work around a prototype conflict by including ioctl.h
before we redefile ioctl()
2005-02-09 18:02:53 +00:00
perry 7bcd7064be de-__P 2005-02-04 16:14:21 +00:00
kent b285c03873 getdevinfo():
If a mixer item does not match with AudioNsomething, check whether
it ends with '.' + AudioNsomething.  PR#15441
2004-11-18 14:02:42 +00:00
grant 86f70dccd2 drop whitespace 2003-11-18 22:42:04 +00:00
wiz 472351e13d Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
2003-04-16 13:34:34 +00:00
lukem 8bf240ccae use __RCSID() 2003-03-09 01:03:54 +00:00
jdolecek 98cb17d023 add support for SNDCTL_DSP_SETDUPLEX ioctl to ossaudio emulation code
code provided by Andreas Wrede in PR kern/19793
2003-01-12 08:20:05 +00:00
wiz 57a4de98d0 New sentence, new line. From Robert Elz. 2002-10-01 19:26:58 +00:00
wiz 796338fdc4 Add SOUND_MASK_* for the last SOUND_MIXER_* values that didn't have any. 2002-05-27 14:42:15 +00:00
wiz e63f7d735b Improve markup, sort sections. 2002-02-20 11:38:02 +00:00
ross 814f296b77 Generate <>& symbolically. 2002-02-07 07:00:09 +00:00
kleink 0f83741fa0 Determine the 'native' endianness using _BYTE_ORDER from
<machine/endian_machdep.h>.

The previous method of wrapping a definition of _POSIX_SOURCE around the
inclusion of other headers to reduce namespace pollution had the
side-effect of not all required identifiers being defined when included
thereafter by the application itself (due to multiple-inclusion protection),
and is not blessed by that standard.
2002-01-11 12:11:09 +00:00
mycroft cbfac6596e Make SNDCTL_DSP_POST a nop. It's explicitly *not* supposed to sleep, and as
it's merely advisory (and in fact is implemented as a nop in the OSS->ALSA
shim), it should be safe to ignore it.
2001-12-24 00:10:46 +00:00
kim b399dad6eb Map OSS mixer device "line1" to native mixer device "aux". 2001-07-08 22:30:15 +00:00
jdolecek 16624f841d Use EAGAIN instead of EWOULDBLOCK. The actual numeric value is
same, but EAGAIN is the posixly correct name.
Addresses misc/12960.
2001-05-19 17:23:39 +00:00
augustss 5a71cdbf26 Impproved fix of PR12796, from Frederick Bruckman <fb@enteract.com> 2001-05-10 01:53:48 +00:00
augustss 5c9ba155e3 Apply patch in PR lib/12796 from Frederick Bruckman <fb@enteract.com> 2001-05-09 21:49:58 +00:00
tron 29e1f8bd9f Use accurate rounding in conversion between OSS and NetBSD volume values.
The optimized integer formula was supplied by Wolfgang Solfrank on
"tech-kern@netbsd.org". This fixes problems with e.g  FreeBSD TV (fxtv),
RealPlayer-7.0 Beta 2 (PR pkg/10818) and KDE's "kscd".
2000-08-16 16:14:33 +00:00
msaitoh f6f00e2615 remove extra period in SEE ALL section 2000-07-05 15:45:28 +00:00
augustss 17ac2f03ee Implement OSS_GETVERSION.
Accept mixer values above max (100).
Handle the info from AUDIO_MIXER_DEVINFO properly, parts of it is opaque.
2000-07-04 09:56:14 +00:00
augustss 41a71bdc48 Implement SOUND_MIXER_INFO. 1999-11-16 23:56:41 +00:00
kleink 79ce98b212 Per discussion with Lennart Augustsson, change the behaviour to report emulated
encodings, too.  (This is currently an issue with the eso(4) driver, which,
due to different byte orders in playing and recording directions, sets the
emulated flag for all 16-bit encodings, although it could be argued that this
is an unfortunate weakness of the query_encoding() interface.)
1999-08-22 13:43:09 +00:00
simonb 42724dd4d2 More trailing white space. 1999-07-02 15:37:33 +00:00
augustss 54b9d07367 Make copyrights conform. 1999-04-13 20:45:25 +00:00
garbled 38c96853cf Last of the .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Wheee!
1999-03-22 19:44:33 +00:00
augustss 8a7a6a6cfe Avoid defining _POSIX_SOURCE. 1999-03-18 11:22:54 +00:00
abs edc1a24a56 Add a note to update src/distrib/sets/lists/base/shl.*, and add a missing
RCS Id.
1999-02-25 08:02:19 +00:00
kleink f83935c8e4 Make protection against multiple inclusion non-invasive wrt. name space. 1999-02-05 15:16:33 +00:00
augustss 7d30602831 Xref midi(4). 1998-08-12 12:23:30 +00:00
augustss d78443c890 Revert the #define of ioctl to its previous state since my
"improvement" broke some packages.
1998-06-29 20:48:00 +00:00
augustss 13648c9aa6 Add __BEGIN_DECLS & __END_DECLS for C++ and clean up a little. 1998-06-19 15:05:09 +00:00
augustss 1a6c4f4a84 Fix off by one error. 1998-05-25 17:13:14 +00:00
lukem 175e3708a8 use CPPFLAGS not CFLAGS 1998-04-13 14:18:45 +00:00
augustss 99c03c4382 Track mycroft's change in src/sys/compat/oss/ossaudio.c. 1998-03-23 00:39:18 +00:00
perry 312aca536f add LIBRARY section to man page 1998-02-05 18:45:17 +00:00
perry 93db5caa95 RCSID Police. 1998-01-05 07:41:06 +00:00
mikel ff1bdcd3f8 back out last change 1997-11-07 05:34:07 +00:00
mikel 486500f857 don't build shared library 1997-11-01 05:04:51 +00:00
augustss ef9d46637b Add even more defines. 1997-10-29 20:23:27 +00:00
augustss a1338abe8c Fix a serious emulation bug.
Add some missing #defines.
Add a little more documentation.
1997-10-29 00:31:01 +00:00
augustss e067be5020 Add some missing defines and add history to man page. 1997-10-26 23:50:30 +00:00
thorpej ee196f5aad Install the "soundcard.h" include file in /usr/include, because:
- The documentation says <soundcard.h>, and
- You can't install an include into /usr/include/sys, because the user
  might be using "symlinks" for the sys includes.
1997-10-19 08:12:22 +00:00
augustss 0a9e50418e Update for SunOS compatibility. 1997-10-19 07:47:48 +00:00
augustss dfe94eff65 Remove a copied line. 1997-10-16 17:50:29 +00:00
augustss 32a1a5fb11 Add some bugs to the man page. 1997-10-16 17:46:28 +00:00
augustss afab22e3de Initial version of a user level emulation of the OSS audio API.
Useful for compiling Linux audio programs.
1997-10-16 17:30:57 +00:00