2008-11-16 11:52:58

by Jelle de Jong

[permalink] [raw]
Subject: possible sbc codec bug with audio glitches

Hello everybody,

At celinux 2008 this month I talked to Marcel Holtmann and showed him
some issues I encountered with bluez.

One of my bigger issues is that I got audio glitches when listing to
high quality audio (dvds) with an sensitive DJ bluetooth headset.

I let Marcel listen to the problem and he also hears them and things it
may be something with the SBC codec. But since Marcel is no expert on
the SBC codec part, we would like to ask for the help of others to solve
this issue.

The glitches/distortions can be heard on a Motorola Bluetooth S805
stereo headset and listing to a dvd audio for example intro music of
Stargate Atlantis.

The strange thing is that I can only hear the glitches on the right side
of the headset.

I reported my first encounter with the issue on may 2008:
http://sourceforge.net/mailarchive/message.php?msg_name=4819B1A7.2070702%40powercraft.nl

I hope somebody would be willing/able to help out. I have seen some very
nice post about the bad performance of the SBC codec, and I hope you
guys can also have a look at this.

Best regards,

Jelle


Attachments:
setup-bluetooth-motorola-s805.sh (696.00 B)

2008-11-20 10:19:43

by Jelle de Jong

[permalink] [raw]
Subject: Re: possible sbc codec bug with audio glitches

Brad Midgley wrote:
> Jelle,
>
> Everything in the codec is symmetrical between the two channels unless
> using joint stereo mode. In joint stereo, if it saves space, we encode
> the difference between and the sum of the channels instead of the
> individual channel content. It's conceivable that an overflow here
> might be manifest differently between the two channels.
>
> It looks like you can use a parameter "mode" in the alsa config and
> set it to either "stereo" or "joint"
>
> If you can narrow down the distortion to one of these cases that would be handy.
>
> Do you have an mp3 I could try to hear the problem?
>
> Brad

Thank you Brad for taking the time to answer.

I have tried the mode joint and mode stereo [1] for a few days but I
cant hear any difference and the small glitches are still there.

I posted a small audio segment that has the problem in my first post:
http://sourceforge.net/mailarchive/message.php?msg_name=4819B1A7.2070702%40powercraft.nl
http://filebin.ca/pugrs/glitch.wav

Thanks in advance,

Jelle

> On Sun, Nov 16, 2008 at 2:37 PM, Jelle de Jong
> <[email protected]> wrote:
>> Brad Midgley wrote:
>>> Jelle
>>>
>>>> The strange thing is that I can only hear the glitches on the right side
>>>> of the headset.
>>> That is very strange it is only on one side. Do you know if you were
>>> you using the joint stereo setting in the codec?
>>>
>> Thank you Brad for taking the time to read and answer to my question,
>> this is really appreciated. I dont exactly know what you mean with joint
>> stereo settings in the code?
>>
>> I use the bluez git build on 2008-11-06. The only info I got is from the
>> bluetoothd running in debug mode, please see the attachment for more
>> information.
>>
>> I hope the below section is the most relevant?
>>
>> config a2dp - device = 00:0C:55:D1:C9:78 access_mode = 2
>> codec sbc - frequency = 1 channel_mode = 1 allocation = 1 subbands = 1
>> blocks = 1 bitpool = 44
>> a2dp_source_config: selected SEP 0xb81b1020
>> avdtp_ref(0xb81acbf0): ref=3
>> setup_ref(0xb81b62a8): ref=1
>> avdtp_set_configuration(0xb81acbf0): int_seid=1, acp_seid=1
>>
>> Thanks in advance,
>>
>> Jelle


Attachments:
setup-bluetooth-motorola-s805.sh (731.00 B)

2008-11-17 01:15:00

by Brad Midgley

[permalink] [raw]
Subject: Re: possible sbc codec bug with audio glitches

Jelle,

Everything in the codec is symmetrical between the two channels unless
using joint stereo mode. In joint stereo, if it saves space, we encode
the difference between and the sum of the channels instead of the
individual channel content. It's conceivable that an overflow here
might be manifest differently between the two channels.

It looks like you can use a parameter "mode" in the alsa config and
set it to either "stereo" or "joint"

If you can narrow down the distortion to one of these cases that would be handy.

Do you have an mp3 I could try to hear the problem?

Brad

On Sun, Nov 16, 2008 at 2:37 PM, Jelle de Jong
<[email protected]> wrote:
> Brad Midgley wrote:
>> Jelle
>>
>>> The strange thing is that I can only hear the glitches on the right side
>>> of the headset.
>>
>> That is very strange it is only on one side. Do you know if you were
>> you using the joint stereo setting in the codec?
>>
>
> Thank you Brad for taking the time to read and answer to my question,
> this is really appreciated. I dont exactly know what you mean with joint
> stereo settings in the code?
>
> I use the bluez git build on 2008-11-06. The only info I got is from the
> bluetoothd running in debug mode, please see the attachment for more
> information.
>
> I hope the below section is the most relevant?
>
> config a2dp - device = 00:0C:55:D1:C9:78 access_mode = 2
> codec sbc - frequency = 1 channel_mode = 1 allocation = 1 subbands = 1
> blocks = 1 bitpool = 44
> a2dp_source_config: selected SEP 0xb81b1020
> avdtp_ref(0xb81acbf0): ref=3
> setup_ref(0xb81b62a8): ref=1
> avdtp_set_configuration(0xb81acbf0): int_seid=1, acp_seid=1
>
> Thanks in advance,
>
> Jelle
>



--
Brad Midgley
Senior Architect
Surgeworks
801-272-9800

2008-11-16 21:37:30

by Jelle de Jong

[permalink] [raw]
Subject: Re: possible sbc codec bug with audio glitches

Brad Midgley wrote:
> Jelle
>
>> The strange thing is that I can only hear the glitches on the right side
>> of the headset.
>
> That is very strange it is only on one side. Do you know if you were
> you using the joint stereo setting in the codec?
>

Thank you Brad for taking the time to read and answer to my question,
this is really appreciated. I dont exactly know what you mean with joint
stereo settings in the code?

I use the bluez git build on 2008-11-06. The only info I got is from the
bluetoothd running in debug mode, please see the attachment for more
information.

I hope the below section is the most relevant?

config a2dp - device = 00:0C:55:D1:C9:78 access_mode = 2
codec sbc - frequency = 1 channel_mode = 1 allocation = 1 subbands = 1
blocks = 1 bitpool = 44
a2dp_source_config: selected SEP 0xb81b1020
avdtp_ref(0xb81acbf0): ref=3
setup_ref(0xb81b62a8): ref=1
avdtp_set_configuration(0xb81acbf0): int_seid=1, acp_seid=1

Thanks in advance,

Jelle


Attachments:
bluez-glitches-debug.txt.tar.gz (2.94 kB)

2008-11-16 14:29:08

by Brad Midgley

[permalink] [raw]
Subject: Re: possible sbc codec bug with audio glitches

Jelle

> The strange thing is that I can only hear the glitches on the right side
> of the headset.

That is very strange it is only on one side. Do you know if you were
you using the joint stereo setting in the codec?

--
Brad Midgley