Ok, I did miss a point on my part in that I didn't reference the custom, modified Onkyo Android OS system.
This is because my posts are all split when this topic was brought up on Sun, Mon, Tue and Wed.
All that I have written so far is an overly generalistic, overarching overview of the way an operating system and an application handles audio.
If we take my previous post then I'll add this amendment (also posted some pages back):
The big thing about Onkyo's highly customised Android OS is that Onkyo has added
brand new System Level functions and new/modified existing audio API's unique for the DP-X1.
Some System Level functions include AGC, Balanced, Line Out, Stand Alone Mode, Gain. These are on the same level as Wifi, Bluetooth, and volume functions. All are directly linked to the hardware, and are global across all of Android system.
It is possible, for example, to play an Android game called The Room 3 in balanced AGC at high Gain (something that
@scootermafia has done with his HiFiman HE1000 with DHC Complement 4 balanced cables). This is possible as these functions are not app specific, they are part of the Onkyo Android OS.
The other introduction is
new and/or modified audio API's. Case-in-point; the LG V10 smartphone has an ESS Sabre DAC (sister to the one in the DP-X1). However, the LG Android OS doesn't implement API's to fully use the DAC itself, only specific apps work. The LG Android audio API's are not robust, and default back to core Android API's.
Coming back to my points on how the Onkyo Android API's work with standard apps, when they call for the API's to transmit audio to the OS, the modified or new Onkyo audio API's will route the audio with whatever new System Level function is activated (Gain, or AGC, for example) and straight to the ESS Sabre DAC(s) and amp(s).
Android apps that usually don't call to the standardised Android audio API's would then work with the CPU as I described before. However these apps may not be compatible with the Onkyo's new or modified API's, thus causing conflict with the entire audio chain.
The intermittent noises you are getting is likely to do with multiple instances of audio decoding happening simultaneously, or just out-of-timing-sync; CPU DSP and ESS Sabre DAC.
Or, more likely, the resources in the DP-X1 are working with more than one audio stream (esp if the clocks are involved) and are taxed heavily, causing intermittent issues.
Whatever the case maybe a conflict of API interest is happening within the Onkyo DP-X1, and these conflicts are generated by apps that differ from using the standard Android audio API. When such apps are used in the DP-X1, new issues will (and has) arise.
These apps such as Neutron may need modification in code to work with Onkyo DP-X1.
Onkyo has made the new or modified audio API's code to work with apps that use current standard Android audio API, which is why I do not believe Onkyo will work on making specific code for a small number of specialist DSP audio Android apps (though if they did that would be phenomenal and awesome!).
Not to be rude, but my initial posts on how audio is designed to work in an OS isn't a theory.
It's much like how audio is handled in Win XP vs Win 10, or how some synthesisers and effects work in Apple Logic Pro on Macs. Some applications, or kernel code, are designed to do things away from the norm for specific reasons; either be routed and work with the DAC direct, or work with the CPU first, or split the work.
I use Neutron on Android as a prime example of a nonstandard App that does not call to the Android audio API, and works with the CPU for DSP, modulating the audio stream, then using the DAC to convert this into an analogue signal to output to an amp.
Quote:
Click to expand...