Music Apps, Tips and Tricks for the LG V30, V35, V40, V50 & V60
Apr 24, 2019 at 11:03 AM Post #616 of 1,175
Thx, for such a quick answer. That is the right angle extension that I received . What I wish to do is kick in the quad dac mode for my Shure SRH840 head phones. I was under the understanding that I need a high impedance adapter to do that?

So, to kick in the quad dac mode, do I need a high impedance adapter (if so, could you provide a link, please?)(the adapter that I had ordered and did not receive was a 75 ohm adapter) , or, do I just need to get that other extension that you linked me to (will getting that kick in the quad dac mode)?

Sorry, for my confusion. I am planning on doing a couple of other mods on the Shures (replace the ear pieces and also the padding on the head cross bar).
I really appreciate your answer.
Thx, again
Huh... I am not sure what you are referring to...

I know that whenever I plug in anything I go into Hi-Fi mode (usually). If it doesn’t (you see just headphone icon instead of the word Hi-fi at the top of the screen) then go to sound settings and manually enable the Hi-Fi quad dac. The aux or high impedance options are automagically selected based on the impedance detected by the phone. If you have high impedance cans it will select that, or if you have put a high impedance adapter in series (but don’t, just don’t)...

if you want more power into your low impedance IEMs or headphones, use the extender trick - the open circuit created when you first plug in the extender (without anything on the other end) kicks in AUX mode
 
Apr 24, 2019 at 11:29 AM Post #617 of 1,175
Ok, Thx. It has been awhile since I looked into this. So, I think I am confusing aux mode with hi impedance mode? (maybe I never knew the difference? And still don't?).
Thx again for your assistance and understanding.

I do have the Thinksound 02, which is 50 ohms and does kick in the hi impedance mode. I was just trying to do that with the Shures, but maybe I don't need to if I can get it to kick in the aux mode?
 
Apr 24, 2019 at 11:30 AM Post #618 of 1,175
@gimpy: It's as @jsmiller58 said: Just make sure Quad DAC is enabled in settings after plugging in your headphones, and the ESS DAC will be active.

There is a myth out there that the Quad DAC isn't used unless you are in High-Impedance mode, but it is not true. Unless there is something wrong with your phone or your headphones, you will hear the difference when you toggle the Quad DAC on/off.

It is true that the Quad DAC has three modes: Normal (HiFi), Aux, High-Impedance (HIM). The main difference between them is the amount of power they output. You usually only need to trick the phone into High-Impedance mode if you have Planar Magnetic headphones, which require lots of power, even though their impedance is low.

On 40mm dynamic driver headphones like the SRH840, with a sensitivity of 102 dB/mW, I would expect Normal (HiFi) mode or Aux mode to be fine. Just unplug the cable from your headphones before plugging it into the phone, and you will get Aux mode.

Again, all as jsmiller58 said.

Some people prefer the changed sound profile after plugging in extension cables and/or impedance adapters to trigger HIM, even when using low impedance headphones/IEMs. I guess that's fine, but it's not because High-Impedance mode is inherently higher quality.
 
Last edited:
May 9, 2019 at 1:16 PM Post #621 of 1,175
Last edited:
May 9, 2019 at 6:40 PM Post #622 of 1,175
For those interested, @ctheanh and I are having a somewhat technical discussion over on XDA about how to possibly fix the 16/44 48KHz upsampling. Still very early, and nothing may ever come of it. But @ctheanh has Android insight that I don't, while I have some experience testing the output from various apps and studying the ESS 9218P driver sources. We'll see.

https://forum.xda-developers.com/lg-v40/how-to/lg-quad-dac-tips-tricks-t3857855/post79461387

I have waited a year to read something like this. FANTASTIC POST.
 
May 9, 2019 at 7:04 PM Post #624 of 1,175
Many thanks to @ctheanh for the tip on Poweramp. It looks like we now have three music players that are capable of playing 44/16 PCM without this Android mixer up-sampling. (Sadly, LG's own music player still isn't one of them.) If anybody's interested in trying out Poweramp on their V30, you'll need to go to Settings->Audio->Output->Hi-Res Output and check the wired Headset/AUX option. The one little caveat seems to be you have to manually choose your sample rate. I'm still looking into the impact of not adjusting this for higher sample rates, DSD, etc. (They all sound fine, but are all curiously reported as 44/24 PCM via audio_flinger.)
 
May 9, 2019 at 8:07 PM Post #625 of 1,175
Many thanks to @ctheanh for the tip on Poweramp. It looks like we now have three music players that are capable of playing 44/16 PCM without this Android mixer up-sampling. (Sadly, LG's own music player still isn't one of them.) If anybody's interested in trying out Poweramp on their V30, you'll need to go to Settings->Audio->Output->Hi-Res Output and check the wired Headset/AUX option. The one little caveat seems to be you have to manually choose your sample rate. I'm still looking into the impact of not adjusting this for higher sample rates, DSD, etc. (They all sound fine, but are all curiously reported as 44/24 PCM via audio_flinger.)

If 24/44 is reported by audio_flinger, I have to believe that's what it is -- i.e. PowerAmp "upsamples" 16/44 to 24/44 (as we want), but it then also downsamples HiRes to 24/44 as a consequence.
 
May 9, 2019 at 8:15 PM Post #626 of 1,175
If 24/44 is reported by audio_flinger, I have to believe that's what it is -- i.e. PowerAmp "upsamples" 16/44 to 24/44 (as we want), but it then also downsamples HiRes to 24/44 as a consequence.
It could be, but I also got reports of 44/24 for DSD playback, which was/is unexpected.

BTW, @Dannemand and how did you feed Google Play Music 44/24 sources? Streaming via Google Play Music, audio_flinger is reporting 44 kHz MP3 via offload which looks promising, but I still clearly hear the re-sampling artifacts, so I suspect what my V40 is reporting is, for some reason, a little sketchy. Poweramp sounds good though. Certainly another contender for 44/16 PCM playback :)
 
