[roll] Roll fuchsia [audio_core] mix range checks and object lifetimes Improve boundary checks, integer arithmetic precision, and object ownership across audio mixing, DSP sampling, and effect loading pipelines. Specifically: - Mixer / MixStage: Cap destination frame count in Mixer::Mix during gain ramping to *dest.frame_offset_ptr + kScaleArrLen (960 frames), ensuring that sampling operations remain strictly within the allocated scale_arr buffer during large mix requests (b/521640280). - MixStage: Widen block size calculation in MixStage::MixStage from 32-bit integer multiplication to size_t (b/521640620), preventing arithmetic overflow when sizing multi-channel output buffers. - Sampler: Adjust signed modulo remainder and quotient division in Sampler::State::AdvancePositionsBy when dest_frames is negative (b/525551854), ensuring source_pos_modulo_ always remains positive and strictly less than step_size_denominator_. - EffectV1: Store instance_name_ as an owning std::string instead of a non-owning std::string_view (b/521640738), guaranteeing string validity across pipeline reconfigurations and extended lifetimes. New and updated unit test cases: - MixStageTest.RampingMixExceedsScaleArrLen - DynamicRange.RampingMixExceedsScaleArrLen - MixStageTest.BlockSizeMultiplication - SamplerStatePositionTest.AdvancePositionsNegativeDestFrames - EffectV1Test.InstanceNameLifetime Original-Original-Fixed: 521640280 Original-Original-Fixed: 521640620 Original-Original-Fixed: 525551854 Original-Original-Fixed: 521640738 Test: fx test audio_core_unittests Test: fx test audio_lib_processing_unittests Test: fx test audio_effects_loader_unittests Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1685895 Original-Original-Revision: 3936fdff9d305a7ea40c7379a0f7c41512e87f7a GitOrigin-RevId: e44ed6558e4cd15ff7f9e6fd71f371e1a739304c Change-Id: I11fc72a875105ed365412b1cd4b6495e3ee7291e Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1689956 Cr-Commit-Position: refs/heads/main@{#196022}
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 in one of the communication channels documented at get involved.
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.