| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
when a Track is being destroyed.
The fix consists in locking AudioFlinger::mLock mutex in the TrackBase destructor before clearing the strong pointer to the shared memory client. The mutex is not locked in removeclient() any more which implies that we must make sure that the Client destructor is always called from the TrackBase destructor or that we hold the mLock mutex before calling deleting the Client.
|
| | |
|
| |
| |
| |
| | |
a new method, compostionComplete() is added to the framebuffer hal, it is used by surfaceflinger to signal the driver that the composition is complete, BEFORE it releases its client. This gives a chance to the driver to
|
|/ |
|
|
|
|
|
|
| |
should be triggered by signalEvent().
Originally from: https://partner.source.android.com/g/#change,1074
|
|
|
|
| |
a bit
|
|\
| |
| |
| |
| | |
* changes:
fix [2119400] sholes: artifacting when switching orientation
|
| | |
|
|\ \
| |/
| |
| |
| | |
* changes:
fix again [2102410] Home Screen is not displayed in the background in Landscape Mode
|
| |
| |
| |
| | |
Landscape Mode
|
|\ \
| |/
|/|
| |
| | |
* changes:
Implement renderscript Invokables.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
buffer
Take 2. We needed to check that the usage flags are "good enough" as opposed to "the same".
This reverts commit 8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6.
|
| |
| |
| |
| |
| |
| | |
the first buffer"
This reverts commit 486aa963b63e20b7910e1004cebb4f0afabbd80f.
|
|/
|
|
| |
buffer
|
|\
| |
| |
| |
| | |
* changes:
Fix issue 2118464: cannot play ring tones and notifications after disconnecting BT headset while in call.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
disconnecting BT headset while in call.
The problem comes from the fact that when the duplicated output is closed after BT headset disconnection, the OUTPUT_CLOSED notification is not sent to AudioSystem. Then the mapping between notification stream and duplicated output cached in AudioSystem is not cleared and next time a notification is played, the duplicated output is selected and the createTrack() request is refused by AudioFlinger as the selected output doesn't exist.
The notification is ignored by AudioFlinger because when it is sent by the terminating playback thread, the thread has already been removed from the playback thread list.
The fix consists in sending the notification in closeOutput() and not when exiting the playback thread.
The same fix is applied to record threads.
|
|/
|
|
| |
Change-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2
|
|\
| |
| |
| |
| | |
* changes:
Fix issue 2115450: a2dp thread is started, even though we are only connected to headset and not playing music.
|
| |
| |
| |
| |
| |
| |
| | |
to headset and not playing music.
This is due to a regression introduced by change 24114: when no audio tracks are ready for mixing, 0s are written to audio hardware. However this should only happen if tracks have already been mixed since the audio flinger thread woke up.
Also do not write 0s to audio hardware in direct output threads when audio format is not linear PCM.
|
|\ \
| | |
| | |
| | |
| | | |
* changes:
add support for RGBX_8888 surfaces in SurfaceFlinger
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
* changes:
Minor perf tweak for fountain.
|
| |/ |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
* changes:
Fix issue 2107584: media server crash when AudioFlinger fails to allocate memory for track control block.
|
| |
| |
| |
| |
| |
| |
| |
| | |
memory for track control block.
AudioFlinger: verify that mCblk is not null before using it in Track and RecordTrack contructors.
IAudioFlinger: check result of remote transaction before reading IAudioTrack and IAudioRecord.
IAudioTrack and IAudioRecord: check result of remote transaction before reading IMemory.
|
| |
| |
| |
| | |
through voice dialer
|
| |
| |
| |
| | |
this also fixes part of [2111536] Device is soft rebooted after ending the call through voice dialer
|
| | |
|
| |
| |
| |
| | |
will disable h/w composition
|
| |
| |
| |
| | |
the blurring code now handles NPOT textures.
|
| |
| |
| |
| | |
Change-Id: I0e40f2aa4b51f9e9cdbe14d178491b3667662023
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Appears to have been broken by:
commit 9779b221e999583ff89e0dfc40e56398737adbb3
Author: Mathias Agopian <mathias@google.com>
Date: Mon Sep 7 16:32:45 2009 -0700
fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly
For some reason we don't like to have "-lpthread" globally -- it's a no-op
on device builds, but required for many host tools and all sim binaries --
so adding the use of pthread calls requires adding the library explicitly.
|
|\ \
| | |
| | |
| | |
| | | |
* changes:
use broadcast() instead of signal() when signaling the condition-variable Thread::RequestExitAndWait() is waiting for
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Thread::RequestExitAndWait() is waiting for
we could have several thread waiting on the condition and they all need to wake-up.
also added a debug "mTid" field in the class, which contains the tid of the thread (as opposed to pthread_t), this
is useful when debugging under gdb for instance.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* changes:
fix [2037525] Fail to start camera after adb sync new Camera
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
we ended-up locking a Mutex that had been destroyed.
This happened because we gave an sp<Source> to the outside world,
and were called after LayerBuffer had been destroyed.
Instead we now give a wp<LayerBuffer> to the outside and have it
do the destruction.
|
|\ \ \
| |/ /
| | /
| |/
|/| |
* changes:
rename Mutexes to make the code easier to follow
|
| | |
|
|/
|
|
|
| |
Add a parameter to ToneGenerator.startTone() allowing the caller to specify the tone duration. This is used by the phone application to have a precise control on the DTMF tone duration which was not possible with the use of delayed messaged.
Also modified AudioFlinger output threads so that 0s are written to the audio output stream when no more tracks are ready to mix instead of just sleeping. This avoids an issue where the end of a previous DTMF tone could stay in audio hardware buffers and be played just before the beginning of the next DTMF tone.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rewrote SurfaceFlinger's buffer management from the ground-up.
The design now support an arbitrary number of buffers per surface, however the current implementation is limited to four. Currently only 2 buffers are used in practice.
The main new feature is to be able to dequeue all buffers at once (very important when there are only two).
A client can dequeue all buffers until there are none available, it can lock all buffers except the last one that is used for composition. The client will block then, until a new buffer is enqueued.
The current implementation requires that buffers are locked in the same order they are dequeued and enqueued in the same order they are locked. Only one buffer can be locked at a time.
eg. Allowed sequence: DQ, DQ, LOCK, Q, LOCK, Q
eg. Forbidden sequence: DQ, DQ, LOCK, LOCK, Q, Q
|
| |
|
|\
| |
| |
| |
| | |
* changes:
Minor perf improvement to fall and expand use of struct.
|
| | |
|
|\ \
| |/
| |
| |
| | |
* changes:
checkpoint
|