[audio_core] Simplify TLFunctions in OutputPipeline

We were doing some complex linking of TimelineFunctions between mix
stages. This is a hold-over from when all the mix stages ran in
lock-step (so we used the same TimelineFunction for all stages).

In reality, we can create new TimelineFunctions for the intermediate
stages instead. This makes things simpler and easier to reason about.
In addition this fixes a bug where loopback can be silent when running
mix stages at different rates.

Test: fx test -o audio_core_unittests
      > Added a new unit tests for Loopback + Upsample that fails before
        this patch is applied. We also improve these tests so that we
        don't verify the loopback streams against silence, which made
        it impossible to test that we were looping back properly.
Change-Id: I44df76662551ea1482efb6855c4793baea823618
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/377234
Commit-Queue: Tim Detwiler <tjdetwiler@google.com>
Reviewed-by: Martin Puryear <mpuryear@google.com>
Testability-Review: Martin Puryear <mpuryear@google.com>
4 files changed
tree: 040c9a7e141324040565b64ae11c8c5eff9e8643
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. prebuilt/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. .style.yapf
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. README.md
  30. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.