USB Audio Player PRO (UAPP): 24- and 32-bit playback, ubiquitous USB audio support for Android
Apr 24, 2020 at 11:29 AM Post #3,721 of 6,201
Apr 24, 2020 at 11:34 AM Post #3,723 of 6,201
Apologies.. i use 3rd party software and cant help you with Windows 10 DLNA as i haven't tinkered around with it at all.
 
Apr 24, 2020 at 12:01 PM Post #3,725 of 6,201
I forgot to mention that this is from my Emby server but it shows up as DLNA
1587744086510.png
 
Apr 25, 2020 at 9:39 AM Post #3,727 of 6,201
I can't get the Windows 10 DLNA server to work for some reason. Universal Media Server works, but I have to choose each track - I can't shuffle the whole drive (which is really what I want to do). It's better than nothing though.
 
Apr 25, 2020 at 9:43 AM Post #3,728 of 6,201
@Davy Wentzler

Amazon music started rolling out updates with exclusive mode as an option now. I hope we will be getting bit-perfect Amazon HD with USB Audio Player Pro.
@Davy Wentzler

I will need to correct myself. I believe every Amazon music subsriber now has 'exclusive mode' and you can choose the devices, but I don't believe it's 'bit-perfect' like Tidal, as the sampling rate doesn't change when transitioning SD, HD, Ultra HD. It is fixed to OS sampling rate, and obviously going throught the OS instead of directly going to the DAC. I hope they can impliment bit-perfect as I don't give a crap whether it's ultra HD or not.
 
Last edited:
Apr 25, 2020 at 10:17 AM Post #3,729 of 6,201
I can't get the Windows 10 DLNA server to work for some reason. Universal Media Server works, but I have to choose each track - I can't shuffle the whole drive (which is really what I want to do). It's better than nothing though.
If you have a lot of tracks that is not the right way to go using DLNA. I would suggest tagging your library genre wise and then shuffle the whole genre rather than the entire library. Try out AssetUPNP, it has a fully operational demo version. Other to try would be MusicBee, Foobar2000 etc.
 
Apr 25, 2020 at 2:57 PM Post #3,730 of 6,201
If you have a lot of tracks that is not the right way to go using DLNA. I would suggest tagging your library genre wise and then shuffle the whole genre rather than the entire library. Try out AssetUPNP, it has a fully operational demo version. Other to try would be MusicBee, Foobar2000 etc.

I have about 100000 tracks! Can tagging be automated?
I'll have a look at AssetUPnP. I have Foobar2000 on my laptop - I didn't know it could act as a server.
 
Apr 25, 2020 at 3:15 PM Post #3,731 of 6,201
I will need to correct myself. I believe every Amazon music subsriber now has 'exclusive mode' and you can choose the devices, but I don't believe it's 'bit-perfect' like Tidal, as the sampling rate doesn't change when transitioning SD, HD, Ultra HD. It is fixed to OS sampling rate, and obviously going throught the OS instead of directly going to the DAC. I hope they can impliment bit-perfect as I don't give a crap whether it's ultra HD or not.

I don't know about other devices (including external DACs) but on my LG V30 Amazon HD is a complete dud and actually misleading. It claims that Device Capability is 24-bit / 48KHz, so it disregards the ESS DAC, which supports up to 384KHz. I can understand if they didn't bother including special support for LG phones (like I understand they do for Amazon branded devices). Although Tidal does.

But when playing, it routes everything through the Android Mixer as 16/48, both Ultra HD tracks (24/192) and "HD" tracks -- which is Amazon's name for anything 24/48, 24/44 or even 16/44. There may be a minor debate if 24/44 can be called HiRes, but I have yet to see any marketeers claim 16/44 as HiRes. Until now, that is.

I just ran another test of version 16.10.2 which I received Apr 17. Following are the audio_flinger output threads:

Output thread 0xe4b83780, name AudioOut_1D, tid 1824, 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): 35721669
Total writes: 0
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xe608a800
Mixer buffer: 0xe6088000
Effect buffer: 0xe5ef8400
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xe7e59940 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 0xe4b03480 tid=1823 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:-25, 4:-22, 5:-4.5, 6:0, 7:-12, 8:-6, 9:0, 10:-25, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains
Local log:
04-23 19:38:22.039 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX)
04-25 14:16:51.719 CFG_EVENT_RELEASE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0 (AUDIO_DEVICE_NONE)

