| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
https://android.googlesource.com/platform/frameworks/av into cm-13.0
Android 6.0.1 release 22
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure that standby delay is never less than the audio flinger
default on A2DP output.
Due to variable latency and amount of buffering in A2DP sinks,
an agressive standby delay could lead to truncated audio.
Bug: 25830539.
Change-Id: I38be37ad346f5f4bf8303d3db4e3e911bf637968
(cherry picked from commit 42537be61479e59c4718e1304364551c1454f63c)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\
| | |
| | |
| | |
| | | |
* commit '4c6e77ff8e18a1551320a6b42f6a45e19dcce748':
AudioFlinger: Clear record buffers when starting RecordThread
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 24211743
Bug: 24267152
Change-Id: I58c55e56b85067b71e4e300f947b4dfc159637ba
|
| | |
| | |
| | |
| | |
| | |
| | | |
Don't forbid effects being added for mono channel.
Change-Id: Ib080c6c9ac263239668b639a788c29154726210d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
Android 6.0.0 release 26
Change-Id: I8a57007bf6efcd8b95c3cebf5e0444345bdd4cda
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Move SchedulingPolicyService from audioservice to mediautils
- When starting up a high speed stream config, set request queue thread
to SCHED_FIFO using SchedulingPolicyService
Bug: 24227252
Change-Id: I224b59142bd111caf563779f55cddd62385b9bac
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The audio HAL wakes up and configures the audio path when receiving
the first write() in standby state. This causes a certain amount of
process to take place in the mixer threads which is problematic for
fast mixer running at FIFO priority.
We now force a fake write() of 0 bytes from normal mixer to trigger
the audio path configuration before starting the fast mixer.
Bug: 23791972.
Change-Id: I54311b337fda956444846f5d2f53a3263d54e04b
|
| |
| |
| |
| |
| |
| | |
- add support for effects on direct pcm output
Change-Id: I2fbac63c623bf51a03e5e91828369739d33329f3
|
| |
| |
| |
| |
| |
| | |
allow effects in case outout is direct pcm
Change-Id: I2ad7eacf11642a4ca9f892b61124293d0dc503a9
|
|/
|
|
|
|
|
|
|
|
|
| |
-Clear effect buffers in threadloop_mix() in case audio
effects enabled when output threads are not ready
-Also clear mix buffers in threadLoop_sleepTime()when tracks
are not ready
CRs-Fixed: 765749
Change-Id: I475d42ac0cc68e4856002a9bd4c6c256a6fca70c
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
and small buffer size. Also:
Pull out the magic number "12 ms" to a named constant.
Remove obsolete AudioFlinger::mPrimaryOutputSampleRate.
Bug: 22662814
Change-Id: I261f75a222c4505a84aad2493d251bd2dea59f68
|
|/
|
|
|
| |
Bug: 22173057
Change-Id: I8f5056ff5a1252c71a3d3b354440551bcd9fd466
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The AudioFlinger kept pausing the audio when playing compressed AC3 or DTS.
This caused pause/resume loops that were hard to break out of.
The AudioFlinger was thinking that the compressed audio was PCM
because the HAL was in PCM mode playing SPDIF data bursts.
It also thought that EAC3 was at 192000 Hz instead of 48000
Hz because the data bursts are played at a higher rate.
This CL adds more calls to the shim that separates the AudioFlinger.
Now the AudioFlinger gets information about the HAL sample rate,
channel masks and format from the shim instead of calling the HAL directly.
The AudioFlinger now uses a different threshold for detecting
underruns when the audio is compressed.
Bug: 19938315
Bug: 20891646
Change-Id: Ib16f539346d1c7a273ea4feb3d3afcc3dc60237d
Signed-off-by: Phil Burk <philburk@google.com>
|
|\
| |
| |
| | |
mnc-dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Send flush command to the audio HAL when transtioning to
next track on direct output thread, even if both tracks are in the
same audio session.
Commit 43b4dcc to fix issue 21145353 did only flush the HAL if the
audio session was different for the new track because the logic was
copied from the offload thread.
Bug: 22019044.
Change-Id: I89b217580023ed7449a58e9bf3dc068ce7a84487
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- audio policy:
Force device change to ensure new audio patch creation
upon first track activity on a given output.
Fix function device_distinguishes_on_address() which could mistake
some output device with remote submix input device.
- audio flinger:
Reduce number of binder calls upon new client registration by only
sending ioConfigChanged() callbacks to newly registered client.
Fix first patch after output thread creation not triggering an
ioConfigChanged() callback.
-audio system:
Force client registration upon routing callback installation to force
new ioConfigChanged() callback from audio flinger.
Bug: 22381136.
Change-Id: Ieb0d9f92f563a40552eb31bc0499c8ac65f78ce4
|
|
|
|
|
| |
Bug: 22068684.
Change-Id: Idde0eaf7121d2e43f32eee3e6b10e99d8cff4912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reduce the number of audio port, audio patch and
IO config changed binder calls from mediaserver to
client processes:
- Do not call IO config changed callback if selected
device is the same as previously selected one on a given
audio flinger playback or capture thread.
- Do not call the audio port or audo patch list update
callback on a client if this client as no listener registered.
Bug: 22045560.
Change-Id: If780e105404de79b7cb5c80c27b793ceb6b1c423
|
|
|
|
|
| |
Bug: 21858740
Change-Id: I8f291b64c1033867bb57ffceaa3b7d94aa998715
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For direct threads, when recycling a stream, perform a flush so
that the frame position is reset.
Bug: 21145353
Change-Id: I08611cd64bb249a9659c44f9e4c47e7455f4838f
Signed-off-by: Phil Burk <philburk@google.com>
|
|/
|
|
|
|
| |
Bug: 21375533
Bug: 21721483
Change-Id: I1ccd5d1d68a25f415dc4a62bf7a44d9db12a256b
|
|
|
|
|
|
|
|
|
|
|
|
| |
This helps prevent underruns with NuPlayer and other applications
which set up buffers that are close to minimum size or use deep
buffers, and rely on a double-buffering sleep strategy to fill.
Enabled by default. Disabled by setting af.thread.throttle 0
Bug: 19062223
Bug: 21198655
Change-Id: Ia52b48e0c99588af5db53c43fede2afd775b8899
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I08553f0e94d0a0931ccf98ee04f53686b96c8b03
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add suffix to clarify units for the following variables:
standbyTime -> mStandbyTimeNs
standbyDelay -> mStandbyDelayNs
activeSleepTime -> mActiveSleepTimeUs
idleSleepTime -> mIdleSleepTimeUs
sleepTime -> mSleepTimeUs
Change-Id: I7f5d602c39e0ef3f6fe9ef99eaf1b351c7bd4fc3
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a direct output supports pause, pause the stream
instead of placing it into standby when the audio track
underruns. This will avoid resetting the presented frame count
and preserve A/V sync.
Bug: 21437855.
Change-Id: I598346edb62a1864126acdb1d9a937c82eac2191
|
|\ \
| | |
| | |
| | | |
mnc-dev
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Wait for system ready indication form AudioService before enabling
calls to scheduling service or power manager.
Bug: 11520969.
Change-Id: I221927394f4a08fd86c9d457e55dd0e07949f0cf
|
|\ \ |
|
| |/
| |
| |
| | |
Change-Id: Ia1a3124e6408859bf4d95ff9fd95dda6970a4a7f
|
|/
|
|
| |
Change-Id: Iba5ccd1885775b14c44342c7b169a0672b93549b
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I0a83206be51d7ae18ccf85b94b2127356307be69
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is a bug in the offload driver that causes the last offload buffer(s)
to be dropped unless the device is on power or holding a wake lock.
To avoid truncated playback, we now hold a wake lock during the drain phase
of offloaded playback.
Bug: 19928717
Change-Id: I8df22e965ec791448aa5d9b74e743f48ef886fc4
|
|\ \ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | | |
Change-Id: I738d4975188695e568015e1bc64d160550e958f5
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clear output stream pointer in duplicating thread
when the main output to which it is attached is closed.
Also do not forward master mute and volume commands to
duplicating threads as this is not applicable.
Also fix logic in AudioFlinger::primaryPlaybackThread_l()
that could accidentally return a duplicating thread.
This never happens because the primary thread is always
first in the list.
Bug: 20731946.
Change-Id: Ic8869699836920351b23d09544c50a258d3fb585
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add class AudioSystem::AudioDeviceCallback notifying
AudioSystem clients upon device selection change on a given
input or output thread.
Maintain a list of installed callback per I/O handle in AudioSystem
and call registered callbacks when an OPEN of CONFIG_CHANGED event
is received on IAudioFlingerClient::ioConfigChanged().
Add methods to AudioTrack and AudioRecord to add and remove device
change callbacks.
Add methods to AudioTrack and AudioRecord to query currently selected
device.
ioConfigChanged() events now convey the audio patch describing
the input or output thread routing.
Fix AudioRecord failure to start when invalidation is
handled by start().
Change-Id: I9e938adf025fa712337c63b1e02a8c18f2a20d39
|