How it works
The Android audio path, explained
Vesqen’s Chain page follows local audio from the source file through the decoder to Android and your headphones or USB DAC. It shows what Android and the player report, where each value comes from, and what still needs external verification.
Five steps from the file to your headphones
- 01
Source file
Container, codec, sample rate, bit depth, channel count and the file’s average bit rate.
- 02
Decoder
Which decoder runs, whether it’s software-only or hardware-accelerated, the PCM format it puts out, and how long each frame takes to decode.
- 03
App processing
Whether Vesqen itself changes the sound, for example software volume, speed, pitch, silence skipping or resampling. Strict USB output requires all of these off.
- 04
AudioTrack
The PCM format handed to Android, the buffer size, how many underruns (dropouts) there have been, and how far the playback clock has drifted.
- 05
Route
Which output device Android picked, what else is connected, whether the route accepts the current format directly, and the mixer profiles a USB DAC reports.
There are also process and power figures, such as Vesqen’s CPU and memory use and the battery current.
Every value says where it came from
Each value on the Chain page shows how it was obtained, and the advanced view also shows where it came from and when it was read. Values only update while the Chain page is open.
- Measured
- Read directly from Android or the player. The app labels these “Measured · not verified”.
- Derived
- Calculated from measured values, such as the average read bit rate over a window, with the window and the method shown.
- Estimated
- Can’t be read directly, only estimated, such as whole-device power from battery current times voltage.
- Unavailable
- If a value can’t be read, it says so and gives the reason, for example the system doesn’t expose it, Android is too old, or nothing is playing yet. Nothing is filled in from elsewhere.
“Measured” describes how a value was collected. It says nothing about whether the output is bit-perfect.
Output states
- SYSTEM MIXED
- The audio goes through Android’s normal output, where the system may mix, resample or add effects. The phone speaker, wired headphones and Bluetooth all work this way.
- BIT-PERFECT AVAILABLE
- The connected USB DAC reports a bit-perfect profile that matches the current file, but strict USB output isn’t on yet.
- BIT-PERFECT REQUESTED
- Strict USB output is on. Vesqen is rebuilding the AudioTrack and checking the mixer setting and the actual route.
- BIT-PERFECT ACTIVE
- The AudioTrack, the mixer setting and the route all match the current file. This is evidence from the Android side.
- BIT-PERFECT VERIFIED
- There is an external verification record for your exact setup. No records exist yet.
- STRICT OUTPUT STOPPED
- A condition failed during strict USB output, so playback stopped and the reason is shown.
The Chain page also shows “Requested-format direct-playback capability”: Android reporting that the route accepts the current format directly. It’s listed on its own and has nothing to do with bit-perfect output.
How far Android’s evidence goes
Android can tell Vesqen what format the AudioTrack received, what the mixer is set to and which device the sound was sent to. What the DAC finally puts out can’t be seen from the phone. So ACTIVE only means the Android side matches; the final output has to be confirmed by measuring it with external equipment.
External verification records
External verification checks the DAC’s real output with measurement equipment, and the result is written up as a record signed by the maintainer. After you import a record file in Settings, Vesqen checks the signature, then whether the app version, phone and system, DAC, source format and output format all match the record. Only an exact match is used, and only then does it show VERIFIED. No records have been published yet.