Output thread 0xe4b83780, name AudioOut_1D, tid 1824, 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): 35818704
Total writes: 0
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xe608a800
Mixer buffer: 0xe6088000
Effect buffer: 0xe5ef8400
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xe7e59940 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 0xe4b03480 tid=1823 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:-25, 4:-22, 5:-4.5, 6:0, 7:-12, 8:-6, 9:0, 10:-25, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains
Local log:
04-23 19:38:22.039 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX)
04-25 14:16:51.719 CFG_EVENT_RELEASE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0 (AUDIO_DEVICE_NONE)

So there is absolutely nothing HiRes about Amazon HD on LG Quad DAC phones as far as I can tell. @csglinux previously observed (here among other places) that Amazon HD used DIRECT path, and FLOAT audio format, thus avoiding the nasty artifacts traditionally caused by Android Mixer when playing 16/44. But that is not what I am seeing in this latest version.

So yes, we really need UAPP support for Amazon, if at all possible!

Edit: The above tests were run with the app set to Best Possible quality. I'll rerun them later trying to force Ultra HD.

Edit2: Tested Streaming Quality settings of "Best Available" as well as "HD/UltraHD". Regardless of setting, everything is played through Mixer as 16/48.
 
Last edited:
Apr 25, 2020 at 3:38 PM Post #3,732 of 6,201
I don't know about other devices (including external DACs) but on my LG V30 Amazon HD is a complete dud and actually misleading. It claims that Device Capability is 24-bit / 48KHz, so it disregards the ESS DAC, which supports up to 352KHz. I can understand if they didn't bother including special support for LG phones (like I understand they do for Amazon branded devices).

But when playing, it routes everything through the Android Mixer as 16/48, both Ultra HD tracks (24/192) and "HD" tracks -- which is Amazon's name for anything 24/48, 24/44 or even 16/44. There may be a minor debate if 24/44 can be called HiRes, but I have yet to see any marketeers claim 16/44 as HiRes. Until now, that is.

I just ran another test of version 16.10.2 which I received Apr 17. Following are the audio_flinger output threads:

Output thread 0xe4b83780, name AudioOut_1D, tid 1824, 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): 35721669
Total writes: 0
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xe608a800
Mixer buffer: 0xe6088000
Effect buffer: 0xe5ef8400
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xe7e59940 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 0xe4b03480 tid=1823 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:-25, 4:-22, 5:-4.5, 6:0, 7:-12, 8:-6, 9:0, 10:-25, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains
Local log:
04-23 19:38:22.039 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX)
04-25 14:16:51.719 CFG_EVENT_RELEASE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0 (AUDIO_DEVICE_NONE)

Output thread 0xe4b83780, name AudioOut_1D, tid 1824, 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): 35818704
Total writes: 0
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xe608a800
Mixer buffer: 0xe6088000
Effect buffer: 0xe5ef8400
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xe7e59940 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 0xe4b03480 tid=1823 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:-25, 4:-22, 5:-4.5, 6:0, 7:-12, 8:-6, 9:0, 10:-25, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains
Local log:
04-23 19:38:22.039 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX)
04-25 14:16:51.719 CFG_EVENT_RELEASE_AUDIO_PATCH: old device 0x10000 (AUDIO_DEVICE_OUT_TELEPHONY_TX) new device 0 (AUDIO_DEVICE_NONE)

So there is absolutely nothing HiRes about Amazon HD on LG Quad DAC phones as far as I can tell. @csglinux previously observed (here among other places) that Amazon HD used DIRECT path, and FLOAT audio format, thus avoiding the nasty artifacts traditionally caused by Android Mixer when playing 16/44. But that is not what I am seeing in this latest version.

So yes, we really need UAPP support for Amazon, if at all possible!
Yeah, what a scam! Any native Android apps are going through the Android OS, and it will play at the default Android bit-depth and sampling rate. This is what UAPP got around with Tidal. I think even on Windows, Amazon HD is a scam.

By the way, I'm looking for a capable phone that can stream high bit depth and sampling rate to a DAC. It sounds like LG phones are it. I don't believe my Samsung is capable.

Can you stream 24/192 via the usb-c otg output to a DAC with the LG V series?
 
