From 75fa80c17e028e5c28e768d6384300cbf9afd1e0 Mon Sep 17 00:00:00 2001 From: Kavish Devar Date: Mon, 25 Aug 2025 21:25:29 +0530 Subject: [PATCH] android,linux: fix random volume jumps (#192) * android: update feature flags packet data byte to remove adaptive volume * linux: update feature flags to prevent volume jumps --- .../main/java/me/kavishdevar/librepods/utils/AACPManager.kt | 2 +- linux/airpods_packets.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/android/app/src/main/java/me/kavishdevar/librepods/utils/AACPManager.kt b/android/app/src/main/java/me/kavishdevar/librepods/utils/AACPManager.kt index 2a3831d..7f651f6 100644 --- a/android/app/src/main/java/me/kavishdevar/librepods/utils/AACPManager.kt +++ b/android/app/src/main/java/me/kavishdevar/librepods/utils/AACPManager.kt @@ -389,7 +389,7 @@ class AACPManager { fun createSetFeatureFlagsPacket(): ByteArray { val opcode = byteArrayOf(Opcodes.SET_FEATURE_FLAGS, 0x00) - val data = byteArrayOf(0xFF.toByte(), 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) + val data = byteArrayOf(0xD7.toByte(), 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) return opcode + data } diff --git a/linux/airpods_packets.h b/linux/airpods_packets.h index cbef37b..2593345 100644 --- a/linux/airpods_packets.h +++ b/linux/airpods_packets.h @@ -121,7 +121,7 @@ namespace AirPodsPackets namespace Connection { static const QByteArray HANDSHAKE = QByteArray::fromHex("00000400010002000000000000000000"); - static const QByteArray SET_SPECIFIC_FEATURES = QByteArray::fromHex("040004004d00ff00000000000000"); + static const QByteArray SET_SPECIFIC_FEATURES = QByteArray::fromHex("040004004d00d700000000000000"); static const QByteArray REQUEST_NOTIFICATIONS = QByteArray::fromHex("040004000f00ffffffffff"); static const QByteArray AIRPODS_DISCONNECTED = QByteArray::fromHex("00010000"); } @@ -221,4 +221,4 @@ namespace AirPodsPackets } } -#endif // AIRPODS_PACKETS_H \ No newline at end of file +#endif // AIRPODS_PACKETS_H