Commit Graph

460 Commits

Author SHA1 Message Date
Mathias Agopian
8a77baaa11 don't emit GL commands when sf is in freeze mode
We were emitting GL commands, calling composition complete and releasing clients
without ever calling eglSwapBuffers(), which is completely wrong on non-direct
renders. This could cause transient drawing artifacts when unfreezing the
screen (upon orientaion change for instance) and could also block the clients
for ever as they are waiting for their previous buffer to be rendered.
2009-09-27 22:47:32 -07:00
Android (Google) Code Review
ff5054c81e Merge change 27375 into eclair
* changes:
  Allways dump the list of allocated buffers when an allocation fails.
2009-09-27 21:47:29 -04:00
Mathias Agopian
737e786acf Allways dump the list of allocated buffers when an allocation fails.
Hopefully this will help us understand cases of failures such as [2148405]
2009-09-27 18:44:09 -07:00
Doug Zongker
a4f58892d4 fix "pacakge" typo in error log message 2009-09-27 17:03:12 -07:00
Wu-cheng Li
cc6ce203be Add camera parameter key constants and documentation. 2009-09-25 14:23:56 -07:00
Mathias Agopian
95a666b0e0 minor SurfaceFlinger code cleanup and remove unnecessary tests 2009-09-24 14:57:26 -07:00
Christopher Tate
6e472890ef Clear the device's data from the transport when backup is disabled
Turning off backup in the Settings UI constitutes an opt-out of the whole
mechanism.  For privacy reasons we instruct the backend to wipe all of the data
belonging to this device when the user does this.  If the attempt fails it is
rescheduled in the future based on the transport's requestBackupTime()
suggestion.  If network connectivity changes prompt the transport to indicate a
backup pass is appropriate "now," any pending init operation is processed before
the backup schedule is resumed.

The broadcasts used internally to the backup manager are now fully protected;
third party apps can neither send nor receive them.

(Also a minor logging change; don't log 'appropriate' EOF encountered during
parsing of a backup data stream.)
2009-09-24 11:19:04 -07:00
Mathias Agopian
401c257fba turn dithering off if it's not needed 2009-09-23 19:16:27 -07:00
Mathias Agopian
a2fe0a234b fix [2142193] disable GL_LINEAR when not needed 2009-09-23 18:55:02 -07:00
Mathias Agopian
8c0a3d75c8 fix [2133214] STOPSHIP: revert I4a06bb4f: workaround for [2113743] Sholes: frozen then runtime restart going to list view
Revert "workaround for [2113743] Sholes: frozen then runtime restart going to list view"

This reverts commit 4a06bb4f3355b0ef2b76aa883704da9d154c44ae.
2009-09-23 16:59:57 -07:00
Mathias Agopian
dd3423c624 fix [2132563] stuck in boot animation (framebuffer_device_open: Failed to create flip chain) 2009-09-23 15:49:32 -07:00
Android (Google) Code Review
953eb137bc Merge change 26623 into eclair
* changes:
  fbDev wasn't initialized of hw_get_module failed, but was then used anyway.
2009-09-23 15:02:49 -04:00
Marco Nelissen
a455793a8d fbDev wasn't initialized of hw_get_module failed, but was then used anyway. 2009-09-23 10:56:51 -07:00
Eric Laurent
aef692f50f Fix issue 2116700: Ringer screwy while connected over Bluetooth.
There was a regression introduced in AudioFlinger by change 24114 for suspended output:
The suspended output was not reading and mixing audio tracks.
When the phone is ringing, the A2DP output is suspended if the SCO headset and A2DP headset are the same. As the ringtone is played over the duplicated output, the fact that the A2DP output was not reading data was causing the hardware output to be stalled from time to time.
2009-09-22 00:35:48 -07:00
Andy McFadden
2944a2b360 Work around gcc 4.0.3 bug.
This appears to fix the sim-eng build on the gDapper build machines.

Basic problem is that LayerBuffer::OverlaySource has a constructor that
calls SurfaceFlinger.signalEvent().  SurfaceFlinger lists LayerBuffer
as a friend, but that's not enough to convince gcc that the embedded
OverlaySource class is also a friend.  I don't see a way to make them
friendly, so I marked signalEvent() as public.
2009-09-21 14:33:20 -07:00
Android (Google) Code Review
a69a8eeb20 Merge change 26081 into eclair
* changes:
  workaround for [2113743] Sholes: frozen then runtime restart going to list view
2009-09-20 20:12:30 -04:00
Mathias Agopian
1f0ffc46fd workaround for [2113743] Sholes: frozen then runtime restart going to list view 2009-09-20 17:08:45 -07:00
Dianne Hackborn
cfbb735f84 Fix issue #1862317: Browser does not appear to honor anchors (#es) in links
Also a little improved debugging output of bad resource identifiers.

Change-Id: I054064ef22855608ffd722e4ccf12ce57d1992b2
2009-09-20 12:40:03 -07:00
Android (Google) Code Review
5cfbb8dd1c Merge change 25496 into eclair
* changes:
  Fix issue 2127371: Possible race condition in AudioFlinger::openRecord() when a Track is being destroyed.