May 9, 2019 at 8:28 PM Post #627 of 1,175
It could be, but I also got reports of 44/24 for DSD playback, which was/is unexpected.

BTW, @Dannemand and how did you feed Google Play Music 44/24 sources? Streaming via Google Play Music, audio_flinger is reporting 44 kHz MP3 via offload which looks promising, but I still clearly hear the re-sampling artifacts, so I suspect what my V40 is reporting is, for some reason, a little sketchy. Poweramp sounds good though. Certainly another contender for 44/16 PCM playback :)

Yeah, so many people want to use PowerAmp, it would be great if we can confirm that it is capable of playing bit-perfect, unmolested, without re-sampling.

Edit: I will say though, if it sounds "better" than UAPP and Neutron, then something is wrong. These players should all sound the same when playing DIRECT and offloadable, unless EQ or other effects are applied.

As for Google Play Music, I just converted a 16/44 file to 24/44 using dbPoweramp (bit-padding), copied it to my phone, then played it directly in Google Play Music. audio_flinger reported it as 24/44, playing DIRECT path, with offloadable flag. It is possible Google Play Music is not the dumbest player out there, presumably it uses the latest Android APIs. But I am certain it doesn't do special handling for our LG phones or Quad DAC.
 
Last edited:
May 9, 2019 at 8:45 PM Post #628 of 1,175
As for Google Play Music, I just converted a 16/44 file to 24/44 using dbPoweramp (bit-padding), copied it to my phone, then played it directly in Google Play Music. audio_flinger reported it as 24/44, playing DIRECT path, with offloadable flag. It is possible Google Play Music is not the dumbest player out there, presumably it uses the latest Android APIs. But I am certain it doesn't do special handling for our LG phones or Quad DAC.
Oh, I see, so you were playing back a 44/24 file from local storage. Unfortunately, in that case I don't think there's anything magical about GPM here. Even LG's music app will play back local 44/24 PCM via direct mode. Routing through the mixer seems to be a special treat reserved for 44/16 streams.
 
May 9, 2019 at 9:41 PM Post #629 of 1,175
Oh, I see, so you were playing back a 44/24 file from local storage. Unfortunately, in that case I don't think there's anything magical about GPM here. Even LG's music app will play back local 44/24 PCM via direct mode. Routing through the mixer seems to be a special treat reserved for 44/16 streams.

