[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
This repository contains Fuchsia's Global Integration manifest files.
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.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.