Repository navigation
Audio M3: build the AAudio driver (Inferno PR 64), step 1 probe and result - #149
Merged
Merged
Conversation
Bumps third_party/inferno to the AAudio driver branch (Scion-Project/pyre PR 64, audio/aaudio, on top of current pyre master). build-android.sh passes -Daaudio=enabled when the Inferno tree has the option, so a failed detection stops the build instead of shipping without sound. tools/aaudio_tone.c is the step 1 probe: it opens an AAudio stream with the driver's settings and plays 440 Hz. It opened and ran from a plain exec'd process both as the shell user and in the app's uid (run-as) on the API 36 emulator; docs/AUDIO.md records the numbers. No app change: passing -audiodev aaudio is issue 94.
dylanneve1
force-pushed
the
audio/aaudio-driver
branch
from
November 8, 2026 02:35
739d40f to
95f90c7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Companion to Scion-Project/pyre PR 64 (the AAudio driver). Pyre has Actions disabled ("Actions has been disabled for this repository" on workflow dispatch, and the PR got no runs), so this PR is also how CI compiles the driver.
third_party/infernomoves to5d52deaon pyre'saudio/aaudiobranch: the driver commit on top of current pyre masterae85d1d. That also brings in the master commits Scion's pointer doesn't have yet (pyre PR 55, PR 62, PR 63: jump-cache size, the inline lookup and the org links). Once PR 64 merges, the pointer should be moved to the merge commit.native/build-android.shpasses-Daaudio=enabledwhen the Inferno tree has theaaudiooption. meson would detect it by itself; this makes a failed detection an error instead of a silent build without sound. Older trees (and pyre's android workflow against older revisions) are unaffected. The change sits next tolto_args, away from the-Dslirpline that PR 146 edits.tools/aaudio_tone.c: the step 1 probe. It opens an AAudio output stream with the driver's settings (S16 stereo 48 kHz, low latency, USAGE_GAME, data callback), plays 440 Hz and prints every result code and frame count.docs/AUDIO.md: the step 1 result.Step 1 (does AAudio open from an exec'd native process, as in the app's child-process mode?) passed on the shared emulator (sdk_gphone64_arm64, API 36,
-no-audio, so checked by result codes and frames, not by ear):AAUDIO_OK. The stream reachedSTARTED, 136320 frames in 3 s, 0 xruns.run-as io.github.dylanneve1.iosonpixel(runas_appdomain): the same, 114240 frames in 3 s, 0 xruns.So the socket/
AudioTrackfallback isn't needed.CI (run 41188357363): light-build, full-build, baseline-build and emulator-smoke all passed. In full-build, meson reports
Library aaudio found: YESandAAudio support: YES, andaudio/aaudio.ccompiles and links into both the executable and the in-process library. Its only warnings are -Wunused-parameter on callback parameters, the same as the rest of the tree.No app change: passing
audio=on,audiodev=snd0 -audiodev aaudio,id=snd0and requesting audio focus are issue 94.Not tested: the driver itself hasn't played anything yet (it needs issue 94's wiring and issue 92's guest playback), there was no run in the real
untrusted_appchild domain, and disconnect/reopen and anything on a Pixel 10 are still unchecked.Part of #93