I don't think there is anything magical about Google Play Music. That is precisely my point: Everybody plays 24-bit correctly (DIRECT path, offloadable flag, no re-sampling). It's nothing to do with whether it is a local file or streaming. Rather, it is what you wrote in your opening post back originally:

the unpleasant surprise is that LG made a staggeringly bizarre oversight in the implementation of the V30's DAC, which cannot natively support 44 kHz, 16 bit files.

But once converted to 24-bit, playing through the DIRECT path is no problem at all, even for dumb apps like GPM, which know nothing about our Quad DAC.

Basically, 24/44 files are treated the same as HiRes files -- which also play correctly with Google Play Music, up to 176KHz (see this post).

But try playing 16/44 through GPM or LG Music, and they will all go through the Mixer, local files or not. Evidence coming up...

Edit:
I included Output threads for various audio_flinger dumps below. LG Music and Google Play Music behave the same: When playing 16/44, they play through the MIXER path. When playing anything 24-bit, they play through the DIRECT path, offloadable flag.

I conclude that any relative well written app can play through the DIRECT path on V30, without any specific Quad DAC support, as long as it is playing 24-bit music.

Output thread 0xef3833c0, name AudioOut_1D, tid 1749, type 0 (MIXER):
I/O handle: 29
Standby: yes
Sample rate: 48000 Hz
HAL frame count: 768
HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)
HAL buffer size: 3072 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x5 (AUDIO_FORMAT_PCM_FLOAT)
Processing frame size: 8 bytes
Pending config events: none
Output device: 0 (AUDIO_DEVICE_NONE)
Input device: 0 (AUDIO_DEVICE_NONE)
Audio source: 0 (default)
Normal frame count: 1152
Last write occurred (msecs): 13380183
Total writes: 0
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xef98f800
Mixer buffer: 0xef98d000
Effect buffer: 0xef989400
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xf1759860 flags 0 (AUDIO_OUTPUT_FLAG_NONE)
Frames written: 0
Suspended frames: 0
PipeSink frames written: 0
Hal stream dump:
Thread throttle time (msecs): 0
AudioMixer tracks: 0x00000000
Master mono: off
FastMixer thread 0xef3030c0 tid=1748 FastMixer command=COLD_IDLE writeSequence=0 framesWritten=0
numTracks=0 writeErrors=0 underruns=0 overruns=0
sampleRate=0 frameCount=0 measuredWarmup=0 ms, warmupCycles=0
mixPeriod=nan ms
No FastMixer statistics available currently
Fast tracks: sMaxFastTracks=8 activeMask=0
Index Active Full Partial Empty Recent Ready Written
0 no 0 0 0 full 0 0
1 no 0 0 0 full 0 0
2 no 0 0 0 full 0 0
3 no 0 0 0 full 0 0
4 no 0 0 0 full 0 0
5 no 0 0 0 full 0 0
6 no 0 0 0 full 0 0
7 no 0 0 0 full 0 0
Stream volumes in dB: 0:0, 1:-22, 2:-4.5, 3:0, 4:-22, 5:-4.5, 6:0, 7:-12, 8:-6, 9:0, 10:0, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains
Local log:
02-09 22:23:07.470 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX)
02-10 13:37:29.502 CFG_EVENT_RELEASE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0 (AUDIO_DEVICE_NONE)

