2.6 KiB
title |
---|
Projects |
AAC observations
The following are the observations from the Wireshark capture traces regarding the issue observed while using AAC with SRS-XB33.
-
Android and SRS-XB33
-
Remote sends
GetAllCapabilities
command and getsSBC
,MPEG-2/4 AAC
andLDAC
as supported in the response. -
In case of
AAC
, the following flags are set on Android side- MPEG-2 AAC LC
- Sampling rate of 44.1 KHz
- VBR supported
- 2 channels
-
The
SetConfiguration
gets send with the following parameters set- MPEG-2 AAC LC
- Sampling rate of 44.1 KHz
- VBR supported
- 2 channels
-
-
PulseAudio and SRS-XB33
-
Initial Connection
-
The device sends a
Discover
request, followed byGetAllCapabilities
and thenSetConfiguration
. -
For the
GetAllCapabilities
,MPEG-2,4 AAC
andSBC
are returned by bluez. -
The
GetAllCapabilities
command, seems to be send twice from the device and in both cases return the exact same capabilities. This happens for bothAAC
andSBC
. -
The
SetConfiguration
command send is send by SRS-XB33 and has the following parameters set- MPEG-4 AAC LC
- Sampling rate of 48 KHz
- 2 channels
- VBR not supported
-
-
Reconnection
In the reconnection case, the
SetConfiguration
command has the following parameters set.- Sampling rate of 44.1 KHz
- MPEG-4 AAC LC
- 2 channels
- VBR not supported
-
Codec switching
-
Currently the following profiles exist
- headsetaudiogateway
- headsetheadunit
- a2dpsource
- a2dpsink
-
For backchannel, two additional profiles are needed
- a2dpsourcewithbackchannel
- a2dpsinkwithbackchannel
-
Each profile has it's own codec. However, one problem to solve is, one codec for one direction and a different codec for the other direction. For eg. aptX-LL uses aptX for playback and SBC for recording. How to solve this? Is introducing the backchannel profiles, be sufficient to take care of this?
Under the hood
Bluetooth testing
./simple-endpoint 2C:DB:07:58:F2:F9 ldacsource
./test-device connect 4C:BC:98:80:01:9B "0000110b-0000-1000-8000-00805f9b34fb"
env GST_DEBUG=3 gst-launch-1.0 audiotestsrc ! ldacenc ! a2dpsink transport=/org/bluez/hci0/dev_4C_BC_98_80_01_9B/sep10/fd0