diff --git a/ts3-client/desktop/src/main/java/com/ts3client/audio/desktop/Opus.java b/ts3-client/desktop/src/main/java/com/ts3client/audio/desktop/Opus.java index 7c80728..275e667 100644 --- a/ts3-client/desktop/src/main/java/com/ts3client/audio/desktop/Opus.java +++ b/ts3-client/desktop/src/main/java/com/ts3client/audio/desktop/Opus.java @@ -9,9 +9,12 @@ import java.nio.IntBuffer; /** * Minimal JNA binding to the native Opus codec library (libopus). * - *
We bind directly to the system-installed {@code libopus.so}/{@code opus.dll} - * rather than relying on a bundled wrapper. Opus always operates internally at - * 48 kHz which matches what the TeamSpeak 3 protocol uses on the wire. + *
{@link Native#load} first tries a system-installed {@code libopus.so}/ + * {@code opus.dll}; failing that, JNA extracts and loads the copy we bundle on + * the classpath under its platform resource path (e.g. {@code linux-x86-64/libopus.so}, + * {@code win32-x86-64/opus.dll}), so the client runs from the single JAR with no + * external Opus install. Opus always operates internally at 48 kHz which + * matches what the TeamSpeak 3 protocol uses on the wire. */ public interface Opus extends Library { diff --git a/ts3-client/desktop/src/main/resources/darwin-x86-64/libopus.dylib b/ts3-client/desktop/src/main/resources/darwin-x86-64/libopus.dylib new file mode 100644 index 0000000..f8a5102 Binary files /dev/null and b/ts3-client/desktop/src/main/resources/darwin-x86-64/libopus.dylib differ diff --git a/ts3-client/desktop/src/main/resources/darwin/libopus.dylib b/ts3-client/desktop/src/main/resources/darwin/libopus.dylib new file mode 100644 index 0000000..f8a5102 Binary files /dev/null and b/ts3-client/desktop/src/main/resources/darwin/libopus.dylib differ diff --git a/ts3-client/desktop/src/main/resources/linux-aarch64/libopus.so b/ts3-client/desktop/src/main/resources/linux-aarch64/libopus.so new file mode 100644 index 0000000..72d230a Binary files /dev/null and b/ts3-client/desktop/src/main/resources/linux-aarch64/libopus.so differ diff --git a/ts3-client/desktop/src/main/resources/linux-arm/libopus.so b/ts3-client/desktop/src/main/resources/linux-arm/libopus.so new file mode 100644 index 0000000..ba01e48 Binary files /dev/null and b/ts3-client/desktop/src/main/resources/linux-arm/libopus.so differ diff --git a/ts3-client/desktop/src/main/resources/linux-x86-64/libopus.so b/ts3-client/desktop/src/main/resources/linux-x86-64/libopus.so new file mode 100644 index 0000000..7203aba Binary files /dev/null and b/ts3-client/desktop/src/main/resources/linux-x86-64/libopus.so differ diff --git a/ts3-client/desktop/src/main/resources/linux-x86/libopus.so b/ts3-client/desktop/src/main/resources/linux-x86/libopus.so new file mode 100644 index 0000000..8ed2015 Binary files /dev/null and b/ts3-client/desktop/src/main/resources/linux-x86/libopus.so differ diff --git a/ts3-client/desktop/src/main/resources/win32-x86-64/opus.dll b/ts3-client/desktop/src/main/resources/win32-x86-64/opus.dll new file mode 100644 index 0000000..00c5d95 Binary files /dev/null and b/ts3-client/desktop/src/main/resources/win32-x86-64/opus.dll differ diff --git a/ts3-client/desktop/src/main/resources/win32-x86/opus.dll b/ts3-client/desktop/src/main/resources/win32-x86/opus.dll new file mode 100644 index 0000000..3ef0934 Binary files /dev/null and b/ts3-client/desktop/src/main/resources/win32-x86/opus.dll differ