Output thread 0xeea5a000, name AudioOut_65, tid 32245, type 1 (DIRECT):
I/O handle: 101
Standby: no
Sample rate: 44100 Hz
HAL frame count: 1792
HAL format: 0x6 (AUDIO_FORMAT_PCM_24_BIT_PACKED)
HAL buffer size: 10752 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x6 (AUDIO_FORMAT_PCM_24_BIT_PACKED)
Processing frame size: 6 bytes
Pending config events: none
Output device: 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
Input device: 0 (AUDIO_DEVICE_NONE)
Audio source: 0 (default)
Normal frame count: 1792
Last write occurred (msecs): 21
Total writes: 55
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xef56c000
Mixer buffer: 0xee2b6000
Effect buffer: 0xef9e1000
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xeff8e9a0 flags 0x1 (AUDIO_OUTPUT_FLAG_DIRECT)
Frames written: 98560
Suspended frames: 0
Hal stream dump:
Stream volumes in dB: 0:-10, 1:-20, 2:-23, 3:-14, 4:-23, 5:-23, 6:0, 7:-18, 8:-22, 9:-96, 10:-21, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
1 Tracks of which 1 are active
Name Active Client Type Fmt Chn mask Session fCount S F SRate L dB R dB VS dB Server Main buf Aux buf Flags UndFrmCnt Flushed
none yes 31685 3 00000006 00000003 73 22932 A 3 44100 0 0 0 00018800 EF9E1000 00000000 0x000 0 0
1 Effect Chains
5 effects for session 73
In buffer Out buffer Active tracks:
0xef9e1000 -> 0xf30b2000 0xf30b2000 -> 0xef9e1000 1
Effect ID 67:
Session Status State Engine:
00073 000 000 0xeffbd6f0
Descriptor:
- UUID: F3E178D2-EBCB-408E-8357-0002A5D5C51B
- TYPE: 47382D60-DDD8-11DB-BF3A-0002A5D5C51B
- apiVersion: EE500C3C
- flags: 00400048 (conn. mode: insert, insert pref: first, volume mgmt: implements control, input mode: not set, output mode: not set, offloadable)
- name: Insert Preset Reverb
- implementor: NXP Software Ltd.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf30b2000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf30b2000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
31685 0 yes yes 0 0
Effect ID 75:
Session Status State Engine:
00073 000 000 0xf17203b0
Descriptor:
- UUID: C8E70ECD-48CA-456E-8A4F-0002A5D5C51B
- TYPE: 0BED4300-DDD6-11DB-8F34-0002A5D5C51B
- apiVersion: F24F8D6C
- flags: 00400048 (conn. mode: insert, insert pref: first, volume mgmt: implements control, input mode: not set, output mode: not set, offloadable)
- name: Equalizer
- implementor: NXP Software Ltd.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf30b2000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf30b2000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
31685 0 yes yes 0 0
Effect ID 91:
Session Status State Engine:
00073 000 003 0xeffbd0c0
Descriptor:
- UUID: 08B8B058-0590-11E5-AC71-0025B32654A0
- TYPE: 08B8B058-0590-11E5-AC71-0025B32654A0
- apiVersion: CA21D098
- flags: 00C00280 (conn. mode: insert, insert pref: any, volume mgmt: requires indication, device indication: requires updates, input mode: not set, output mode: not set, offloadable)
- name: Volume listener for Music
- implementor: Qualcomm Technologies Inc.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf30b2000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf30b2000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1235 0 yes yes 0 0
Effect ID 51:
Session Status State Engine:
00073 000 000 0xeffbd5a0
Descriptor:
- UUID: 14804144-A5EE-4D24-AA88-0002A5D5C51B
- TYPE: 0634F220-DDD4-11DB-A0FC-0002A5D5C51B
- apiVersion: EE500C3C
- flags: 00400290 (conn. mode: insert, insert pref: last, volume mgmt: requires indication, device indication: requires updates, input mode: not set, output mode: not set, offloadable)
- name: Qualcomm Technologies Bass Boost
- implementor: Qualcomm Technologies, Inc.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf30b2000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf30b2000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
31685 0 yes yes 0 0
Effect ID 59:
Session Status State Engine:
00073 000 000 0xeffbd660
Descriptor:
- UUID: D3467FAA-ACC7-4D34-ACAF-0002A5D5C51B
- TYPE: 37CC2C00-DDDD-11DB-8577-0002A5D5C51B
- apiVersion: EE500C3C
- flags: 00400290 (conn. mode: insert, insert pref: last, volume mgmt: requires indication, device indication: requires updates, input mode: not set, output mode: not set, offloadable)
- name: Qualcomm Technologies Virtualizer
- implementor: Qualcomm Technologies, Inc.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf30b2000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf30b2000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
31685 0 yes yes 0 0
Local log:
02-10 13:43:19.128 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE) new device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
02-10 13:43:19.135 addTrack_l (0xeea28f00) none no 31685 3 00000006 00000003 73 22932 A 1 44100 0 0 0 00000000 EF9E1000 00000000 0x000 0 0

