What is APT-X?
It's Bluetooth for "Audiophiles".
Basically, it's the next step beyond A2DP and it delivers a "high definition", "CD" type sound. It's Bluetooth without all the compression that A2DP suffers from.
If I had to guess, normal A2DP Bluetooth might sound as good as a 96kbps music file. While APT-X Bluetooth sounds as good as a 320kpbs music file. Essentially, to the trained ears it is a HUGE difference in sound quality.
The problem is, it's not a widespread codec yet. AFAIK, only the HTC One, One X, and Samsung Galaxy lineup (S3 and newer) and proably some of the other superphones that are one year or newer, will have this Codec. It's a proprietary codec. So you're only "allowed" to have it on your phone if you bought a phone that came with it.
Because of this, it's not found in any AOSP ROM's. Just like you won't find any Google Apps in AOSP, you won't find APT-X codecs. So as with Google Apps, we just simply offer a flashable zip so the end user can add those items if he/she wishes.
So, the aim for this thread is to have the same option for APT-X codec. Because I for one am tired of running stock ROM's just because I want to use the APT-X codec that I paid for when I bought my phone.
I personally am putting up $100 to any developer who can provide a flashable zip, or similar method, of getting an AOSP ROM to use the APT-X codec.
If anyone else reading this thread wishes to add money to the pledge, just PM me or make a notation in this thread. I'll add your pledge to my own.
So, why can't we just copy & paste the codec into our existing AOSP ROM? Well, you can do that. But you still need to tell the ROM to actually use the codec. As of now, there is nothing that points to the codec so it gets used.
Attached to this thread are the four files that I assume are necessary. These were pulled from my AT&T Galaxy S4 running 4.3 Google Play Edition ROM.
I've also attached a logcat from my ROM using this codec. And am pasting below the logcat of an S3 ROM that is using the codec.
So, please dev community. Help us figure out how to get the APT-X Bluetooth codec integrated into any ROM we choose to run on the phone we bought that came with APT-X.
Thanks!
APT-X codec files:
- libbt-aptx-4.0.3.so
- libbt-codec-aptx.so
Possibly related codecs?
- libbluetooth_jni.so
- libbt-codec.so
Galaxy S3 logcat:
It's Bluetooth for "Audiophiles".
Basically, it's the next step beyond A2DP and it delivers a "high definition", "CD" type sound. It's Bluetooth without all the compression that A2DP suffers from.
- Key Features
- Compression ratio: 4:1
- Audio Format: 16-bit, 44.1kHz (CD-Quality)
- Data Rates: 352kbps
- Frequency Response: 10Hz to 22kHz
- Algorithmic Delay: <1.89ms @ Fs 48KHz
- Dynamic Range: 16-bit: >92dB
- THD+N: -68.8dB
If I had to guess, normal A2DP Bluetooth might sound as good as a 96kbps music file. While APT-X Bluetooth sounds as good as a 320kpbs music file. Essentially, to the trained ears it is a HUGE difference in sound quality.
The problem is, it's not a widespread codec yet. AFAIK, only the HTC One, One X, and Samsung Galaxy lineup (S3 and newer) and proably some of the other superphones that are one year or newer, will have this Codec. It's a proprietary codec. So you're only "allowed" to have it on your phone if you bought a phone that came with it.
Because of this, it's not found in any AOSP ROM's. Just like you won't find any Google Apps in AOSP, you won't find APT-X codecs. So as with Google Apps, we just simply offer a flashable zip so the end user can add those items if he/she wishes.
So, the aim for this thread is to have the same option for APT-X codec. Because I for one am tired of running stock ROM's just because I want to use the APT-X codec that I paid for when I bought my phone.
I personally am putting up $100 to any developer who can provide a flashable zip, or similar method, of getting an AOSP ROM to use the APT-X codec.
If anyone else reading this thread wishes to add money to the pledge, just PM me or make a notation in this thread. I'll add your pledge to my own.
So, why can't we just copy & paste the codec into our existing AOSP ROM? Well, you can do that. But you still need to tell the ROM to actually use the codec. As of now, there is nothing that points to the codec so it gets used.
Attached to this thread are the four files that I assume are necessary. These were pulled from my AT&T Galaxy S4 running 4.3 Google Play Edition ROM.
I've also attached a logcat from my ROM using this codec. And am pasting below the logcat of an S3 ROM that is using the codec.
So, please dev community. Help us figure out how to get the APT-X Bluetooth codec integrated into any ROM we choose to run on the phone we bought that came with APT-X.
Thanks!
APT-X codec files:
- libbt-aptx-4.0.3.so
- libbt-codec-aptx.so
Possibly related codecs?
- libbluetooth_jni.so
- libbt-codec.so
Galaxy S3 logcat:
Quote:
|
V/18:43:16.142 BluetoothEventLoop.cpp( 3477) event_filter: Received signal org.bluez.AudioSink:PropertyChanged from /org/bluez/10835/hci0/dev_00_16_94_0C_7D_95 V/18:43:16.142 BluetoothEventLoop.cpp( 3477) event_filter: Received signal org.bluez.AudioSink:PropertyChanged from /org/bluez/10835/hci0/dev_00_16_94_0C_7D_95 V/18:43:16.142 BluetoothA2dpService.cpp( 3477) ... ignored V/18:43:16.142 BluetoothEventLoop.cpp( 3477) event_filter: Received signal org.bluez.AudioSink:Playing from /org/bluez/10835/hci0/dev_00_16_94_0C_7D_95 D/18:43:16.142 A2DP ( 2084) Received BT_RESPONSE - BT_NEW_STREAM D/18:43:16.142 A2DP ( 2084) Received BT_RESPONSE - BT_START_STREAM D/18:43:16.077 A2DP ( 2084) bluetooth_start D/18:43:16.077 A2DP ( 2084) end of bluetooth_a2dp_aptx_hw_btaptx_params() D/18:43:16.077 A2DP ( 2084) bluetooth_a2dp_aptx_hw_params called bluetooth_a2dp_aptx_setup(data) D/18:43:16.077 A2DP ( 2084) MTU: 895 D/18:43:16.077 A2DP ( 2084) bluetooth_a2dp_aptx_hw_params called audioservice_expect() D/18:43:16.077 A2DP ( 2084) Received BT_RESPONSE - BT_SET_CONFIGURATION D/18:43:16.077 A2DP ( 2084) bluetooth_a2dp_aptx_hw_params called audioservice_send() from D/18:43:16.077 A2DP ( 2084) frequency: 44100 D/18:43:16.077 A2DP ( 2084) channel_mode: STEREO D/18:43:16.077 A2DP ( 2084) bluetooth_a2dp_aptx_hw_params sending configuration: D/18:43:16.077 A2DP ( 2084) Received BT_RESPONSE - BT_OPEN D/18:43:16.077 A2DP ( 2084) We are in bluetooth_a2dp_aptx_hw_params() D/18:43:16.077 A2DP ( 2084) aptx frequency = 3 D/18:43:16.077 A2DP ( 2084) aptx channel mode = 15 D/18:43:16.077 A2DP ( 2084) aptx Vendor ID3 = 0 D/18:43:16.077 A2DP ( 2084) aptx Vendor ID2 = 0 D/18:43:16.077 A2DP ( 2084) aptx Vendor ID1 = 0 D/18:43:16.077 A2DP ( 2084) aptx Vendor ID0 = 4f D/18:43:16.077 A2DP ( 2084) aptx codec ID1 = 0 D/18:43:16.077 A2DP ( 2084) aptx codec ID0 = 1 D/18:43:16.077 A2DP ( 2084) paptxcodec->length=14 D/18:43:16.077 A2DP ( 2084) ~~~~~~~~~~~~~ codec type set to aptx E/18:43:16.077 A2DP ( 2084) bluetooth_parse_capabilities() invalid codec capabilities length D/18:43:16.077 A2DP ( 2084) bluetooth_parse_capabilities:: detect APTX D/18:43:16.077 A2DP ( 2084) Received BT_RESPONSE - BT_GET_CAPABILITIES |