Last edited:
Apr 25, 2020 at 5:50 PM Post #3,733 of 6,201
Yeah, what a scam! Any native Android apps are going through the Android OS, and it will play at the default Android bit-depth and sampling rate. This is what UAPP got around with Tidal. I think even on Windows, Amazon HD is a scam.

By the way, I'm looking for a capable phone that can stream high bit depth and sampling rate to a DAC. It sounds like LG phones are it. I don't believe my Samsung is capable.

Can you stream 24/192 via the usb-c otg output to a DAC with the LG V series?

Actually downsampling isn't a big problem on LG Quad DAC phones: Most decent apps apps will play HiRes (including anything 24-bit) using the Direct path with the Offloadable flag, so Bit-perfect unless other processing is applied (EQ and such). That includes UAPP (of course), Neutron, LG Music, Tidal and even Google Music. You can read more about that here. A few boneheaded apps (Amazon Music, Qobuz) run everything through the Mixer, including Hires. But beyond those, the problem is that 16/44 always goes through the Mixer, which not only upsamles to 16/44, but does so in a pretty bad way. UAPP works around that by padding 16-bits to 24-bits so it can bypass the Mixer and play 16/44 Bit-perfect. It does other things too, of course.

I have never used an external USB DAC with my V30, but I believe you can absolutely stream Bit-Perfect 24/192 using UAPP to a supported DAC. Of course that won't use the excellent ESS DAC in the phone, but the reason to use an external DAC would be if it is even better than the built-in DAC.
 
Last edited:
Apr 25, 2020 at 6:05 PM Post #3,734 of 6,201
Actually downsampling isn't a big problem on LG Quad DAC phones: Most decent apps apps will play HiRes (including anything 24-bit) using the Direct path with the Offloadable flag, so Bit-perfect unless other processing is applied (EQ and such). That includes UAPP (of course), Neutron, LG Music, Tidal and even Google Music. A few boneheaded apps (Amazon Music, Qobuz) run everything through the Mixer, including Hires. But beyond those, the problem is that 16/44 always goes through the Mixer, which not only upsamles to 16/44, but does so in a pretty bad way. UAPP works around that by padding 16-bits to 24-bits so it can bypass the Mixer and play 16/44 Bit-perfect. It does other things too, of course.

I have never used an external USB DAC with my V30, but I believe you can absolutely stream Bit-Perfect 24/192 using UAPP to a supported DAC. Of course that won't use the excellent ESS DAC in the phone, but the reason to use an external DAC would be if it is even better than the built-in DAC.
I disliked Qobuz sound. Doesn't Tidal app go through the mixer? What do you mean by "which not only upsamples to 16/44, but does so in a pretty bad way"? How is it doing it in a bad way? Can you expand on this?

I don't like ESS DAC sound personally, so all I care about is the high sampling rate output to a DAC because I'm curious about streaming out of a battery device. I would assume it would be clean since the phone is running out of a battery. Hand-held streamer is the way I see it.
 
Last edited:
Apr 25, 2020 at 6:46 PM Post #3,735 of 6,201
I disliked Qobuz sound. Doesn't Tidal app go through the mixer?

Tidal app goes through the Mixer for 16/44 (you need UAPP). But HiRes tracks (so-called Master tracks, delivered as MQA) play using Direct path, same as UAPP. Again, see this post.

What do you mean by "which not only upsamples to 16/44, but does so in a pretty bad way"? How is it doing it in a bad way? Can you expand on this?

The Mixer causes nasty artifacts, and sometimes a hissing noise, audible at low volume levels, particularly on sensitive IEMs. At first we attributed it just to the upsampling of 16/44 to 16/48. But in our search for a fix, we found that there is more to it: We haven't been able to make Direct path the default (which was our goal). By having the Mixer output 24/44 instead of 16/48 we eliminated the hissing noise, but not the other artifacts. Read more about it in this XDA thread.

I don't like ESS DAC sound personally, so all I care about is the high sampling rate output to a DAC because I'm curious about streaming out of a battery device. I would assume it would be clean since the phone is running out of a battery. Hand-held streamer is the way I see it.

I understand. ESS can be a bit sterile, even bright for some. Choosing the right digital filter is important, although different users have different preferences, of course. Again, I believe UAPP can absolutely output Bit-Perfect HiRes to an external DAC -- that's what it was originally made for. I just haven't tried it myself. And I like to have firsthand knowledge of things I claim :relaxed:
 

Users who are viewing this thread

Back
Top