Output thread 0xef3833c0, name AudioOut_1D, tid 1749, type 0 (MIXER):
I/O handle: 29
Standby: yes
Sample rate: 48000 Hz
HAL frame count: 768
HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)
HAL buffer size: 3072 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x5 (AUDIO_FORMAT_PCM_FLOAT)
Processing frame size: 8 bytes
Pending config events: none
Output device: 0 (AUDIO_DEVICE_NONE)
Input device: 0 (AUDIO_DEVICE_NONE)
Audio source: 0 (default)
Normal frame count: 1152
Last write occurred (msecs): 13813003
Total writes: 0
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xef98f800
Mixer buffer: 0xef98d000
Effect buffer: 0xef989400
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xf1759860 flags 0 (AUDIO_OUTPUT_FLAG_NONE)
Frames written: 0
Suspended frames: 0
PipeSink frames written: 0
Hal stream dump:
Thread throttle time (msecs): 0
AudioMixer tracks: 0x00000000
Master mono: off
FastMixer thread 0xef3030c0 tid=1748 FastMixer command=COLD_IDLE writeSequence=0 framesWritten=0
numTracks=0 writeErrors=0 underruns=0 overruns=0
sampleRate=0 frameCount=0 measuredWarmup=0 ms, warmupCycles=0
mixPeriod=nan ms
No FastMixer statistics available currently
Fast tracks: sMaxFastTracks=8 activeMask=0
Index Active Full Partial Empty Recent Ready Written
0 no 0 0 0 full 0 0
1 no 0 0 0 full 0 0
2 no 0 0 0 full 0 0
3 no 0 0 0 full 0 0
4 no 0 0 0 full 0 0
5 no 0 0 0 full 0 0
6 no 0 0 0 full 0 0
7 no 0 0 0 full 0 0
Stream volumes in dB: 0:0, 1:-22, 2:-4.5, 3:0, 4:-22, 5:-4.5, 6:0, 7:-12, 8:-6, 9:0, 10:0, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains
Local log:
02-09 22:23:07.470 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX)
02-10 13:37:29.502 CFG_EVENT_RELEASE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0 (AUDIO_DEVICE_NONE)

Output thread 0xed9ad000, name AudioOut_6D, tid 4751, type 1 (DIRECT):
I/O handle: 109
Standby: no
Sample rate: 44100 Hz
HAL frame count: 1792
HAL format: 0x6 (AUDIO_FORMAT_PCM_24_BIT_PACKED)
HAL buffer size: 10752 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x6 (AUDIO_FORMAT_PCM_24_BIT_PACKED)
Processing frame size: 6 bytes
Pending config events: none
Output device: 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
Input device: 0 (AUDIO_DEVICE_NONE)
Audio source: 0 (default)
Normal frame count: 1792
Last write occurred (msecs): 37
Total writes: 1026
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xed9c1000
Mixer buffer: 0xed9df000
Effect buffer: 0xed916000
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xeff8e000 flags 0x1 (AUDIO_OUTPUT_FLAG_DIRECT)
Frames written: 1838592
Suspended frames: 0
Hal stream dump:
Stream volumes in dB: 0:-10, 1:-20, 2:-23, 3:-14, 4:-23, 5:-23, 6:0, 7:-18, 8:-22, 9:-96, 10:-21, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
1 Tracks of which 1 are active
Name Active Client Type Fmt Chn mask Session fCount S F SRate L dB R dB VS dB Server Main buf Aux buf Flags UndFrmCnt Flushed
none yes 4305 3 00000006 00000003 129 22932 A 3 44100 0 0 0 001C1500 ED916000 00000000 0x000 0 0
1 Effect Chains
1 effects for session 129
In buffer Out buffer Active tracks:
0xed916000 -> 0xf30b2000 0xf30b2000 -> 0xed916000 1
Effect ID 147:
Session Status State Engine:
00129 000 003 0xf17203e0
Descriptor:
- UUID: 08B8B058-0590-11E5-AC71-0025B32654A0
- TYPE: 08B8B058-0590-11E5-AC71-0025B32654A0
- apiVersion: EF503600
- flags: 00C00280 (conn. mode: insert, insert pref: any, volume mgmt: requires indication, device indication: requires updates, input mode: not set, output mode: not set, offloadable)
- name: Volume listener for Music
- implementor: Qualcomm Technologies Inc.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf30b2000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf30b2000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1235 0 yes yes 0 0
Local log:
02-10 13:58:52.567 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE) new device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
02-10 13:58:52.576 addTrack_l (0xeea28d80) none no 4305 3 00000006 00000003 129 22932 A 1 44100 0 0 0 00000000 ED916000 00000000 0x000 0 0

