[roll] Roll fuchsia [virtual_audio_driver] Fix use-after-free bugs and simplify This CL makes multiple cleanups in the virtual audio driver: 1. The code has been refactored and simplified to (hopefully) eliminate use-after-free and memory leak bugs. We now use shared_ptr everywhere, except that posted tasks use weak_ptr as a way to cancel the posted task if the service shuts down before the task runs. 2. The FIDL API has been simplified. The driver now serves the Control protocol directly and input and output devices are created by explicit AddInput and AddOutput methods. In this new API, we can no longer reuse the same FIDL channel for a new device. This feature was never used and lead to potentially-buggy stateful code which has is now stateless (and hopefully simpler). 3. The driver now uses LLCPP bindings instead of the C bindings. 4. All users connect directly to the FIDL protocol via the device filesystem. This deprecates the VirtualAudioService, which has been mostly deleted, except for an empty BUILD rule that will be removed in a follow-up CL. Multiply: audio-device-enumerator-test Multiply: audio-renderer-pipeline-test Multiply: usage-reporter-test Original-Fixed: 98435 Original-Bug: 90445 Original-Bug: 95629 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/670470 Original-Revision: f86d53d54744ff23db6afdd42f1dad7e537175ad GitOrigin-RevId: 0d5dd386a4c619e188ce107170d8ab5fa1d06565 Change-Id: I9c79e3a4b66b509f5901e80366e668ca8ee3866c
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.