fix: A2DP reconnect fix
This commit is contained in:
@@ -12,4 +12,4 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define MONTAUK_BUILD_NUMBER 39
|
#define MONTAUK_BUILD_NUMBER 42
|
||||||
|
|||||||
@@ -1258,7 +1258,11 @@ namespace Drivers::USB::Bluetooth::A2dp {
|
|||||||
rsp[3] = 6;
|
rsp[3] = 6;
|
||||||
rsp[4] = (MEDIA_AUDIO << 4);
|
rsp[4] = (MEDIA_AUDIO << 4);
|
||||||
rsp[5] = CODEC_SBC;
|
rsp[5] = CODEC_SBC;
|
||||||
rsp[6] = 0x21; // 44.1kHz | Joint Stereo
|
rsp[6] = 0x11; // 48kHz | Joint Stereo -- MUST match the
|
||||||
|
// encoder (fixed 48kHz) and our own
|
||||||
|
// SetConfig (oct0=0x11); advertising 44.1
|
||||||
|
// here let a remote-initiated config pick a
|
||||||
|
// rate we then don't actually send
|
||||||
rsp[7] = 0x15; // 16 blocks (b4) | 8 subbands (b2) | Loudness (b0)
|
rsp[7] = 0x15; // 16 blocks (b4) | 8 subbands (b2) | Loudness (b0)
|
||||||
rsp[8] = 2; // Min bitpool
|
rsp[8] = 2; // Min bitpool
|
||||||
rsp[9] = 53; // Max bitpool
|
rsp[9] = 53; // Max bitpool
|
||||||
@@ -1267,9 +1271,12 @@ namespace Drivers::USB::Bluetooth::A2dp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case AVDTP_SET_CONFIGURATION: {
|
case AVDTP_SET_CONFIGURATION: {
|
||||||
// Accept configuration from remote
|
// Accept configuration from remote. Payload after the
|
||||||
|
// 2-byte header: [ACP SEID (ours)][INT SEID (theirs)] --
|
||||||
|
// record THEIRS; our later START must address the sink's
|
||||||
|
// SEID or it rejects with BAD_ACP_SEID (0x12).
|
||||||
if (len >= 4) {
|
if (len >= 4) {
|
||||||
g_remoteSeid = (data[2] >> 2) & 0x3F;
|
g_remoteSeid = (data[3] >> 2) & 0x3F;
|
||||||
g_state = State::Configured;
|
g_state = State::Configured;
|
||||||
SendAvdtpResponse(txLabel, AVDTP_SET_CONFIGURATION, nullptr, 0);
|
SendAvdtpResponse(txLabel, AVDTP_SET_CONFIGURATION, nullptr, 0);
|
||||||
KernelLogStream(OK, "BT-A2DP") << "Remote configured stream, SEID="
|
KernelLogStream(OK, "BT-A2DP") << "Remote configured stream, SEID="
|
||||||
|
|||||||
Reference in New Issue
Block a user