audio/faudio: work around OSS audio crash
INFO: OpenAudioDevice failed: Fragment size must be a power of two PR: 245533 Approved by: tobik (maintainer)
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
PORTNAME= FAudio
|
||||
DISTVERSION= 20.04
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= audio
|
||||
|
||||
MAINTAINER= tobik@FreeBSD.org
|
||||
|
||||
23
audio/faudio/files/patch-src_FAudio__platform__sdl2.c
Normal file
23
audio/faudio/files/patch-src_FAudio__platform__sdl2.c
Normal file
@@ -0,0 +1,23 @@
|
||||
https://github.com/FNA-XNA/FAudio/issues/183
|
||||
|
||||
--- src/FAudio_platform_sdl2.c.orig 2020-04-01 14:55:30 UTC
|
||||
+++ src/FAudio_platform_sdl2.c
|
||||
@@ -100,6 +100,18 @@ void FAudio_PlatformInit(
|
||||
want.samples = want.freq / 100;
|
||||
}
|
||||
|
||||
+ /* SDL audio with arts/dsp backends expect ^2, so round up.
|
||||
+ * For 48KHz this should be 512.
|
||||
+ * https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
|
||||
+ */
|
||||
+ want.samples--;
|
||||
+ want.samples |= want.samples >> 1;
|
||||
+ want.samples |= want.samples >> 2;
|
||||
+ want.samples |= want.samples >> 4;
|
||||
+ want.samples |= want.samples >> 8;
|
||||
+ want.samples |= want.samples >> 16;
|
||||
+ want.samples++;
|
||||
+
|
||||
/* Open the device (or at least try to) */
|
||||
iosretry:
|
||||
device = SDL_OpenAudioDevice(
|
||||
Reference in New Issue
Block a user