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
Jelle
Quoted 2 lines
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?
Signature · 1 line
Brad Midgley
Quoted 8 lines · Brad Midgley
Jelle
Quoted 2 lines
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 = 44a2dp_source_config: selected SEP 0xb81b1020 avdtp_ref(0xb81acbf0): ref=3setup_ref(0xb81b62a8): ref=1 avdtp_set_configuration(0xb81acbf0): int_seid=1, acp_seid=1
Thanks in advance,
Jelle
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
Quoted 32 lines · Jelle de Jong
Quoted 8 lines · Brad Midgley
Jelle
Quoted 2 lines
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 = 1channel_mode= 1 allocation = 1 subbands = 1 blocks = 1 bitpool = 44a2dp_source_config: selected SEP0xb81b1020avdtp_ref(0xb81acbf0): ref=3setup_ref(0xb81b62a8): ref=1avdtp_set_configuration(0xb81acbf0): int_seid=1, acp_seid=1Thanks in advance,
Jelle
Signature · 4 lines
Brad Midgley Senior Architect Surgeworks 801-272-9800
Quoted 8 lines · Brad Midgley
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.
Quoted 8 lines
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
Quoted 31 lines
Quoted 29 lines · Jelle de Jong
Quoted 7 lines · Brad Midgley
Jelle
Quoted 2 lines
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 = 1channel_mode= 1 allocation = 1 subbands = 1 blocks = 1 bitpool = 44a2dp_source_config: selected SEP0xb81b1020avdtp_ref(0xb81acbf0): ref=3setup_ref(0xb81b62a8): ref=1avdtp_set_configuration(0xb81acbf0): int_seid=1, acp_seid=1Thanks in advance,
Jelle