[roll] Roll fuchsia [audio_core] Add a CFv2 audio_core component

This CL adds a CFv2 audio_core and updates fuchsia.git integration tests
to use the new component. Future CLs will output vendored integration
tests, then will start using CFv2 audio_core in production builds, then
will delete CFv1 support.

The HermeticAudioEnvironment class has been renamed to
HermeticAudioRealm and rewritten to use CFv2's RealmBuilder.
AudioCore's CFv2 manifest is split into the following shards:

- The main shard (audio_core.cml) declares capabilities used everywhere
- Two different shards select the binary to use (w/ or w/out prebuild
  coefficient tables)
- One shard enables fuchsia.ultrasound.Factory (which is needed in
  certain tests and products only)
- One shard enables special capability routes needed in integration
  tests only

Some changes to virtual_audio_driver are necessary so that driver can
run within DriverTestRealm, where `async_get_default_dispatcher()` is
not available.

Original-Bug: 90408
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/659029
Original-Revision: 3965aba53f3430356c8a411423eca47ca279bcc8
GitOrigin-RevId: 639eb9031bb69f2a084cb4a791b9cd61f7b611bc
Change-Id: Ie226971eb52699cb5f3fdfa1e0f7749f2d09cc7a
1 file changed
tree: c5d3c40bcf2618bfd1a7d16fe04d56dc250c7999
  1. infra/
  2. third_party/
  3. cts
  4. firmware
  5. flower
  6. jiri.lock
  7. minimal
  8. prebuilts
  9. README.md
  10. stem
  11. test_durations
  12. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.