Verify whether headset supports aptX? - OnePlus 5 Questions & Answers

I purchased a headset that claims to support aptX, but I can't verify it's working. I've enabled it in OP5 settings, and also tried restarting the phone for good measure. The manual for the headset specifies that it supports aptX, and it doesn't list any special steps to enable.
Looking at logcat and btsnoop output it seems to be negotiating SBC. I've tried playing FLAC and MP3 files with VLC, and streaming over Google Play music and it does not negotiate aptX. Has anyone else been able to confirm that aptX is working on their OP5?
I followed this answer on stackexchange and got the btsnoop logs, analyzed with WireShark. This is what I came up with:
Code:
AVDTP 25 Rcvd ResponseAccept - GetCapabilities - Audio SBC (16000 32000 44100 48000 | Mono DualChannel Stereo JointStereo | block: 4 8 12 16 | subbands: 4 8 | allocation: SNR Loudness | bitpool: 2..53)
The headset is obviously responding with SBC, but does this definitively mean the headset is refusing to support aptX, or could it be an issue with the OP5?
I can post more of the btsnoop logs or logcat if necessary.

How would I confirm it? I see the "aptX HD" logo briefly flash on the screen whenever I start playing video or music after connecting to my LG HBS-730, but how would I know for sure? I mean it does sound better than the same media on my wife's Moto X Play.

