[Linux] Fix Adaptive mode not working

This commit is contained in:
Tim Gromeyer
2025-06-05 10:39:43 +02:00
committed by Tim Gromeyer
parent 0d582d890b
commit 3023c706bf

View File

@@ -40,13 +40,13 @@ namespace AirPodsPackets
inline std::optional<NoiseControlMode> parseMode(const QByteArray &data) inline std::optional<NoiseControlMode> parseMode(const QByteArray &data)
{ {
char mode = ControlCommand::parseActive(data).value_or(CHAR_MAX); char mode = ControlCommand::parseActive(data).value_or(CHAR_MAX) - 1;
if (mode < static_cast<quint8>(NoiseControlMode::MinValue) || if (mode < static_cast<quint8>(NoiseControlMode::MinValue) ||
mode > static_cast<quint8>(NoiseControlMode::MaxValue)) mode > static_cast<quint8>(NoiseControlMode::MaxValue))
{ {
return std::nullopt; return std::nullopt;
} }
return static_cast<NoiseControlMode>(mode - 1); return static_cast<NoiseControlMode>(mode);
} }
} }