[ZTE Axon 7 ROMs, Kernels, Recoveries, & Other Deve] Teet1:
Fresh clean install of The new Resurrection Remix rom with the new DAC driver. No modifications, only Magisk. Still cannot play 192000khz audio files using any player that doesn't use it's own audio media server, such as PowerAmp or Neutron Player. "Any other" refers to the stock audio player that comes with RR, BlackPlayer EX, Retro Music, Pulsar Player, etc etc. Either the audio files do not show up, or they display with the time 0:00 and tapping on them will show a message saying that there was an error playing this audio file. Screenshot here:

192000khz audio files either do not show up in library, or only show as 0:00 time.

https://i.imgur.com/h2CqTsM.png

Logcat says the same below.

02-19 13:54:13.013 630 885 E FLACExtractor: unsupported sample rate 192000
02-19 13:54:13.013 633 9155 E GenericSource: initFromDataSource, source has no track!
02-19 13:54:13.013 633 9155 E GenericSource: Failed to init from data source!
02-19 13:54:13.014 633 9154 D NuPlayerDriver: notifyListener_l(0xe73a7540), (100, 1, -2147483648, -1), loop setting(0, 0)
02-19 13:54:13.014 6573 8950 E MediaPlayerNative: error (1, -2147483648)
02-19 13:54:13.076 6573 8950 W AudioManager: Use of stream types is deprecated for operations other than volume control
02-19 13:54:13.077 6573 8950 W AudioManager: See the documentation of requestAudioFocus() for what to use instead with android.media.AudioAttributes to qualify your playback use case
02-19 13:54:13.077 6573 6598 W zygote64: Long monitor contention with owner Binder:6573_6 (7284) at void org.lineageos.eleven.MusicPlaybackService.open(long[], int, long, org.lineageos.eleven.Config$IdType)(MusicPlaybackService.java:2415) waiters=0 in void org.lineageos.eleven.MusicPlaybackService$MusicPlayerHandler.handleMessage(android.os.Message) for 308ms
02-19 13:54:13.077 868 7910 I MediaFocusControl: requestAudioFocus() from uid/pid 10012/6573 clientId=android.media.AudioManager@550686aorg.lineageos.eleven.MusicPlaybackService$3@f08f15b callingPack=org.lineageos.eleven req=1 flags=0x0 sdk=24
02-19 13:54:13.089 513 513 W /system/bin/hw/android.hidl.allocator@1.0-service: ashmem_create_region(7680) returning hidl_memory(0x7abd42c2b0, 7680)
02-19 13:54:13.096 513 513 W /system/bin/hw/android.hidl.allocator@1.0-service: ashmem_create_region(7680) returning hidl_memory(0x7abd42c2b0, 7680)

Even then, both PowerAmp and Neutron do not detect the DAC, so it will not output to the DAC at a higher sample rate (greater than 96000khz 24bit). Even flashing the primitive DAC patch that floats around here and there doesn't change a thing.

However, I can play the hi-fi audio files just fine on both of these players (and VLC which also uses its own integrated audio media output) but does not output to 24bit 192000khz

Playing a hi-fi file in PowerAmp while showing "dumpsys media.audio_flinger" in Terminal shows it downsamples to 48000khz

https://i.imgur.com/Usiq2AM.png

The hi-fi audio file in Poweramp shows it is 24bit 192000khz

https://i.imgur.com/3SM3JDD.png

So my conclusion is, since I feel like these Oreo ROMs are based off PNW which is AOSP based meaning generic 8.1 Android, natively, it does not support hi-fi media files (Google Pixel 2 cannot play them from what I understand, huh a $700 phone can't play them but a $400 phone can in stock :D)

And the error comes from FLACExtractor.cpp, which is living in a lib file called libstagefright according to Google Source which can be found here: https://android.googlesource.com/pl...436922/media/libstagefright/FLACExtractor.cpp

although I don't even think Google Source can allow us to listen to hi-fi, we might need the source from ZTE themselves when they release Oreo which is a long time from now :(

So your DAC might be supported now, but I think it is useless right now since, according to it's behavior in stock ROM, is not activated until a hi-fi audio file is played. From what I can tell, only the stock media player that comes with the Axon 7 stock MiFavor ROM is the only audio player out there that can only fully utilize the AK4490 DAC

One last thing, the DAC behavior in stock MiFavor is this (i just flashed stock to test this):

Stock music player (which is verry crappy, why cannot we organize songs by order they're in?!) fully uses the AK4490 DAC, but PowerAMP does not detect AK4490 DAC. However, it does detect the SnapDragon DAC which does output at 19200khz 24bit so it utilizes that. The "standard" setting in the sound settings is the snapdragon DAC, which isnt as good as the AK4490 DAC, but it allows us to listen to 19200khz anyway

The Super setting turns on the AK4490 DAC when there is a 19200khz file playing, the audio quality becomes much better when it is utilized

In 8.1 ROMs, my assumption is these other music players does not detect either DAC, so it falls back to a generic basic audio server that does not output hi-fi media.

So we might need the dependencies to make our DAC work :(