2009-09-18 02:55:00 -04:00
Mathias Agopian
6d9f69843b fix [2129080] Soft reboot after clicking around and then rubbing the screen 2009-09-17 19:23:59 -07:00
Mathias Agopian
74faca212e Android side of the fix for [2121211] Sholes has stutter during animations
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
2009-09-17 16:18:16 -07:00
Eric Laurent
0f8ab670c0 Fix issue 2127371: Possible race condition in AudioFlinger::openRecord() 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.
2009-09-17 09:26:04 -07:00
Mathias Agopian
86f7329080 add basic time stats for surfaces lock time 2009-09-17 01:35:28 -07:00
Benny Wong
5643261a25 Overlay could not set position or rotation immediately after created, it should be triggered by signalEvent().
Originally from: https://partner.source.android.com/g/#change,1074
2009-09-16 20:24:21 -07:00
Mathias Agopian
0928bee979 disable backbuffer preservation when possible, which may improve performance a bit 2009-09-16 20:15:42 -07:00
Mathias Agopian
caa600c4a1 fix [2119400] sholes: artifacting when switching orientation 2009-09-16 18:27:24 -07:00
Mathias Agopian
378532fdb0 fix again [2102410] Home Screen is not displayed in the background in Landscape Mode 2009-09-16 17:00:19 -07:00
Eric Laurent
bdc0f84793 Fix issue 2123668: Class scope typo in AudioFlinger.cpp. 2009-09-16 06:02:45 -07:00
Mathias Agopian
b8cfc0f9e1 revert to black video background, since we don't need the color-key anylonger 2009-09-15 19:31:28 -07:00
Mathias Agopian
68a6afeb26 fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer
Take 2. We needed to check that the usage flags are "good enough" as opposed to "the same".

This reverts commit 8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6.
2009-09-15 19:21:31 -07:00
Mathias Agopian
3910f5467a Revert "fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer"
This reverts commit 486aa963b63e20b7910e1004cebb4f0afabbd80f.
2009-09-15 18:57:06 -07:00
Mathias Agopian
d18afab9d6 fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer 2009-09-15 17:34:04 -07:00
Android (Google) Code Review
e5b0c94708 Merge change 25050 into eclair
* changes:
  Fix issue 2118464: cannot play ring tones and notifications after disconnecting BT headset while in call.
2009-09-15 11:29:23 -04:00
Eric Laurent
b3687ae925 Fix issue 2118464: cannot play ring tones and notifications after 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.
2009-09-15 07:10:12 -07:00
Chih-Chung Chang
00900eb354 Fix 2083478: Camera needs an auto-focus cancel API
Change-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2
2009-09-15 18:29:03 +08:00
Android (Google) Code Review
f5733b2938 Merge change 24872 into eclair
* changes:
  Fix issue 2115450: a2dp thread is started, even though we are only connected to headset and not playing music.
2009-09-15 02:26:19 -04:00
Mathias Agopian
816d7d0268 add support for RGBX_8888 surfaces in SurfaceFlinger 2009-09-14 18:10:30 -07:00
Mathias Agopian
4790a3c1a2 fix [2117464] SF can crash when calling dumpsys 2009-09-14 15:59:16 -07:00
Mathias Agopian
c7d5601081 make sure to update the tail pointer when undoing a dequeue 2009-09-14 15:48:42 -07:00
Eric Laurent
a6e58fe316 Fix issue 2115450: a2dp thread is started, even though we are only connected 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.
2009-09-14 02:37:15 -07:00
Android (Google) Code Review
f79cbd93e6 Merge change 24337 into eclair
* changes:
  Fix issue 2107584: media server crash when AudioFlinger fails to allocate memory for track control block.
2009-09-14 02:43:52 -04:00
Mathias Agopian
40d5799622 fix [2111536] [FAST BLOCKER] Device is soft rebooted after ending the call through voice dialer 2009-09-11 19:18:20 -07:00
Mathias Agopian
48d819a131 fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymore
this also fixes part of [2111536] Device is soft rebooted after ending the call through voice dialer
2009-09-10 19:41:18 -07:00
Mathias Agopian
b58b5d72d6 make sure conditions will return when the status of a surface is not NO_ERROR 2009-09-10 16:55:13 -07:00
Mathias Agopian
a5b02e0b4d add a debug property to disable h/w composition. debug.sf.hw, when set to 0 will disable h/w composition 2009-09-09 19:20:10 -07:00
Mathias Agopian
b6a5daa3ab fix [2102410] Home Screen is not displayed in the background in Landscape Mode
the blurring code now handles NPOT textures.
2009-09-09 17:47:15 -07:00
Andy McFadden
e0a963b72e Fix sim-eng build.
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.
2009-09-09 08:02:54 -07:00
Eric Laurent
6ad8c64ce9 Fix issue 2107584: media server crash when AudioFlinger fails to allocate 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.
2009-09-09 05:16:08 -07:00
Android (Google) Code Review
1f5105cf53 Merge change 24335 into eclair
* changes:
  use broadcast() instead of signal() when signaling the condition-variable Thread::RequestExitAndWait() is waiting for
2009-09-09 03:29:19 -07:00
Android (Google) Code Review
42c3c9a8d1 Merge change 24334 into eclair
* changes:
  fix [2037525] Fail to start camera after adb sync new Camera
2009-09-09 03:29:08 -07:00