History log of /frameworks/av/media/libaudioprocessing/BufferProviders.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e053bfaaa6477016b935c98cacf0b297b5d3d6e1 10-Nov-2017 Kevin Rocard <krocard@google.com> libaudioprocessing: clamp application provided float audio

For security reason, float buffers provided by application must be
clamped to FLOAT_NOMINAL_RANGE_HEADROOM.
With the new all float pipeline, float are no longer clamped by their
conversion to fixed point.

This patch adds a float buffer provider that clamps float samples
as they are copied to audio pipeline.

Test: Play music, play video in chrome (opensles format float),
play float pcm audio file specially crafter with >> 1 samples.
Bug: 68099072
Change-Id: I220b436d9982bc43a75715a030efd0e6a0c79fa3
Signed-off-by: Kevin Rocard <krocard@google.com>
/frameworks/av/media/libaudioprocessing/BufferProviders.cpp
7588ff418aca63b1dc43a85afc1e86c40dd889a3 08-Jan-2018 Kevin Rocard <krocard@google.com> Audio V4: Split HAL wrapper for versioning

Both core and effect Hal now have one single point of entry.
This point of entry is their respective factories:
- DevicesFactoryHalInterface::create
- EffectsFactoryHalInterface::create

Each entry point looks for their respective services supported
version, starting from the highest (currently only 2.0) and
returning the subclass wrapping this version to the most recent audio.h
framework api.

Note that EffectBufferHalInterface were previously created from static
methods (mirror and allocate) which broke the single point of entry
requirement.
As a result, buffers have now to be created from the factory like the
other classes.

Note that the death handler also need to be its own library as it is
used by versioned code and is version independent.

Bug: 38184704
Test: compile
Change-Id: Iac9b1fda561bb486193d5b9e025a870f50cda530
Signed-off-by: Kevin Rocard <krocard@google.com>
/frameworks/av/media/libaudioprocessing/BufferProviders.cpp
66916c26a7055c9e10471720502a29f759609819 25-Jan-2017 Mikhail Naganov <mnaganov@google.com> audio hal: Fix multichannel playback

Correctly operate on input and output buffers in DownmixerBufferProvider

Note that playback is a bit choppy, need to investigate further.

Change-Id: I350175dcc9cc7142a1935585a8bd5e9abb1b8eb6
Test: play back a 5.1 file
/frameworks/av/media/libaudioprocessing/BufferProviders.cpp
2f607551825066933ef2ab9cac84833306c72db0 12-Jan-2017 Mikhail Naganov <mnaganov@google.com> Fix crash in DownmixerBufferProvider

In ag/1768960, I forgot to actually set the buffers for the effect
interface. Without that, a 'process' method was attempting to use null
buffers.

Bug: 34228998
Test: android.media.cts.AudioNativeTest#testPlayStreamData
Change-Id: I904a9c08aa75bd5738b3ce981ee54511f37df7ec
/frameworks/av/media/libaudioprocessing/BufferProviders.cpp
068561c8e84569d51df2adbbb53b56fdfd09c06b 04-Jan-2017 Andy Hung <hunga@google.com> AudioFlinger: Split off audio processing library

Test: native AudioResampler test, general playback test
Bug: 31015569
Change-Id: Ifb248f4402a583438d756c014dcd7a4577aef713
/frameworks/av/media/libaudioprocessing/BufferProviders.cpp