Jump to content

[Output] FEATURE REQUEST - Use Oboe output in Poweramp


Recommended Posts

Any reason Poweramp is not taking advantage of the new open source Oboe audio output for Android by Google? 

I looked at output settings but I only found OpenSL ES, AudioTrack, Hi-res output option. I could not find any option to switch to AAudio output.

AAudio output API was developed for newer devices (Android 8+) some time ago and it improves the performance.

 

They have also launched Oboe, an audio API for low latency output.

> Oboe takes advantage of the improved performance and features of AAudio on Oreo MR1 (API 27+) whilst maintaining backward compatibility (using OpenSL ES) on API 16+.

Quoted from https://android-developers.googleblog.com/2018/10/introducing-oboe-c-library-for-low.html

Link to post
Share on other sites
  • 3 weeks later...

I have created this thread few weeks ago. I haven't recieved a reply yet. So I am guessing External API category is the wrong place. This is a feature request so I am dropping it here. (I don't know how to move a thread to another category) anyway this feature is much wanted,at least for me, AAudio has lower latency.

Link to post
Share on other sites
  • 3 months later...

Hi again. According to https://developer.android.com/ndk/guides/audio/aaudio/aaudio , AAudio has two output formats `AAUDIO_FORMAT_PCM_I16` and `AAUDIO_FORMAT_PCM_FLOAT`. Does the later format allow 24bit output? If yes, can it be used to create low latency audio stream? Current (OpenSL ES) Hi-res output produces sound of high bitrate but at the cost of high latency.

Link to post
Share on other sites

Oboe is a wrapper over AAudio. AAudio is wrapper over (Native) AudioTrack API for media player case scenario (it’s a bit different for low latency use case, but that is not intended for media players). 

AAudio is actually implemented in Poweramp, but disabled as it gives zero benefits.

PS On second thought, I will probably re-enable AAudio output to avoid further requests and questions 😉

Link to post
Share on other sites
16 hours ago, maxmp said:

AAudio is wrapper over (Native) AudioTrack API for media player case scenario (it’s a bit different for low latency use case, but that is not intended for media players). 

So basically it just calls java layer to produce the audio stream? Like how AudioTrack does? AudioTrack is a very old native API IIRC and AAudio was implemented in Android 8.0, so I was kinda expecting some improvements. And since Oboe just falls back to OpenSL ES on android 7.1 or older. I thought it was better than OpenSL ES.

16 hours ago, maxmp said:

AAudio is actually implemented in Poweramp, but disabled as it gives zero benefits.

Oh I was thinking of using it as an alternative to OpenSL ES.

🙄🤔

 

 

Link to post
Share on other sites
  • 4 weeks later...

@Someguyonline it doesn’t call java, but it calls same apis used by audiotrack, opensl, and hi-res output (audioflinger set of APIs). Just another wrapper. There is cool mmap mode for very low latency, but that mode is not for the music players.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...