From d1bce02cbc5fb2c55106dda2c2e668ac3ac64081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Spie=C3=9F?= Date: Mon, 29 Dec 2025 13:31:05 +0100 Subject: [PATCH 1/2] Directly pass the packet buffer to the queue when it is direct --- .../lavaplayer/udpqueue/natives/UdpQueueManager.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/api/src/main/java/com/sedmelluq/discord/lavaplayer/udpqueue/natives/UdpQueueManager.java b/api/src/main/java/com/sedmelluq/discord/lavaplayer/udpqueue/natives/UdpQueueManager.java index 4062548..96a80aa 100644 --- a/api/src/main/java/com/sedmelluq/discord/lavaplayer/udpqueue/natives/UdpQueueManager.java +++ b/api/src/main/java/com/sedmelluq/discord/lavaplayer/udpqueue/natives/UdpQueueManager.java @@ -66,12 +66,18 @@ public boolean queuePacket(long key, ByteBuffer packet, InetSocketAddress addres } int length = packet.remaining(); - packetBuffer.clear(); - packetBuffer.put(packet); + ByteBuffer directBuffer; + if (packet.isDirect()) { + directBuffer = packet; + } else { + packetBuffer.clear(); + packetBuffer.put(packet); + directBuffer = packetBuffer; + } int port = address.getPort(); String hostAddress = address.getAddress().getHostAddress(); - return library.queuePacket(instance, key, hostAddress, port, packetBuffer, length); + return library.queuePacket(instance, key, hostAddress, port, directBuffer, length); } } From 022530fa8774abd903adf01f54638725b7d0eb5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Spie=C3=9F?= Date: Tue, 30 Dec 2025 16:18:34 +0100 Subject: [PATCH 2/2] Bump version to 0.2.12 --- CHANGELOG.md | 4 ++++ README.md | 24 ++++++++++++------------ build.gradle.kts | 2 +- native/Cargo.lock | 2 +- native/Cargo.toml | 2 +- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0199e3b..155dbc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## v0.2.11 - 2025/12/30 + +- Avoid copying buffers when they are already direct + ## v0.2.11 - 2025/12/23 - Add support for windows aarch64 diff --git a/README.md b/README.md index 50d8b33..ddf7edc 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,8 @@ repositories { dependencies { // Fully modular, choose which platforms to use! - implementation("club.minnced:udpqueue-native-linux-x86-64:0.2.11") // adds linux 64bit - implementation("club.minnced:udpqueue-native-win-x86-64:0.2.11") // adds windows 64bit + implementation("club.minnced:udpqueue-native-linux-x86-64:0.2.12") // adds linux 64bit + implementation("club.minnced:udpqueue-native-win-x86-64:0.2.12") // adds windows 64bit } ``` @@ -71,15 +71,15 @@ repositories { } dependencies { - implementation("club.minnced:udpqueue-native-linux-x86-64:0.2.11") - implementation("club.minnced:udpqueue-native-linux-x86:0.2.11") - implementation("club.minnced:udpqueue-native-linux-aarch64:0.2.11") - implementation("club.minnced:udpqueue-native-linux-arm:0.2.11") - implementation("club.minnced:udpqueue-native-linux-musl-x86-64:0.2.11") - implementation("club.minnced:udpqueue-native-linux-musl-aarch64:0.2.11") - implementation("club.minnced:udpqueue-native-win-x86-64:0.2.11") - implementation("club.minnced:udpqueue-native-win-x86:0.2.11") - implementation("club.minnced:udpqueue-native-win-aarch64:0.2.11") - implementation("club.minnced:udpqueue-native-darwin:0.2.11") + implementation("club.minnced:udpqueue-native-linux-x86-64:0.2.12") + implementation("club.minnced:udpqueue-native-linux-x86:0.2.12") + implementation("club.minnced:udpqueue-native-linux-aarch64:0.2.12") + implementation("club.minnced:udpqueue-native-linux-arm:0.2.12") + implementation("club.minnced:udpqueue-native-linux-musl-x86-64:0.2.12") + implementation("club.minnced:udpqueue-native-linux-musl-aarch64:0.2.12") + implementation("club.minnced:udpqueue-native-win-x86-64:0.2.12") + implementation("club.minnced:udpqueue-native-win-x86:0.2.12") + implementation("club.minnced:udpqueue-native-win-aarch64:0.2.12") + implementation("club.minnced:udpqueue-native-darwin:0.2.12") } ``` diff --git a/build.gradle.kts b/build.gradle.kts index 0b7283f..b8ec8ca 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,5 +16,5 @@ subprojects { } group = "club.minnced" - version = "0.2.11" + version = "0.2.12" } diff --git a/native/Cargo.lock b/native/Cargo.lock index ff2c2f0..db66b78 100644 --- a/native/Cargo.lock +++ b/native/Cargo.lock @@ -127,7 +127,7 @@ dependencies = [ [[package]] name = "udpqueue" -version = "0.2.11" +version = "0.2.12" dependencies = [ "jni", ] diff --git a/native/Cargo.toml b/native/Cargo.toml index 2296e15..3e674c0 100644 --- a/native/Cargo.toml +++ b/native/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "udpqueue" -version = "0.2.11" +version = "0.2.12" edition = "2024" [dependencies]