| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Some effects modules are racy and don't tolerate being destroyed
and immediately resurrected on the same session. This is
the common case when switching tracks, and the use of default
output effects makes the problem even worse. Certain apps
which handle gapless in a sloppy way are also to blame.
* Instead of immediately nuking the entire descriptor with the
stream, just decrease the refcount and defer it for 10 seconds.
If it needs resurrected, the refcount will be increased and
the delayed release command will not shoot it in the face.
Change-Id: I068dd72c4180023a74eb9ccbe8a180f6f0683dbf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* In M, we now have the ability to define a default set of audio effect
on a per-stream basis. This allows us to get around the problem of
apps not sending the control intents so we can implement smart
global effects for specific media types.
* We still need a session id in order to get a handle and configure them
from an app like AudioFX, so we'll need to add some plumbing in
order to send an event to interested applications.
* This patch implements the native side of this. The Java layer will
call down thru AudioSystem and register a callback which will be
invoked by the audio policy when default effects are updated on
a stream. This callback will receive both the stream type as well
as the session id.
* Attaching this listener requires that the caller hold the
MODIFY_AUDIO_ROUTING permission.
Change-Id: I142b15f2585ffca6a953c3e828e2a7c07b24f56c
|
|\
| |
| |
| |
| | |
Android 6.0.1 release 17
Ticket: CYNGNOS-1854
|
| |
| |
| |
| |
| |
| |
| |
| | |
Camera service dumps should only be initiated through
ICameraService::dump.
Bug: 26265403
Change-Id: If3ca4718ed74bf33ad8a416192689203029e2803
|
| |
| |
| |
| |
| |
| | |
This reverts commit 415bcac8afac7aef3e9853cfe4a0f2a0eb2f04ad.
Change-Id: Ibbc35f16ef8cd17ead72498178c3e7bca1dff3cc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Issue:
While switching between clips with different track properties, when
earlier track is cleared, postDownMixerBufferProvider
tries to release a buffer to serverProxy instead of the original owner
i.e. downMixBufferProvider. This illegal releaseBuffer call to serverProxy
results in an assert in AudioTrackShared.
-In issue scenario, data flow path in AudioMixer is,
ServerProxy-->-->DownMixer-->PostDownMixer-->Resampler,
- Clear for downMixerBufferProvider ensures that all serverproxy
buffers are returned back.
-This also causes the postDownMixer to get connected with serverProxy.
-Hence on delete of postDownMixer illegal releaseBuffer for
serverProxy gets executed.
Fix:
Clear PostDownMixerBufferProvider before clearing DownMixerBufferProvider
to ensure that buffers are release to right owners.
Change-Id: I982366660d0a1e04be8cca6dabe758221dedf9b1
|
| |
| |
| |
| |
| |
| |
| | |
Change CHECK to ALOG_ASSERT to allow compilation of the TEE_SINK
dump feature.
Change-Id: I1114a9d185cfd24cdbdda51c526f48be7fd009f9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
6.0' as a single patch.
Signed-off-by: jinamdar <jaydeep.inamdar@dts.com>
(cherry picked from commit d3668da66643d4cc39058fb65c8db0742748f70f)
Conflicts:
services/audioflinger/AudioFlinger.cpp
services/audioflinger/Threads.cpp
Change-Id: I67e3ba100ff40058919ba827b806aea7bdbaf4bb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This causes a short and loud noise when turning off effects while
an audio track is playing or when an audio track is started with
audio effects enabled. The noise appears to be non-existent if the
volume level is set to its maximum.
This reverts commit d15a8bd157cb531716bd3e15561f557e74588801.
Change-Id: I2b8dd3447d673b4b98018710bc10c1eeb282598e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If mixer is creating reformatBufferProvider and downMixerBufferProvider
while adding a track it first creates downMixerProvider
then reformatBufferProvider. While deleting track it first
deletes downMixerBufferProvider and then reformatBufferProvider,
which should be in reverse order, the object created last should
be deleted first.
Change-Id: I844e7862280fe37c3167b31e92bbb27aa9463315
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* In case a device has a /vendor partition which cannot be
modified, this allows us to short-circuit the audio_effects.conf
file which might be placed there with one of our own which
lives on /system.
Change-Id: Ief87bd4cfba2c3188b0dff122d91f773b7f3d92d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In case of API1-HAL3, if HAL reports CAMERA3_MSG_ERROR_DEVICE, it
is getting mapped to CAMERA_ERROR_UNKNOWN in the service layer.
But this particular error code is not handled properly even in
applications like GoogleCamera (Android default camera app).
For example if camera deamon gets killed when GoogleCamera is
previewing, since its not handling the error properly, preview
freeze is seen for long time followed by mediaserver crash if
any user interaction happens meanwhile. Ideally, app should
close gracefully based on the error received.
So, map CAMERA3_MSG_ERROR_DEVICE to CAMERA_ERROR_SERVER_DIED,
so that app and mediaserver gets closed gracefully.
Change-Id: Idad9d23262e28e85b020b5bacdaad7c77fe16372
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Fixes the build for legacy audio policy
* Broken by: de3b1c01146d2103f6bf56e2659a9c650734945a
Change-Id: I990ce609b3da81c462b35c7dd3f7b11d189e2d2e
Signed-off-by: Xuefer <xuefer@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Handle startOutput on AudioPolicyService output command thread
to serialize with concurrent releaseOutput/stopOutput calls.
CRs-Fixed: 944129
Change-Id: Ie333c736750c7dfb31d3036d79dfff13cd0486fc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the value of the multiplier used in calculating
mNormalFrameCount is odd, it is rounded off to a higher even value.
This results in an increase of mNormalFrameCount and thereby
the latency which is not expected.
Do not prefer an even multiplier and let the value remain as is
even if it is odd.
CRs-Fixed: 931454
Change-Id: Ia60d87d01caef6f45998bffeafc3d6a24f7c7fb4
|
| |
| |
| |
| |
| |
| |
| | |
- Check Direct PCM usecase with Offload
- do not process s/w effect when direct PCM is enabled
Change-Id: I2eb843b17558e60cf36daff0c5fbdf50dccf99ca
|
| |
| |
| |
| | |
Change-Id: If91536d2be0165c90effccdfa2b92722223eb905
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Fix compilation with debug enabled
* Allow FLAC offload to be enabled independent of QCOM_HARDWARE,
tested with the Nexus 5X and is working!
* Disable the FLACExtractor if offload is enabled since it can
only output decoded PCM. This will force FFMPEG to be used,
which does everything we need for FLAC offload
Change-Id: I7d71c153a6a6ea7df8e32bc73f5cbe9f51cdcf64
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Direct output is not selected for voip usecases as
AUDIO_OUTPUT_FLAG_VOIP_RX is not added to
sOutputFlagNameToEnumTable.
Add this flag to output flags list.
Change-Id: Ifccb78a7b8579da0a65eb3ea7347756c664246a8
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Legacy ALSA really hates floating point, and it's breaking
mic input when doing things like audio recording.
Use the old conversion routine for legacy ALSA.
Change-Id: I616f4cd42fa0e4d7595dd61ed2d36c4fa7052c53
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
https://android.googlesource.com/platform/frameworks/av into cm-13.0
Android 6.0.1 release 3
Change-Id: I2f2a1fe1b58c828e8341556996211562d6e195ab
|
| |
| |
| |
| |
| |
| |
| | |
IResourceManagerClient.
Bug: 25166048
Change-Id: I35f9917079c4b783a7cf4cef94b3c7112760c0b8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change prevents a crash in the camera service when the camera
HAL notifies the service about the absence of a removable camera and
there happens to be no client connected to the service. It checks
that the pointer returned from clientToDisconnect.get() is non-null
before trying to dereference it (as is done in existing code
immediately below this change).
Bug: 25165323
Change-Id: I8055654bac980542e63ea7f52bf897eaafbc09bc
Signed-off-by: Tom Keel <thomas.keel@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add missing __FUNCTION__ arguments into log statements.
Ack by: Dilip Gopalakrishna
Bug: 25023187
Change-Id: I0256bad626d490fb9360a73c104afaad7a012a97
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
--Added NULL check for mRemoteCallback
Ack by: Susmitha Gummalla
Bug: 25023187
Change-Id: Ib88a128a52e81b8ec1052e3222b6d8b9e494afcc
|
| |\
| | |
| | |
| | | |
mnc-dr-dev
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure no active capture takes place while in call and the
capture device is the same as the call TX device.
Bug: 23977713.
Change-Id: Ia379d5e626c150ea49f0cdd581c881dbf0b8399d
|
| |\ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
So HAL can use vendor tags on first get_camera_info call.
Bug: 24913201
Change-Id: I73f17de87e3712a27f9cee366995df27a740f5cb
|
| |\ \ |
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When transitioning from speaker phone to normal mode and a USB
headset is connected, we must force a teardown of active input
as the new input device cannot be reached via current input stream.
Bug: 24406915.
Change-Id: I9f7c1d3f3cba285c25a6da1d54a3d15a5c1f378a
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add video recording stop sound to match MediaActionSound.
Bug: 24745252
Change-Id: I84b69757c7e0a98abfaafcce5f41dd45fd41cf74
|
| |\ \ \
| | |/ /
| |/| |
| | | | |
mnc-dr-dev
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
CameraHardwareInterfaceFlashControl class calls disconnectCameraDevice
when torch is disabled. This closes connection to the camera module,
but mDevice instance is kept and variable is non-NULL which will
prevent connection next time torch is going to be enabled.
Bug: 24909924
Change-Id: Icb1ffb07f05256afd92821f0f4908cda5332c05b
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 21093153.
Change-Id: I389af11451b01ce49fdb8957e2f322ba1925a62e
(cherry picked from commit da73b6c7474aaa5616f0214e238776f12717f32b)
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
static audio tracks use obtainBuffer() to update position in start().
Bug: 22938515
Change-Id: I8ae32f6cce4d122386d2cf8982e158049b04ba9a
|
| |\ \
| | |/
| |/|
| | |
| | | |
* commit '4c6e77ff8e18a1551320a6b42f6a45e19dcce748':
AudioFlinger: Clear record buffers when starting RecordThread
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 24211743
Bug: 24267152
Change-Id: I58c55e56b85067b71e4e300f947b4dfc159637ba
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 23999740
Change-Id: I3165404add455528b22951ba47b682a075b50087
(cherry picked from commit 014e91e471edba3f9b2c71ff6025274716b0f587)
|
| | |
| | |
| | |
| | |
| | |
| | | |
Don't forbid effects being added for mono channel.
Change-Id: Ib080c6c9ac263239668b639a788c29154726210d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a fast-track using shared buffer is restarted, we need to call
obtainbuffer if frameReady has already become zero, even if track is
still active. This is required to reset mFramesReadySafe. Otherwise
mFramesReadySafe remain at 0 and fastmixer can't consume data from
the track when it is re-used.
Change-Id: I5d6f364f8f31baad3341bd4f51bf8a8b147cd7d7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Audio can be heard when muting volume as the minimum volume
value takes 0.0f instead of VOLUME_MIN_DB (-758).
This patch fixes the minimum volume value which should be
VOLUME_MIN_DB instead of 0.0f.
Change-Id: I4cb8093b6d9f18e5330ba5f770b9133baa77542f
Signed-off-by: Safa Boumaiza <Safax.boumaiza@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Current implementation in AudioFlinger set the effects to state IDLE
when they are created. Later on when the effect is enabled by the
client, the state changes to STARTING.
Then when the audio playback starts, the AudioFlinger thread loop
calls EffectChain::process_l() to perform the effects processing.
However this method will first call process() and then updateState(),
so the firstprocess won't do anything because the effect is in
STARTING state. After the call to updateState, the state is moved
to ACTIVE and then next calls to process_l() will work as expected.
Change-Id: I9dfd3d5a0e53403034eb42f9366e1b3cdc5249c0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Loud clicks/pops are heard when playing to a USB device with
AudioFX enabled. Particularly frequent when the USB device is
capable of high-resolution output.
* Adjust the throttling period when effects are enabled to
prevent this.
Change-Id: I3db220d13c37f4ff5b835c14831fbe6f5a5b062c
|
| | |
| | |
| | |
| | | |
Change-Id: I8c459fd5a6530d7fc253f96400208dc6911b68ec
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- MixerThread sets OutputFormat to PCM_FLOAT by default
We are having issue with SRS Effects due to this format
- Fix is to select always PCM16 format as Audio HAL supports
only PCM16
Change-Id: I26d23836180fe95b4c32b071593827b6fe4d674e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For Proxy thread to be started , a2dp state has to updated from
the audiopolicy.
Now , added changes to send the BT A2DP status to audio HAL.
- A- Family doesn't support separate output for a2dp , removed the
getA2dpOutput(). getDeviceForStrategy() is selecting the proper
device using mA2dpSuspended flag.
CRs-Fixed: 751090
Change-Id: I599de562a8674ee611e10575fcc85e4715707a63
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: If037b4eb6bbd864ccab050565899ce508ee90f9e
Signed-off-by: AdrianDC <radian.dc@gmail.com>
|