[prev in list] [next in list] [prev in thread] [next in thread]
List: netbsd-current-users
Subject: isaki-audio2 was merged
From: Tetsuya Isaki <isaki () pastel-flower ! jp>
Date: 2019-05-19 9:43:07
Message-ID: x78sv2wzis.wl%isaki () pastel-flower ! jp
[Download RAW message or body]
# 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 / isaki@NetBSD.org>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic