Age | Commit message (Collapse) | Author |
|
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
|
- don't mess with the operational mode. that was primarily to be able to
set record|play mode for full-duplex, which isn't needed any more.
- don't set pause=1. this ioctl isn't supposed to be used for stopping
streams.
suggestions, ok ratchov
|
|
sure to only use 'record.source' instead of possibly 'inputs.source'.
|
|
bump minor version
ok deanna@
|
|
a single OSS ioctl, return the return value and errno from from
AUDIO_SETINFO if there was an error, since it's more informative
than the return value and errno from AUDIO_GETINFO. also, don't
bail if AUDIO_SETINFO fails, because OSS ioctls should return the
current value of the parameter they are setting, even if there was
an error.
- avoid a possible (though highly unlikely) divide by zero in
SNDCTL_DSP_GET[IO]SPACE.
ok ratchov@
|
|
instead of AUDIO_GETINFO
- make SNDCTL_DSP_GETISPACE return correct values by using AUDIO_GETRRINFO
instead of AUDIO_GETINFO
- remove calls to setblocksize() from SNDCTL_DSP_GET[IO]SPACE. changing
the blocksize inside play or record loops, where these ioctls are most
often used, can have serious negative consequences. the blocksize
should be "fixed" to a power of 2 before these ioctls are called by
using SNDCTL_DSP_SETFRAGMENT or SNDCTL_DSP_GETBLKSIZE.
heavily tested by myself. no negative feedback from anyone else.
ok ratchov
|
|
SNDCTL_DSP_SETTRIGGER is used to pause and unpause recording and
playback data transfers. SNDCTL_DSP_GETTRIGGER returns the paused
states.
this implementation of SNDCTL_DSP_SETTRIGGER also sets the audio(4)
mode (AUMODE_[PLAY|RECORD]), depending on which direction (play, record
or both) is to be triggered.
this can be used allow OSS audio programs to work in full-duplex
mode without changing the audio(4) layer itself. according to
OSS docs, SNDCTL_DSP_SETTRIGGER is a fairly important ioctl, and
should be used "when even the first read() cannot block."
tested to not break any ports currently using SNDCTL_DSP_SETTRIGGER
which has been a no-op for quite some time.
ok ratchov
|
|
|
|
unintentional changes of the audio settings e.g. when running "kphone".
Adapted to the userland library from a similar change in the kernel code.
ok jakemsr@
|
|
|
|
- add SNDCTL_DSP_SETDUPLEX emulation (netbsd)
- SNDCTL_DSP_POST is a noop to prevent some apps blocking (netbsd)
- some man pages fixes (from me and netbsd)
- add some more missing #defines for SOUND_MIXER_* (netbsd)
|
|
this is not standard C, but it works on the arches we support,
and osscompat is a dirty hack in the first place.
ok millert@, tested naddy@
|
|
--
- Add __BEGIN_DECLS & __END_DECLS for C++
- Make protection against multiple inclusion non-invasive wrt. name space
- Use EAGAIN instead of EWOULDBLOCK. The actual numeric value is
same, but EAGAIN is the posixly correct name
- Remove white space
- Change the behaviour to report emulated encodings, too
- Implement SOUND_MIXER_INFO
- Implement OSS_GETVERSION
- Accept mixer values above max (100)
- Handle the info from AUDIO_MIXER_DEVINFO properly, parts of it is opaque
- Use accurate rounding in conversion between OSS and OpenBSD volume values
- Map OSS mixer device "line1" to native mixer device "aux"
--
Some testing by pvalchev@, no response from other testers in over a month
and a half.
|
|
The kernel part of this fixes sound emulation for version 1.37c of the Linux
binary of Snes9x (Super Nintendo emulator). The userland equivalent fix should
allow espie to remove his local audio hacks in the squeak port.
|
|
|
|
|