Chahk said:
How would I confirm it? I see the "aptX HD" logo briefly flash on the screen whenever I start playing video or music after connecting to my LG HBS-730, but how would I know for sure? I mean it does sound better than the same media on my wife's Moto X Play.
Click to expand...
Click to collapse
If you run a logcat over adb while either connecting or playing the media (I'm not sure which) you should see some output about codec negotiation. That's probably the quickest and easiest way. The btsnoop method in the stackexchange I linked is more low level, but I was hoping to see conclusively if the device supports aptX
I've never seen an aptX logo you up on screen. Hopefully that's a reliable indicator, but I would think that would get annoying!
One more thing, my understanding is that aptX and aptX HD are two different things (someone correct me if I'm wrong), even if one is working I don't think that necessarily means the other is.
I'm probably going to return this headset if I can't prove that aptX is working for it...

Here is the screenshot.
And here's an exert from logcat while trying to play some tune via Google Play Music app:
Code:
08-17 17:39:43.734 2880 20308 D bt_btif : btif_snd_ctrl_cmd : A2DP_CTRL_CMD_START DONE
08-17 17:39:43.734 2880 2900 D bt_btif : btif_av_state_opened_handler event:BTIF_AV_START_STREAM_REQ_EVT flags 0 and index = 0
08-17 17:39:43.734 2880 2900 I bt_btif_media: btif_a2dp_encoder_init SCMS_T DISABLED
08-17 17:39:43.734 2880 2900 E bt_btif : bta_av_select_codec hdl = 65
08-17 17:39:43.734 2880 2900 I bt_btif_media: btif_a2dp_encoder_init Selected Codec aptX
08-17 17:39:43.734 2880 20306 D bt_btif : btif_media_thread_handle_cmd : 5 BTIF_MEDIA_SBC_ENC_INIT
08-17 17:39:43.734 2880 2912 D bt_btif : AV Sevent(0x41)=0x120b(AP_START) state=3(OPEN)
08-17 17:39:43.734 2880 20306 D bt_btif : btif_media_thread_handle_cmd: BTIF_MEDIA_SBC_ENC_INIT DONE
The "Selected Codec aptX" bit makes me think it's working. There are a lot of crappy knock-off headsets that boast aptX "support" that isn't working right because they omit the profiles necessary for it to actually work. I remember reading an article a while back about this very problem, but can't seem to find the link anymore.

Chahk said:
The "Selected Codec aptX" bit makes me think it's working. There are a lot of crappy knock-off headsets that boast aptX "support" that isn't working right because they omit the profiles necessary for it to actually work. I remember reading an article a while back about this very problem, but can't seem to find the link anymore.
Click to expand...
Click to collapse
Ok, that logcat looks like what I was expecting to see. I agree that yours is working. Thanks!
For the record, this one *is* some cheap Chinese one I found on Amazon. The sound quality is not awful for the price, but the false advertising is unforgivable.

I see aptX logo flashed on a screen after my Sennheiser HD1 got connected via Bluetooth. And I don't see that logo when using other BT headsets.

Related

Technical> Input sampling rate of 44.1 KHZ NOT supported

Hi all, i've seen this on the audio-input of 2 PocketPC devices until
now, the X50 and MDA pro ( and probably on all clones): both have
frequency-ranges only up to 8 KHz max. Both on external input and
internal mic, this picture is of external input (headset) of XDAIIs and MDA pro as a comparison:
http://home.wirehub.nl/~technica/downloads/XDAs.gif
It looks like these devices either:
1. have a very steep filter built-in or more likely:
2. when we set them at 44.1 KHz it only samples at 22 KHz and
re-samples up.
They advertise with sampling-frequency of 44.1 KHz....
Ofcourse the output can, but what about the input ????
Any known hack ? New ROM anywhere?
Can anybody shed some light on this ?
Mister HTC ?
Joost
Technica Del Arte BV

Audio capture problem

Hi
We are developing a push-to-talk app -- Loudtalks. The free version is quite popular and many people on this forum use it.
We spent the last two days trying to fix or isolate a problem reported by a user with Hermes 200 -- all outgoing messages come silent and show up with 0:00 duration in History, even though the connection is good and everything else (including incoming messages work perfectly).
Still no luck. The last thing we found is that our code receives just 2 audio buffers from the sound card in 3 seconds, while normally that should be more like 30...
The same code (standard wave api stuff) works fine on many other devices. Is there any Hermes/HTC-specific secrets or hacks?
Or could you try it and report back if it works and which ROM/radio are you on? We don't have the device to test with so kind of walking in the dark... but very much want to have mystery fixed.
Here is today's build:
http://loudtalks.com/data/LoudtalksMobileSetup.cab
More details:
- We are using 8000 Hz, 16 bits per sample, mono sound format
- waveInStart fails returning 0x00000001 ( #define MMSYSERR_ERROR (MMSYSERR_BASE + 1) /* unspecified error */ HUH?)
Thanks!

EVO A2DP Quality

I just picked up an EVO and I'm pretty disappointed in the BTAudio quality on such a high end phone. I have the Blackberry media gateway hooked up in my car and paired to my iPod touch and iPhones it sounds indistinguishable from hooking the aux jack up directly to the phone/iPod.
When I connect the evo, I get a lot of crunching and distortion in the mid's and highs. In WinMo I could simply alter the bitpool settings in the registry to solve this issue, however as a first time android user I am at a loss as to how to make those changes.
Android seems like a far superior OS so there has to be a way to change these settings if it was that simple in WinMo. Can anyone point me in the right direction?
I just found this page here which discuss some terminal and backend files in OSX for modifying these settings. Is there any similar file or terminal command we can do on our own unix based systems?
naorion said:
I just picked up an EVO and I'm pretty disappointed in the BTAudio quality on such a high end phone. I have the Blackberry media gateway hooked up in my car and paired to my iPod touch and iPhones it sounds indistinguishable from hooking the aux jack up directly to the phone/iPod.
When I connect the evo, I get a lot of crunching and distortion in the mid's and highs. In WinMo I could simply alter the bitpool settings in the registry to solve this issue, however as a first time android user I am at a loss as to how to make those changes.
Android seems like a far superior OS so there has to be a way to change these settings if it was that simple in WinMo. Can anyone point me in the right direction?
Click to expand...
Click to collapse
I have been looking for ways to adjust the bitpool, linespeed etc like we used to do in winmobile. Despite googling everything related have come up with nothing. Also went into the recently released htc source code. But I am not a programmer and not sure where to look. Only thing I have noted using the logcat file is that the bitpool is 32 and bitrate 229
W/BTLD ( 1677): ### :: codec open ::
W/BTLD ( 1677): ### mtu 512, 660 bytes/frame, bitrate 229, nbr ch 0, freq 240
W/BTLD ( 1677): ### alloc : 3, blk len 240, chmode:15, bitpool 32:2, subbands 12
I have the same problem on my sony radio the Bluetooth audio streaming sounds like crap I get a background hiss and crackling on the highs.
I attempted to ask some questions on how to adjust these settings but seems Dev's don't look in the Q&A section no wonder development is always crowded with crap threads.
http://forum.xda-developers.com/showthread.php?t=724023
Thread about the matter.
come over to this thread for more info
http://forum.xda-developers.com/showthread.php?p=10006164#post10006164
Have you tried DSPManager yet to see if that helps clean it up? Just a thought.

[DEV] Galaxy S Dual Mic Recording

Hi, I'm almost new here
Since this is my first post, I cannot post in the development section, I hope this do not cause problems.
A few days ago I got my first android phone and started to do some low-level development and I needed to record both the input from the headset mic and the internal mic at the same time. I searched a lot on the net and did not find anything useful for the Galaxy S (Vodafone european I9000), so I decided to add this feature to the wm8994 driver included in the samsung kernel source for the Galaxy S.
Since I've never worked with this kind of device, I do not know if this is the correct way to do it, but it seems to work great.
Basicly I've enabled both input at the same time and routed left adc channel output to left audio interface channel and right adc channe output to right audio interface channel. Everything else is on default settings (as configured by MAIN and SUB path, in fact I've just used the same code).
The code also adds a new enum entry for the capture path, called "DUAL", which now is after "MIC OFF", but its just an hack, I'll clean it up later. Using the command "amix" will dump all the mixer channel:
Code:
...
7 MIXER 0 0 0 1 rw ENUM Capture MIC Path { Main Mic=0, Hands Free Mic=1, BT Sco Mic=2, MIC OFF=3, Dual=4 }
...
It can be tested using the pcm_* and mixer_* routines taken from samsung's libaudio, you just need to call pcm_open without specifying PCM_MONO but just PCM_IN, since now both left and right channels will be populated. If you have access to Cyanogen Mod repository, just grab the arec.c source from there and remove the PCM_MONO flag. Beside this I suggest you to dump raw pcm audio and load it into something like Audacity, arec.c seems to produce a wrong riff header.
Now for the questions...
Any ideas on how to correctly setup the gain on both channels? Currently the gain of the headset mic is set to +15 dB on the input PGA and +0 dB on the adc channel while the gain of the internal mic is set to +10.5 dB on the input PGA and +0 dB on the adc channel. I also tried to use the same settings from Voodoo Sound high sensitivity path (with drc enabled), but no results so far... The default gain is far too low, I must talk very near to the headset mic.
Beside this, I've also noticed a strange behavior when recording from both mic. If they're very near, the audio recorded from the headset mic channel will be highly suppressed, if they're far apart, no suppression occurs. As far as I know, wm8994 do not perform noise cancellation on device, any clues on this? Anyway this is not a big deal, since the two microphones will be quite far during normal usage. By far the biggest problem is on the gain for the headset mic.
I hope someone might be interested on this extension to wm8994, this device is really powerful, it's a shame that samsung is using 1/10 of its power...
Attached to this post is the patch file, I've worked on the 2.6.35-12 (recently switched to -13) kernel from teamhacksung, you can get it on github (cannot post the link for the 8 post limit...), just apply the patch from the root kernel directory and rebuild the kernel image as usual.
Any help is highly appreciated
Thanks.
Bye!
EDIT: OPS I'm sorry but I forgot to mention that to enable dual mic recording, you have to activate its path of course through alsa_mixer, like this:
ctl = mixer_get_control(mixer, "Capture MIC Path", 0);
printf("ctl: %x\n", ctl);
if(ctl)
{
int r;
r = mixer_ctl_select(ctl, "Dual");
printf("res: %d\n", r);
}
Click to expand...
Click to collapse
forgive me
i think you should contact supercurio ( https://twitter.com/#!/supercurio )
he's a real badass when it comes to tweaking WM8994 driver
also you might want to check out his app called "voodoo control (plus)"
Welcome to xda! .... That's a great first post!
Sorry to not have any info to help you, but I hope you find what you are looking for and get this working how you want.
I agree that Supercurio is probably the most clued up on audio for these phones. But you probably already knew that since you mention Voodoo Sound (which is his work).
Good luck
Mike
Quake2 said:
Hi, I'm almost new here
Since this is my first post, I cannot post in the development section, I hope this do not cause problems.
A few days ago I got my first android phone and started to do some low-level development and I needed to record both the input from the headset mic and the internal mic at the same time. I searched a lot on the net and did not find anything useful for the Galaxy S (Vodafone european I9000), so I decided to add this feature to the wm8994 driver included in the samsung kernel source for the Galaxy S.
Since I've never worked with this kind of device, I do not know if this is the correct way to do it, but it seems to work great.
Basicly I've enabled both input at the same time and routed left adc channel output to left audio interface channel and right adc channe output to right audio interface channel. Everything else is on default settings (as configured by MAIN and SUB path, in fact I've just used the same code).
The code also adds a new enum entry for the capture path, called "DUAL", which now is after "MIC OFF", but its just an hack, I'll clean it up later. Using the command "amix" will dump all the mixer channel:
Code:
...
7 MIXER 0 0 0 1 rw ENUM Capture MIC Path { Main Mic=0, Hands Free Mic=1, BT Sco Mic=2, MIC OFF=3, Dual=4 }
...
It can be tested using the pcm_* and mixer_* routines taken from samsung's libaudio, you just need to call pcm_open without specifying PCM_MONO but just PCM_IN, since now both left and right channels will be populated. If you have access to Cyanogen Mod repository, just grab the arec.c source from there and remove the PCM_MONO flag. Beside this I suggest you to dump raw pcm audio and load it into something like Audacity, arec.c seems to produce a wrong riff header.
Now for the questions...
Any ideas on how to correctly setup the gain on both channels? Currently the gain of the headset mic is set to +15 dB on the input PGA and +0 dB on the adc channel while the gain of the internal mic is set to +10.5 dB on the input PGA and +0 dB on the adc channel. I also tried to use the same settings from Voodoo Sound high sensitivity path (with drc enabled), but no results so far... The default gain is far too low, I must talk very near to the headset mic.
Beside this, I've also noticed a strange behavior when recording from both mic. If they're very near, the audio recorded from the headset mic channel will be highly suppressed, if they're far apart, no suppression occurs. As far as I know, wm8994 do not perform noise cancellation on device, any clues on this? Anyway this is not a big deal, since the two microphones will be quite far during normal usage. By far the biggest problem is on the gain for the headset mic.
I hope someone might be interested on this extension to wm8994, this device is really powerful, it's a shame that samsung is using 1/10 of its power...
Attached to this post is the patch file, I've worked on the 2.6.35-12 (recently switched to -13) kernel from teamhacksung, you can get it on github (cannot post the link for the 8 post limit...), just apply the patch from the root kernel directory and rebuild the kernel image as usual.
Any help is highly appreciated
Thanks.
Bye!
EDIT: OPS I'm sorry but I forgot to mention that to enable dual mic recording, you have to activate its path of course through alsa_mixer, like this:
forgive me
Click to expand...
Click to collapse
@Quake2 : DO you have datasheet /pin diagram of wm8994
I would like to insert digital data on mic instead reading from analog input

AC3 or DTS pass though over HDMI

Digital sound (pass through) is not possible so far I know on Android. People who say it works, please prove it. Guess they mean dolby pro logic, or that the stereo sound is converted to 5.1 or 7.1 by the receiver. The receiver should show that it's encoding AC3, Dolby digital or DTS, otherwise its not working.
Hope this will change, because a media center without digital multichannel sound is not really a media center.
MaVe_64 said:
Digital sound (pass through) is not possible so far I know on Android. People who say it works, please prove it. Guess they mean dolby pro logic, or that the stereo sound is converted to 5.1 or 7.1 by the receiver. The receiver should show that it's encoding AC3, Dolby digital or DTS, otherwise its not working.
Hope this will change, because a media center without digital multichannel sound is not really a media center.
Click to expand...
Click to collapse
Your receiver doesn't encode but decodes your DTS or AC3 stream.
I don't know about these Android Stick mini pc's but on my SGS3 i can select HDMI audio output: surround under the accessory options.
Perhaps this is a Samsung feature, not sure.
Have never tested this.
What's more important is that the videoplayers should also support audio through HDMI, most probably don't.
Frag1le said:
Your receiver doesn't encode but decodes your DTS or AC3 stream.
I don't know about these Android Stick mini pc's but on my SGS3 i can select HDMI audio output: surround under the accessory options.
Perhaps this is a Samsung feature, not sure.
Have never tested this.
What's more important is that the videoplayers should also support audio through HDMI, most probably don't.
Click to expand...
Click to collapse
I have options in XBMC to configure the audio channel/output options, up to 7.1 with support for DTS, AC3, and a whole bunch of other stuff. I have to look again, but I thought "passthrough" was also an option. I know for certain that it allows selection between HDMI, optical, and analogue output. Then again, I'm not 100pct what features are working all the way or not.
And of course, XBMC's hardware video decoding is still in the works, so there is that problem.
However, give it a go, see if their settings work with your receiver.
digitalhigh said:
I have options in XBMC to configure the audio channel/output options, up to 7.1 with support for DTS, AC3, and a whole bunch of other stuff. I have to look again, but I thought "passthrough" was also an option. I know for certain that it allows selection between HDMI, optical, and analogue output. Then again, I'm not 100pct what features are working all the way or not.
And of course, XBMC's hardware video decoding is still in the works, so there is that problem.
However, give it a go, see if their settings work with your receiver.
Click to expand...
Click to collapse
Nope, these settings don't work. It does decode a 5.1 stream to 2 channel pcm, but no pass through.
Frag1le said:
Your receiver doesn't encode but decodes your DTS or AC3 stream.
I don't know about these Android Stick mini pc's but on my SGS3 i can select HDMI audio output: surround under the accessory options.
Perhaps this is a Samsung feature, not sure.
Have never tested this.
What's more important is that the videoplayers should also support audio through HDMI, most probably don't.
Click to expand...
Click to collapse
Sorry, decode is what I meant.
I'm also waiting for this to buy a TV stick myself... it seems only a handful of devices in the whole Android world supports this feature, with the right firmware and video player nonetheless (see http://forum.xbmc.org/showthread.php?tid=150342&pid=1300761#pid1300761 for instance)
Also, it seems there's some licensing at play here: I'm not sure where but I saw that a manufacturer can't implement the dd/dts passthrough on their firmware/drivers without licensing the codecs first (and given how closed source are these drivers, it's not something the community can deal with easily)
shagrath78 said:
I'm also waiting for this to buy a TV stick myself... it seems only a handful of devices in the whole Android world supports this feature, with the right firmware and video player nonetheless (see http://forum.xbmc.org/showthread.php?tid=150342&pid=1300761#pid1300761 for instance)
Also, it seems there's some licensing at play here: I'm not sure where but I saw that a manufacturer can't implement the dd/dts passthrough on their firmware/drivers without licensing the codecs first (and given how closed source are these drivers, it's not something the community can deal with easily)
Click to expand...
Click to collapse
Am I right if I say the G-Box midnight does pass through AC3/DTS? If so, then it should be possible with other Android boxes.
Well if you can show proof that it can (video/picture with your receiver showing DTS/DD multichannel working) than it sounds promissing for future devices.
Btw if anyone else with Android mini-pcs can test and report if their device does DTS/DD Hdmi passthrough that'll be great.
Until now i think they can't and i hope future android minipcs like the Ouya will support this, although i think it won't (out of the box)
The Minix X5 seems like a good box and they give good support, what is kind of special for chinese products. They say in their forum that multi channel audio is on it's way.
http://minixforums.com/index.php?posts/2881
I would prefer a Minix above the Gbox because of the better GPU.
ive bought a android tablet, bq curie, with a cortex a9, installed mx player and the codecs armv7, also installed the ffdshow codecs, available on a near thread.
my audio setup is a sony ampkifier with hdmi ports, in witch i connect my desktop/mediacenter.
Tried to connect my tablet to the receiver, and it only outputs stereo sound. wit ac3 and dts
I'm open to sugestions how to passthought the audio to the receiver.
zzzpt said:
ive bought a android tablet, bq curie, with a cortex a9, installed mx player and the codecs armv7, also installed the ffdshow codecs, available on a near thread.
my audio setup is a sony ampkifier with hdmi ports, in witch i connect my desktop/mediacenter.
Tried to connect my tablet to the receiver, and it only outputs stereo sound. wit ac3 and dts
I'm open to sugestions how to passthought the audio to the receiver.
Click to expand...
Click to collapse
You can't. You will have to wait untill the firmware for your android chipset is modified to work with multi channel sound passthrough.
Ok, here's an update, installed xbmcAndroid, noticed the Passthought options (DTS ...) unfortunately same result, the output sound was in 2.0
Perhaps this is really Firmware Problem, like statted in a previous post:
I'm also waiting for this to buy a TV stick myself... it seems only a handful of devices in the whole Android world supports this feature, with the right firmware and video player nonetheless
Click to expand...
Click to collapse
zzzpt said:
Ok, here's an update, installed xbmcAndroid, noticed the Passthought options (DTS ...) unfortunately same result, the output sound was in 2.0
Perhaps this is really Firmware Problem, like statted in a previous post:
Click to expand...
Click to collapse
Yes if the firmware doesn't support it, XBMC can't use the function. For instance Rockchip is working on a solution to passthrough 5.1 audio for SPDIF (optical audio out), it's not sure if it will work on HDMI output.
We will have to have patience...
the second no go is hdmi cec functionality - try Raspberry PI - is fine
Hi guys, I'm going to buy a stick but the lack of audio passthrough is blocking me as I will use this stick for media purposes. Nearly all files I have are at least dts or ac3 5.1 channel sound.
Would anybody have an update on this? I'm trying to search on Internet but not much info about progress of rockchip.
There still aren't any Android Mini PC/Stick that do multichannel passthrough. (correct me if i'm wrong)
The Ouya promised this on kickstarter in the promotional videos but they didn't deliver so false promises, so they are dead to me now.
RK3066 devices can't through HDMI and the few devices that have an optical out can neither.
RK3188 the few reviewed devices can't and the ones that are getting optical out aren't released yet so haven't been reviewed afaik.
I don't know about any other device or chip that does support this yet, so do share if you know one.
The Minix X5 (RK3066) should have a new firmware now that supports AC3 5.1 pass through to optical out {spdif). HDMI no pass through.
It's a firmware situation. Check out this video here demonstrating XBMC on the UT1, and another device called the Hi718 which seems to perform pretty good. Both have SPDIFF audio output. Without allowing the DTS encoded audio to pass through untouched, the devices decode the DTS sound and digitally output the audio via the SPDIFF. I just have the new UT1, so I can't speak with any authority on the HI718, but from the video it looks the same.
In the user guide for the UT1 it shows audio pass through option, and it maybe in the new UT1 firmware they just posted on the UT1 forum. I just haven't got the balls to reflash my device yet as there is always a degree of flash fear when a device is working really well lol
UT1 XBMC hardware playback test:
http://www.youtube.com/watch?v=z2qsprNRV6Y
Hi718 Review with hardware video playback tests.
http://www.youtube.com/watch?v=heRQOpaCstU
BlobLobba said:
It's a firmware situation. Check out this video here demonstrating XBMC on the UT1, and another device called the Hi718 which seems to perform pretty good. Both have SPDIFF audio output. Without allowing the DTS encoded audio to pass through untouched, the devices decode the DTS sound and digitally output the audio via the SPDIFF. I just have the new UT1, so I can't speak with any authority on the HI718, but from the video it looks the same.
In the user guide for the UT1 it shows audio pass through option, and it maybe in the new UT1 firmware they just posted on the UT1 forum. I just haven't got the balls to reflash my device yet as there is always a degree of flash fear when a device is working really well lol
UT1 XBMC hardware playback test:
http://www.youtube.com/watch?v=z2qsprNRV6Y
Hi718 Review with hardware video playback tests.
http://www.youtube.com/watch?v=heRQOpaCstU
Click to expand...
Click to collapse
The whole idea behind DD/DTS passthrough is that the device doesn't decode anything and that your receiver/amp does the decoding.
I haven't watched the videos completely but if they decode the DTS and then output it'll probably be only 2.0 stereo.
Reviewer stated he was getting 5.1 channel sound, so I don't think it's stereo. Also XBMC show DTS and AAC when he's playing some of the files.
If you read my post, you will know I know what audio passthrough is, hence everything I wrote in my post relates to it. Which part didn't you understand?

Categories

Resources