> 2012/3/26 Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx>: >> Floating point code does not need any rounding coefficient. I'm very likely to agreed that I was wrong with initializing t1 elements to 1, but seemingly it helps with quality, especially in conjunction with accumError. So either I discovered something new, or I repeatedly "hear" my changes in C code instead of actual difference. Maybe I should look at sbcdec output. Regarding the bitpool: >> Do you have a hcidump log before and after patching bluez for the part >> where A2DP settings are negotiated? Actually I just forced bluez to use higher bitpool for SBC than negotiated. This is the hcidump after the change, but it does not differ from what has been before. > ACL data: handle 1 flags 0x02 dlen 20 L2CAP(d): cid 0x0040 len 16 [psm 25] AVDTP(s): Capabilities rsp: transaction 4 nsp 0x00 Media Transport Media Codec - SBC 16kHz 32kHz 44.1kHz 48kHz Mono DualChannel Stereo JointStereo 4 8 12 16 Blocks 4 8 Subbands SNR Loudness Bitpool Range 2-53 Content Protection 02 00 < ACL data: handle 1 flags 0x02 dlen 18 L2CAP(d): cid 0x0060 len 14 [psm 25] AVDTP(s): Set config cmd: transaction 5 nsp 0x00 ACP SEID 1 - INT SEID 1 Media Transport Media Codec - SBC 44.1kHz Stereo 16 Blocks 8 Subbands Loudness Bitpool Range 46-46 The headset reports bltpool range of 2-53 and bluez reports 46-46, but according to Blueman, it streams at 99 KB/s. Also, I removed calls to default_bitpool(), which is now reported as unused function, and increased MAX_BITPOOL everywhere. It does not change anything. When bitpool is not set in ./asoundrc, Bluez responds with the same values it received from the device. There is a difference between Bluez and WinMo, which first sends its own capabilities and then asks the device (see my previous hcidump). I don't know what BH-503 answers, but it's possible that it adapts to higher limits of the phone and reports higher bitpools than 53, or the phone overrides negotiated settings and streams at any bitpool it likes. I tested it with bitpools up to 250 and it always worked. Contrary to that, Bluez copies the (fake or backward-compatible) value of 53 that was received from the device and limits itself instead of reporting its real capabilities. -- Sebastian Olter -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html