Output thread 0xe4b41000, name AudioOut_17D, tid 6310, type 1 (DIRECT):
I/O handle: 381
Standby: no
Sample rate: 176400 Hz
HAL frame count: 7072
HAL format: 0x6 (AUDIO_FORMAT_PCM_24_BIT_PACKED)
HAL buffer size: 42432 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x6 (AUDIO_FORMAT_PCM_24_BIT_PACKED)
Processing frame size: 6 bytes
Pending config events: none
Output device: 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
Input device: 0 (AUDIO_DEVICE_NONE)
Audio source: 0 (default)
Normal frame count: 7072
Last write occurred (msecs): 32
Total writes: 143
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xe3bf0000
Mixer buffer: 0xe2e34000
Effect buffer: 0xe41ed000
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xe77d9ee0 flags 0x1 (AUDIO_OUTPUT_FLAG_DIRECT)
Frames written: 1011296
Suspended frames: 0
Hal stream dump:
Stream volumes in dB: 0:-10, 1:-20, 2:-23, 3:-17, 4:-23, 5:-23, 6:0, 7:-18, 8:-22, 9:-96, 10:-22, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
1 Tracks of which 1 are active
Name Active Client Type Fmt Chn mask Session fCount S F SRate L dB R dB VS dB Server Main buf Aux buf Flags UndFrmCnt Flushed
none yes 5890 3 00000006 00000003 1225 91728 A 3 176400 0 0 0 000F8A00 E41ED000 00000000 0x000 0 0
1 Effect Chains
1 effects for session 1225
In buffer Out buffer Active tracks:
0xe41ed000 -> 0xe8fbb000 0xe8fbb000 -> 0xe41ed000 1
Effect ID 667:
Session Status State Engine:
01225 000 003 0xe603d270
Descriptor:
- UUID: 08B8B058-0590-11E5-AC71-0025B32654A0
- TYPE: 08B8B058-0590-11E5-AC71-0025B32654A0
- apiVersion: 00000004
- flags: 00C00280 (conn. mode: insert, insert pref: any, volume mgmt: requires indication, device indication: requires updates, input mode: not set, output mode: not set, offloadable)
- name: Volume listener for Music
- implementor: Qualcomm Technologies Inc.
- Input configuration:
Frames Smp rate Channels Format Buffer
07072 176400 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xe8fbb000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xe8fbb000 07072 176400 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1236 0 yes yes 0 0
Local log:
03-01 15:19:10.953 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE) new device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
03-01 15:19:10.963 addTrack_l (0xe4b45f00) none no 5890 3 00000006 00000003 1225 91728 A 1 176400 0 0 0 00000000 E41ED000 00000000 0x000 0 0
 
Last edited:
May 9, 2019 at 9:51 PM Post #630 of 1,175
I don't think there is anything magical about Google Play Music. That is precisely my point: Everybody plays 24-bit correctly (DIRECT path, offloadable flag, no re-sampling). It's nothing to do with whether it is a local file or streaming. Rather, it is what you wrote in your opening post back originally:



But once converted to 24-bit, playing through the DIRECT path is no problem at all, even for dumb apps like GPM, which know nothing about our Quad DAC.

Basically, 24/44 files are treated the same as HiRes files -- which also play correctly with Google Play Music, up to 176KHz (see this post).

But try playing 16/44 through GPM or LG Music, and they will all go through the Mixer, local files or not. Evidence coming up...
No need to provide evidence :) We already know all this to be true. I don't pretend to understand why it's so, but my guess is LG just decided to hand anything "hi-res" (DSD, >48 kHz sample rate, and they obviously bundled anything 24 bit into this category too) off to the hardware DAC and assume anything else could just go through the mixer, because who'd care about plain old CD quality? After all, we can all tell the difference between CD and hi-res PCM, right? :wink:

P.S. Sorry, I may have confused with the word "streams". I just mean an I/O stream from a buffer. Not streaming via wifi/cellular.
 
Last edited:

Users who are viewing this thread

Back
Top