From 1aa6f3080953eb4b3a4018b805a014c95dfce4dd Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Tue, 28 Nov 2023 12:08:55 +0100 Subject: Bug 1475: Minor revision of orig patch-set - Implement ALC.alcIsDoubleNullTerminatedString() in Java w/ our existing functionality, drop JNI function - JoalVersion.devicesToString(..) revert to original API dropping boolean params - C: Drop using stdbool.h, earmarked as obsolete in std --- src/java/jogamp/openal/ALCImpl.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/java/jogamp/openal') diff --git a/src/java/jogamp/openal/ALCImpl.java b/src/java/jogamp/openal/ALCImpl.java index f08541c..cdde31b 100644 --- a/src/java/jogamp/openal/ALCImpl.java +++ b/src/java/jogamp/openal/ALCImpl.java @@ -15,7 +15,6 @@ import java.util.ArrayList; /** * ALC implementation. - * @author Michael Bien */ public class ALCImpl extends ALCAbstractImpl { public boolean aclEnumerationExtIsPresent() { @@ -27,11 +26,14 @@ public class ALCImpl extends ALCAbstractImpl { } public boolean alcIsDoubleNullTerminatedString(final ALCdevice device, final int param) { - return dispatch_alcIsDoubleNullTerminatedString(((device == null) ? null : device.getBuffer()), param); + return ( null == device || 0 == device.getDirectBufferAddress() ) && + ( param == ALC_DEVICE_SPECIFIER || + param == ALC_CAPTURE_DEVICE_SPECIFIER || + param == ALC_ALL_DEVICES_SPECIFIER + ); } - public native boolean dispatch_alcIsDoubleNullTerminatedString(ByteBuffer deviceBuffer, int param); - + @Override public String alcGetString(final ALCdevice device, final int param) { if (alcIsDoubleNullTerminatedString(device, param)) { throw new ALException("Call alcGetString to get double null terminated string"); @@ -67,10 +69,12 @@ public class ALCImpl extends ALCAbstractImpl { } private native java.nio.ByteBuffer dispatch_alcGetStringImpl1(ByteBuffer deviceBuffer, int param, long addr); + @Override public String[] alcGetDeviceSpecifiers() { return alcGetStringAsDoubleNullTerminatedString(null, ALC_DEVICE_SPECIFIER); } + @Override public String[] alcGetCaptureDeviceSpecifiers() { return alcGetStringAsDoubleNullTerminatedString(null, ALC_CAPTURE_DEVICE_SPECIFIER); } -- cgit v1.2.3