tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
isaki-audio2 was merged
# At first, I'm sorry for long absent due to my health problem.
# I'm fine now.
As you know, I merged isaki-audio2 branch a while ago.
This will improve whole the audio system. Please test it.
Summary for the userland:
The most userland apps should work as it is. (Although I got some
PRs already...)
Existing userland API are mostly not changed but there is some
changes. See also audio(4).
- The open() behavior on half duplex device is clarified.
- The AUMODE_PLAY_ALL flag has no meaning whether specified or not.
It was not incompatible with realtime mixing.
- AUDIO_GETFD/SETFD ioctl are obsoleted. Nobody wants to change
duplex mode on-the-fly and any driver have not supported it.
- AUDIO_GETCHAN/SETCHAN ioctl are obsoleted. It was introduced at
netbsd-8 but it's unusable and insecure. I think nobody uses.
Summary for the hardware drivers (lower layer drivers):
All drivers should follow it. See also audio(9). I've done as
much as possible but some drivers may not work yet.
Please test your driver.
- The calling sequence of audio_hw_if had been changed silently at
netbsd-8. I clarified it. Here is the summary at least I can
explain.
- Drivers who resets the chip on open() or close() may not work.
Resetting the chip should be done by attach.
- Drivers who starts play and/or rec on init_{input,output}()
may not work. Starting should be done by start_{input,output}
(if you use start_* method).
If your driver does not work, please confirm it on netbsd-8
(or prior to 8.99.39) and netbsd-7 (if possible). Because some
of them have not worked for long time.
- In the past, each drivers used to convert all userland encoding
to its hardware format. But now all userland encoding/channels/
frequency conversions are handled in the upper layer (audio.c).
The hardware drivers only need to handle at least one hardware
encoding/precision/channels/frequency.
I left some conversion code as-is in the most drivers to avoid
enbug. But feel free to modify/remove it.
You does not need to support many encoding/frequencies, so you
will be able to make it more simple.
Lastly, this work is based on Y.Sugahara's initial work. Without
his help, I would not have reached here. Thanks so much.
---
Tetsuya Isaki <isaki%pastel-flower.jp@localhost / isaki%NetBSD.org@localhost>
Home |
Main Index |
Thread Index |
Old Index