Since the update with the new audio engine, playing a file with opus does not use offload anymore. It worked flawless in version 14 (and other apps that support offload). For AAC it’s still working.
Device type
Phone
Media provider
Navidrome
Steps to reproduce
Set prefer hardware-accelerated codecs/Bypass processing/offload mode enabled in Output Settings
Play a file with opus codec
No sign of using offload (like offload=true in log or “Successfully opened file /vendor/dsp/adsp/./opus_dec_module.so.1” in Android logs like with version 14)
The log would suggest, that the DSP has support for opus.
If I enabled offload mode on version 14 (or some other apps), it would show entries like this in the logcat:
audioadsprpcd 2301 D audioadsprpcd vendor/qcom/proprietary/adsprpc/src/apps_std_imp.c:369: apps_std_fopen_fd done for /vendor/dsp/adsp/./opus_dec_module.so.1 with fsize:163752 audioadsprpcd 2301 I audioadsprpcd vendor/qcom/proprietary/adsprpc/src/apps_std_imp.c:1209: Successfully opened file /vendor/dsp/adsp/./opus_dec_module.so.1
Like it did with AAC (and still does with version 15), when offload mode enabled:
audioadsprpcd vendor/qcom/proprietary/adsprpc/src/apps_std_imp.c:1209: Successfully opened file /vendor/dsp/adsp/./aac_dec_module.so.1
Also, the App log showed something like this in version 14:
You are playing over network, the actual cpu and battery usage is mostly all there.
You can measure easily.
With that said provide an Android bug report https://developer.android.com/studio/debug/bug-report uploaded to https://upload.symfonium.app when playing with version 15 at least 10 minutes then another one with version 14 and offload. This will give number and may expose that OnePlus have hardware decoder but wrongly expose it as software.