[roll] Roll fuchsia [audio_core] Refactor AudioCore to use the new Clock types

This change is an almost entirely a mechanical renaming of the following
types:

AudioClock            => Clock
FakeAudioClock        => FakeClock
AudioClockFactory     => AudioCoreClockFactory
FakeAudioClockFactory => FakeAudioCoreClockFactory

But there are some more subtle changes:

* In audio_driver.cc, a few lines of clock recovery logic have are now
  subsumed by the new RecoveredClock class.

* In mix_stage.{h,cc}, a ClockSynchronizer was added to each input edge
  and is now used in place of AudioClock static methods during clock
  reconciliation.

* In base_renderer.cc, most of the clock duplicatation logic has been
  removed since Clocks are passed around by shared_ptr (unlike
  AudioClocks, which were passed around by unique_ptr).

* In mix_stage_unittest.cc, a few small additions were needed because of
  the "minor changed" discussed in fxrev.dev/680507's CL description.

* While most unit tests that previously used FakeAudioClocks now use
  SyntheticClocks, some tests in audio_{capturer,renderer}_unittest.cc
  need to use real clocks. Specifically, every test that calls
  GetReferenceClock needs to use a clock that is backed by a real
  zx::clock. SyntheticClocks are not, so we must use RealClocks.

Original-Bug: 87651
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/677853
Original-Revision: 5f861eea0d20283b0f3046f30186bcda483909d5
GitOrigin-RevId: 0c55c7e6c5543e8b0be09092bcc796bcaea1e859
Change-Id: I37e208cfc7352d8a68385c4788a3de1ab4e431cc
1 file changed
tree: 6a0c2c62176e13a5cbbfc7314771e64ebf628cca
  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.