Hi folks,<br><br>I use my mobile phone as the source of an A2DP (Bluetooth) link and a Linux box as the sink of this link. The connection is successfully established and pulseaudio on the Linux box (sink) creates a bluez_source. As soon as the sink receives the first A2DP frame and tries to decode it with sbc_decode(), the assertion &quot;pa_assert_fp((size_t) decoded == a2dp-&gt;frame_length);&quot; in a2dp_process_push() (module-bluetooth-device.c) fails.<br>
<br>The frame length of the received frame is 109 and the expected frame length is 115. The expected frame length is set up once in set_conf() before the A2DP streaming starts and it is never changed afterwards. This does not sound right, because the A2DP specification (v12) explicitly states:  &quot;The SRC is capable of changing the bit rate dynamically by changing the bitpool parameter without suspending.&quot; And, the frame length also depends on the bitpool parameter. So, both the bit rate and the frame length can change dynamically. From the code, I do not see that pulseaudio&#39;s module can adapt the bit rate and frame length dynamically. But I might be wrong.<br>
<br>So, my question is: Does pulseaudio&#39;s SBC implementation support dynamically changing bit rates and frame lengths? If so, how and where?<br><br>Thanks,<br>Burkhard<br><br>