Add support for 24-bit and 32-bit audio output.#75
Add support for 24-bit and 32-bit audio output.#75AliceLR wants to merge 1 commit intolibxmp:masterfrom
Conversation
42fcda3 to
c344688
Compare
I think it's possible with new (4.x) oss versions, e.g. freebsd: See their sys/soundcard. h at https://cgit.freebsd.org/src/tree/sys/sys/soundcard.h#n175 for AFMT_S32_NE and AFMT_S24_NE, for e.g.
Can't we just remove that prehistoric backend? |
I think this is correct, but I didn't look that closely. The current lists were kind of just guessing based on the defines I could easily search. The only drivers I looked at with any depth are the ones that are updated and working, so far. (Also, I forgot to put WinMM in the list—seems that like WAV, it works but you need to use
Not sure; I think if that happens, it should wait for a later release. (I think anything that only supports ancient ALSA should also have OSS?) |
| fmt = format & XMP_FORMAT_8BIT ? | ||
| SND_PCM_FORMAT_S8 : SND_PCM_FORMAT_S16; | ||
| fmt = format & XMP_FORMAT_UNSIGNED ? | ||
| SND_PCM_FORMAT_U8 : SND_PCM_FORMAT_S8; |
There was a problem hiding this comment.
SND_PCM_FORMAT_S8 played as if it was using the wrong signedness the last time I tested it, may need investigation. (This may be a PipeWire bug or something else, though.)
8172066 to
485b271
Compare
Confirmed that this works in NetBSD. I will try the other BSDs too once I'm done with NetBSD (if only to see if anything actually supports |
6f52485 to
3f2581c
Compare
You need to use Is there anything modern that supports the "BSD" driver or should I dig up older BSD releases? |
3f2581c to
b1f1fef
Compare
Drivers with 24-bit and 32-bit audio support: - [x] ALSA - [ ] BSD - [ ] CoreAudio - [x] NetBSD - [x] OSS - [x] PulseAudio - [x] sndio - [x] Raw file - [x] WAV file Drivers that do not support 24-bit or 32-bit: - [ ] Sound Blaster Drivers to verify: - [ ] AHI - [ ] AIFF file - [ ] AIX - [ ] ALSA 0.5 - [ ] BeOS - [ ] DART - [ ] HP-UX - [ ] QNX - [ ] SGI - [ ] Solaris
b1f1fef to
11cec8f
Compare
Patches necessary to actually use the 32-bit output support added by libxmp/libxmp#964 (see libxmp/libxmp#924). This is a work in progress and can be finished after libxmp 4.7.0 is out.
Drivers with 24-bit and 32-bit audio support:
Skipped drivers (I do not have a testing environment):
Drivers that do not support 24-bit or 32-bit:
Drivers to verify: