Add support for LDAC encoder
LDAC is an audio coding technology developed by Sony that enables the transmission of High-Resolution (Hi-Res) audio contents over Bluetooth.
Currently Adaptive Bit Rate (ABR) as supported by libldac
encoder is not
implemented.
For testing, changes to the simple-endpoint
script in bluez/test
is
required which is currently not upstream. The diff here can be used for testing.
test-device
script will also be required.
Testing steps are below:
- Stop pulseaudio if running
- Run
simple-endpoint
for LDAC source (./simple-endpoint <your-bdaddr> ldacsource
) - Run
./test-device connect <remote-bdaddr> "0000110b-0000-1000-8000-00805f9b34fb"
to actually connect to the A2DP sink profile on a DAC or headset supporting LDAC -
gst-launch-1.0 audiotestsrc ! ldacenc ! rtpldacpay mtu=679 ! avdtpsink transport=<transport-addr>
(transport address is insimple-endpoint
output after you connect) - Or if using
a2dpsink
,gst-launch-1.0 audiotestsrc ! ldacenc ! a2dpsink transport=<transport-addr>
Note that libldac
is under Apache License.
The corresponding RTP payloader is here.
Edited by Sanchayan Maity