Any ideas/comments on this?<br><br>Burkhard<br><br><div class="gmail_quote">2010/1/3 Burkhard Stubert <span dir="ltr"><<a href="mailto:burkhard.stubert@googlemail.com">burkhard.stubert@googlemail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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 "pa_assert_fp((size_t) decoded == a2dp->frame_length);" 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: "The SRC is capable of changing the bit rate dynamically by changing the bitpool parameter without suspending." 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's module can adapt the bit rate and frame length dynamically. But I might be wrong.<br>
<br>So, my question is: Does pulseaudio's SBC implementation support dynamically changing bit rates and frame lengths? If so, how and where?<br><br>Thanks,<br><font color="#888888">Burkhard<br><br>
</font></blockquote></div><br>