New stream type: AUDIO_STREAM_ASSISTANT
This is intended to be used by a virtual assistant like
Google Assistant, Bixby, etc.
The audio stream has own volume alias and the volume
does not change by volume changes of other streams.
Bug: 123745215
Test: make
Change-Id: I17ec0480cad4c3507a97454ccb832255adda9897
Merged-In: I17ec0480cad4c3507a97454ccb832255adda9897
Signed-off-by: Baekgyeong Kim <baek.kim@samsung.com>
Enabling and disabling effects when offloaded may not drain
software effects properly as the software effect process
is not called. Make software effect draining more robust.
Test: Play Music with offload effect enable and disable per bug.
Bug: 130265457
Change-Id: Ibeeaca57359d6d82ddaa41d12caa9c03df225487
Split the analysis/resynthesis window into using sqrt() of Hanning.
Removed unnecessary zero padding of initial circular buffer input.
Bug: 133453863
Test: manual and listening tests
Change-Id: I05a7204d055a8de93bb9183c32709d3464877065
Use stereo to match internal computations in LVM_Process.
Test: dedicated POC see bug below.
Bug: 131065273
Change-Id: Icdc15d0da2772979f82a4ad08d360c81b965f705
Copy_Float function present after the LVDBE_Process function in
LVM_Process.c was not taking into consideration NumChannels.
Corrected this.
Test: discovered by code inspection, CTS, Solotester
Bug: 130781096
Change-Id: Ib0bccd36f3986463b602fa20fc09ab0741f7e39e
Add pre processing effect management for concurrent capture scenarii.
When several clients on the same input stream have enabled audio effects,
only the effects attached to the top priotity client are active.
Other effects are suspended.
Add AudioFlinger API to suspend/restore audio effects build on top
of exisiting internal effect suspend mechanism.
RecordThread now supports more than one effect chain.
AOSP pre processing implementation supports more than one effect session
per input.
Refactor AudioPolicyManager::closeAllInputs() to call closeInput() on
all inputs instead of partially duplicated code.
Bug: 128419018
Test: make
Change-Id: I685286da4c2905a8894a4354679f9787b1400621
Crash was because of uninitialized (invalid) number of channels.
Initialized channels to default value and ensured
that during set config channel and channel mask value
are updated per the input config.
Test: BT playback with Spotify, GPM (Sailfish)
Bug: 129804987
Bug: 130013184
Change-Id: I71069b13a90e02bfc3b5cb9bf69c4c65c10ae36f
Instead of rolling our own powerof2 function, use the version provided
by libc. In particular, this version is not ubsan safe, whereas the libc
version is. See https://android-review.googlesource.com/c/platform/bionic/+/932279
Test: compiles and boots
Change-Id: I0dd39254357826c14c3185a5e6332faa90975f01
Added code to update SourceFormat field properly for MC input in CS and EQ
modules.
Test: lvmtest
Bug: 127583584
Change-Id: If5aa175e2557f64f04cb1f2de5a5822ecb553f2e
The output for a 3 channel input is not bit-exact with that of
2 channel input when concert surround is enabled and tested using lvmtest.
Test: local native test (lvmtest)
Bug: 124085228
Change-Id: Icb2d1d5d858be0c37cb11dd3734f8a6244d3cc1c
The memories created in lvmCreate call have to be freed at the end of
execution. Added code to achieve the same.
Test: local native test (lvmtest)
Bug: 123324940
Change-Id: I83fad7def874da27c79d755e44ec738fa0816a41
Added sample testbench, necessary makefile to build standalone application
and shell script to build and run the standalone application.
Test: downmixtest (in this CL)
Change-Id: I64651dfae497c0bf8687bfc5ed45020e27a8fdd1
Corrected the scratch memory size calculations of bundle scratch for
floating point and multichannel builds.
Added comments detailing the usage and size calculation of
memories of various memories LVM.
Test: local native test (lvmtest)
Bug: 120874654
Change-Id: I69bb7faa106be5b82b4e579718afe0d1d3bb798d
Added a standalone test bench that calculates SNR values using 2 files
as input. This tool is used to test the multichannel changes.
Test: build_and_run_all_unit_tests.sh
Bug: 121353611
Change-Id: I5e67d8113bace7872133f2e02d9ae7b9d90e61ff
Adjusted delay values in LVCS modwqule for higher sampling frequencies
starting from 48000 Hz. The values for higher frequencies are obtained
by linearly scaling the delay value for 44100 Hz frequency.
Test: Local Native Test (lvmtest)
Bug: 120991000
Change-Id: I261fd1ef338474f266aa19347e44aee1412db953
Table entries corresponding to 88.2kHz and 176.4kHz were missing for tables
corresponding to time constants and omega(2*pi/Fs). Added these missing entries.
Test: local native test (lvmtest)
Bug: 123209908
Change-Id: I6c17bb8492a3138acdc1e1fce3bc0a3e5a7eabf2
This commit adds the following audio capture sources:
- AUDIO_SOURCE_VOICE_PERFORMANCE: for real time live performances like Karaoke.
- AUDIO_SOURCE_ECHO_REFERENCE: for capturing the reference signal to suppress by an echo
canceller. Protected by privileged permission CAPTURE_AUDIO_OUTPUT.
Also added device AUDIO_DEVICE_IN_ECHO_REFERENCE selected when the requested
capture source is AUDIO_SOURCE_ECHO_REFERENCE.
Bug: 118203066
Test: CTS tests for audio capture
Change-Id: Ieb159ea82a7b81acf762506a44e24ec80111609f
Channel masks beyond stereo are not supported by Concert Surround
virtualization at this time.
Test: VirtualizerTest#test4_1SpeakerAnglesCapaMatchesFormatModeCapa
Bug: 122358150
Change-Id: Ib5ea0f8655c1845d5974ec9cc18a821652fac9b4
This ensures all input audio channels are identical
by replicating the first audio channel of each
audio frame to the other channels.
Test: Use lvmtest with -M
Bug: 121331591
Change-Id: Ie85b6511397a97c9d0f3451328d128048c803ce5
Added test cases for testing audio effects for higher frequencies
Added test cases for different combination of effects
Removed generated *.raw files at the end of the test
Test: local native test (lvmtest)
Bug: 120910607
Change-Id: I4df654314fee39a41bac05a8398d01e8f11e1173
Corrected the headphone side filter coefficients for 96kHz and 192kHz sampling
rates for the Concert Surround / Stereo Widening (CS) module.
Test: local native test lvmtest
Bug: 120942559
Change-Id: I213ff07aa54f4e0e4271c7ae619ede3881cee409
Multichannel processing support added for Bundled effects including
Bass Enhancement (DBE)
N Band Equalizer (EQNB)
Concert Surround / Stereo Widening (CS)
Parametric Spectrum Analysis (PSA)
DC removal
Treble Boost
Test: Solo Tester, CTS Effects Test, Local Native Test
Bug: 72223862
Change-Id: Ide86b529a7574c26306098fedd7b276b3688998f
See build/soong/README.md for more information.
Also removed some obsolete subdirs entries.
Test: m MODULES-IN-frameworks-av-media-libeffects
Change-Id: I1111197a62cc0e856159bfa0d650c5c36b20890a
ParsingResult::configPath is the path of the configuration file
used for the factory config parsing.
This path is used for an error log if the configuration file has errors.
The paths used to be a static string literals stored as char*
without lifecycle management.
When it was changed to dynamic strings, the code was not updated.
This patch changes it to a std::string.
Bug: 111261328
Test: flash and check effect works
Change-Id: Ia2022c794936f3f75793371cdde86c3047bb6c0a
Signed-off-by: Kevin Rocard <krocard@google.com>