[pulseaudio-discuss] Does SBC support dynamically changing bit rates and frame lengths?
lennart at poettering.net
Mon Jan 4 13:24:07 PST 2010
On Sun, 03.01.10 03:27, Burkhard Stubert (burkhard.stubert at googlemail.com) wrote:
> Hi folks,
> 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.
> 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.
> So, my question is: Does pulseaudio's SBC implementation support dynamically
> changing bit rates and frame lengths? If so, how and where?
No, we don't support this right now.
We probably should though. Please file a bug in the BTS so that we
don't forget about this. Even better: prepare a patch ;-)
Lennart Poettering Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/ GnuPG 0x1A015CC4
More information about the pulseaudio-discuss