summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Fix issues 2333450 and 2333559:Eric Laurent2009-12-221-1/+2
| | | | | | Add new config values to AudioSystem::FOR_DOCK force usage to differenciate car and desk docks. Use a receiver for the sticky Intent.ACTION_DOCK_EVENT in AudioService to detect the type of dock and select force usage accordingly.
* Partially fix bug 2111240 Detect docking / undocking event by reportingJean-Michel Trivi2009-12-071-0/+2
| | | | | | | to the AudioPolicyManager a new forced usage AudioSystem::FOR_DOCK which can take the FORCE_NONE, FORCE_BT_DOCK or FORCE_WIRED_ACCESSORY values. This CL is complemented by an update of the APM to take into account the FOR_DOCK usage.
* Merge change I49f02be9 into eclairAndroid (Google) Code Review2009-11-211-3/+4
|\ | | | | | | | | * changes: Issue 2265163: Audio still reported routed through earpiece on sholes
| * Issue 2265163: Audio still reported routed through earpiece on sholesEric Laurent2009-11-191-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a second attempt to fix the audio routed to earpiece syndrom. The root cause identified this time is the crash of an application having an active AudioTrack playing on the VOICE_CALL stream type. When this happens, the AudioTrack destructor is not called and the audio policy manager is not notified of the track stop. Results a situation where the VOICE_CALL stream is considered as always in use by audio policy manager which makes that audio is routed to earpiece. The fix consists in moving the track start/stop/close notification to audio policiy manager from AudioTrack to AudioFlinger Track objet. The net result is that in the case of a client application crash, the AudioFlinger TrackHandle object (which implements the remote side of the IAudioTrack binder interface) destructor is called which in turn destroys the Track object and we can notify the audio policy manager of the track stop and removal. The same modification is made for AudioRecord although no bug related to record has been reported yet. Also fixed a potential problem if record stop is called while the record thread is exiting.
* | DO NOT MERGE: Instead of inserting semi-random delays after submission to ↵Andreas Huber2009-11-191-1/+3
|/ | | | surface flinger, delay releasing buffers to the next display time to avoid flickering.
* fix some aspects of [2258746] native crash in launcher2Mathias Agopian2009-11-131-2/+2
| | | | | | Surface::validate() could sometimes dereference a null pointer before checking it wasn't null. This will prevent the application to crash when given bad parameters or used incorrectly. However, the bug above probably has another cause.
* Merge change I923d7d72 into eclairAndroid (Google) Code Review2009-11-121-5/+1
|\ | | | | | | | | * changes: Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
| * Fix issue 2242614: Wired headset not recognized: bogus "state" in ↵Eric Laurent2009-11-121-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | ACTION_HEADSET_PLUG broadcast. The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected. Modified HeadsetObserver to broacast a state conforming to java doc. Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not. Removed handling of non standard headset indications from HeadsetObserver. Removed platform specific devices from output devices defined in AudioSystem. Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
* | Delegate the platform dependent hardware renderer implementation to a shared ↵Andreas Huber2009-11-123-116/+35
|/ | | | library provided by the vendor.
* DO NOT MERGE: Squashed commit of the following:Andreas Huber2009-11-054-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 08259dd3dc9026887f9bbfedaf45866eb56ea9bc Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 12:02:31 2009 -0800 DO NOT MERGE: Use PV for metadata extraction even if stagefright is used for playback. commit 991832fe4dc012e51d3d9ed8d647c7f09991858f Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 11:24:11 2009 -0800 DO NOT MERGE: Do not assert if we encounter OMX_StateInvalid. All bets are off though. commit cec45cf302d9218fe79956cbe8a462d7ca3a10bb Author: Andreas Huber <andih@google.com> Date: Mon Oct 26 16:11:54 2009 -0700 DO NOT MERGE: When freeing an OMX node, attempt to transition it from its current state all the way to "Loaded" in order to properly free any allocated buffers. commit 34a1e885ef9113d68acbc26d36fcc47fdebbed84 Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 11:10:49 2009 -0800 DO NOT MERGE: Fix heap corruptin in OMXNodeInstance. commit 5a47f7439a1298b330541a7e4e647a8b44487388 Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 11:08:19 2009 -0800 DO NOT MERGE: Fix seek-on-initial-read behaviour of OMXCodec. commit 45bed64722501b9f411a2940aff5aff4cc4d2e98 Author: Andreas Huber <andih@google.com> Date: Thu Nov 5 11:02:23 2009 -0800 DO NOT MERGE: Renaming string.h to stagefright_string.h to avoid conflicts. commit 6738e306a50196f31a73d4fc7b7c45faff639903 Author: Andreas Huber <andih@google.com> Date: Thu Oct 15 13:46:54 2009 -0700 DO NOT MERGE: Reimplement the OMX backend for stagefright. Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup. Changed APIs to conform to the rest of the system.
* Merge change I93f500a5 into eclairAndroid (Google) Code Review2009-11-053-1/+16
|\ | | | | | | | | * changes: Fix issue 2203561: Sholes: audio playing out of earpiece.
| * Fix issue 2203561: Sholes: audio playing out of earpiece.Eric Laurent2009-11-043-1/+16
| | | | | | | | | | | | | | | | | | | | | | Create a new IAudioTrack interface to AudioFlinger when start() fails due to a broken pipe error. Do the same if start fails due to the same error after time out in obtainBuffer(). Do not indicate that the AudioTrack is started to AudioPolicyManager if IAudioTrack start fails. This avoids that an AudioTrack keeps a dead IAudioTrack after a media server crash. Same modifications for AudioRecord. Add a flag to ToneGenerator indicating that the callback thread can call Java. Without it, when the media server crashes and restarts, the AudioSystem error callback will crash in JNI if the IAudiotrack is created from AudioTrack callback thread.
* | Add new audio sources to support the A1026 recording configurations.Jean-Michel Trivi2009-11-031-1/+2
|/
* Merge change I36d0184e into eclairAndroid (Google) Code Review2009-11-022-1/+5
|\ | | | | | | | | * changes: fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
| * fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts ↵Mathias Agopian2009-11-022-1/+5
| | | | | | | | | | | | | | | | when playing back video we lost the concept of vertical stride when moving video playback to EGLImage. Here we bring it back in a somewhat hacky-way that will work only for the softgl/mdp backend.
* | Merge change Ibaef6141 into eclairAndroid (Google) Code Review2009-11-021-1/+2
|\ \ | | | | | | | | | | | | * changes: libbinder: add a NO_CACHING flag to MemoryHeapBase
| * | libbinder: add a NO_CACHING flag to MemoryHeapBaseIliyan Malchev2009-10-301-1/+2
| | | | | | | | | | | | | | | | | | The NO_CACHING flag translates to opening a memory region with O_SYNC. Signed-off-by: Iliyan Malchev <malchev@google.com>
* | | Merge change I73680cd9 into eclairAndroid (Google) Code Review2009-11-022-2/+4
|\ \ \ | |_|/ |/| | | | | | | | * changes: Fix 2194140: [Passion] Support Audience chip.
| * | Fix 2194140: [Passion] Support Audience chip.Eric Laurent2009-11-022-2/+4
| |/ | | | | | | | | Added new input device DEVICE_IN_BACK_MIC. Added new audio source AUDIO_SOURCE_CAMCORDER.
* | Fix issue #2226370: Resource versions match with equalityDianne Hackborn2009-11-011-2/+2
|/ | | | | | Also fixed turned-around increment of version number for resources. :( Change-Id: I604137272da984bcd69cee4f174e6b7f2c786e46
* Use image rect information to display zoomed picture.Wu-cheng Li2009-10-291-0/+9
|
* fix [2143798] Need to figure out how to do videoMathias Agopian2009-10-271-2/+12
| | | | | | | | | Use EGLImageKHR instead of copybit directly. We now have the basis to use streaming YUV textures (well, in fact we already are). When/if we use the GPU instead of the MDP we'll need to make sure it supports the appropriate YUV format. Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
* Fix issue 2192181: AudioFlinger must provide separated methods to set ↵Eric Laurent2009-10-212-2/+5
| | | | | | | VOICE_CALL stream volume and down link audio volume. Added setVoiceVolume() method to AudioSystem, AudioFlinger, IAudioFlinger, AudioPolicyService. Removed call to AudioHardwareInterface::setVoiceVolume() from AudioFlinger::setStreamVolume().
* do not merge: The qcom video decoders always output yuv data after adjusting ↵Andreas Huber2009-10-201-0/+1
| | | | | | dimensions to be a multiple of 16. Add a quirk mode to OMXCodec that makes it aware of this fact for proper display. Also integrate back a change from eclair-mr2 that delays releasing an output buffer briefly after posting it to surface flinger, as we don't know how long it'll take it to actually display the buffer's content.
* fix [2182249] [MR1] valgrind error in surface flingerMathias Agopian2009-10-151-6/+9
|
* fix [2170319] gmail bulk operation checkbox latency on passionMathias Agopian2009-10-073-49/+2
| | | | | | | | | | | | | | | This also fixes [2152536] ANR in browser When SF is enqueuing buffers faster than SF dequeues them. The update flag in SF is not counted and under some situations SF will only dequeue the first buffer. The state at this point is not technically corrupted, it's valid, but just delayed by one buffer. In the case of the Browser ANR, because the last enqueued buffer was delayed the resizing of the current buffer couldn't happen. The system would always fall back onto its feet if anything -else- in tried to draw, because the "late" buffer would be picked up then.
* Merge change I4961c959 into eclairAndroid (Google) Code Review2009-10-061-7/+13
|\ | | | | | | | | * changes: fix [2152536] ANR in browser
| * fix [2152536] ANR in browserMathias Agopian2009-10-061-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A window is created and the browser is about to render into it the very first time, at that point it does an IPC to SF to request a new buffer. Meanwhile, the window manager removes that window from the list and the shared memory block it uses is marked as invalid. However, at that point, another window is created and is given the same index (that just go freed), but a different identity and resets the "invalid" bit in the shared block. When we go back to the buffer allocation code, we're stuck because the surface we're allocating for is gone and we don't detect it's invalid because the invalid bit has been reset. It is not sufficient to check for the invalid bit, I should also check that identities match.
* | Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too ↵Eric Laurent2009-10-061-0/+1
|/ | | | | | | | | | high). This change is a complement to the main fix in kernel driver for the same issue (partner change #1250). It removes clicks sometimes heard after the end of the tones while audio flinger is sending 0s to the audio output stream. The problem was that the sleep time between two writes was more than the duration of one audio output stream buffer which could cause some underrun. Also fixed a recent regression in ToneGenerator that made that the end of previous tone was repeated at the beginning of current one under certain timing circumstances when the maximum tone duration was specified.
* fix [2168531] have software-only gralloc buffer side-step the HALMathias Agopian2009-10-061-0/+83
|
* fix [2167050] glTexImage2D code path buggy in SurfaceFlingerMathias Agopian2009-10-068-141/+297
| | | | | | | | | | | | | | When EGLImage extension is not available, SurfaceFlinger will fallback to using glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an extra copy. However this code path has never been exercised and had some bugs which this patch fix. Mainly the scale factor wasn't computed right when falling back on glDrawElements. We also fallback to this mode of operation if a buffer doesn't have the adequate usage bits for EGLImage usage. This changes only code that is currently not executed. Some refactoring was needed to keep the change clean. This doesn't change anything functionaly.
* Add zoom functions and sendCommand.Wu-cheng Li2009-10-063-2/+19
| | | | b2060030
* Music visualizer support hack.Marco Nelissen2009-10-062-0/+5
| | | | This currently assumes 44k stereo (won't crash on other formats, but won't give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.
* Attempt to fix [2152536] ANR in browserMathias Agopian2009-10-021-7/+9
| | | | | | | | | | | The ANR is caused by SurfaceFlinger waiting for buffers of a removed surface to become availlable. When it is removed from the current list, a Surface is marked as NO_INIT, which causes SF to return immediately in the above case. For some reason, the surface here wasn't marked as NO_INIT. This change makes the code more robust by always (irregadless or errors) setting the NO_INIT status in all code paths where a surface is removed from the list. Additionaly added more information in the logs, should this happen again.
* Change FLASH_MODE_VIDEO_LIGHT to FLASH_MODE_TORCH.Wu-cheng Li2009-09-281-5/+7
|
* Add camera parameter key constants and documentation.Wu-cheng Li2009-09-251-1/+193
|
* Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes ↵Eric Laurent2009-09-241-1/+2
| | | | | | | | | | or over A2DP. When the AudioTrack callback notification size is relatively high (Which is the case on Sholes and over A2DP), it is likely that the end of tone is reached during the first callback. In this case, the AudioTrack is stopped before exiting the callback which causes 2 problems: - 1: If the AudioFlinger thread is scheduled before we exit the ToneGenerator callback, the track can be stopped and reset before the data is actually marked as present in the buffer by the AudioTrack callback => no audio will be processed by AudioFlinger. - 2: In this case, the data write index in the AudioTrack buffer is incremented after the track was reset by the AudioFlinger which leaves unplayed data in the buffer. This data will be played the next time the AudioTrack is started if not flushed in between. The fix consists in adding an intermediate state to ToneGenerator state machine so that we exit the callback function when the stop condition is reached and stop the AudioTrack the next time we execute the callback.
* fix [2132563] stuck in boot animation (framebuffer_device_open: Failed to ↵Mathias Agopian2009-09-231-0/+4
| | | | create flip chain)
* Android side of the fix for [2121211] Sholes has stutter during animationsMathias Agopian2009-09-171-0/+1
| | | | 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
* add basic time stats for surfaces lock timeMathias Agopian2009-09-171-8/+20
|
* Merge change 25158 into eclairAndroid (Google) Code Review2009-09-161-0/+1
|\ | | | | | | | | * changes: Another software color conversion implementation, this time OMX_QCOM_COLOR_FormatYVU420SemiPlanar => rgb565.
| * Another software color conversion implementation, this time ↵Andreas Huber2009-09-151-0/+1
| | | | | | | | OMX_QCOM_COLOR_FormatYVU420SemiPlanar => rgb565.
* | Implement issue #1780928: Need support hiding nav keys.Dianne Hackborn2009-09-151-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | This implements support for devices whose hardware can hide their navigation keys. It works much like the existing keyboardHidden configuration, and for compatibility uses the same configuration change bit. Also add FLAG_TURN_ON_SCREEN for windows, which has the system cause the screen to be turned on when the window is displayed. Great fun when used with FLAG_SHOW_WHEN_LOCKED! Change-Id: I0b867f19af85cfd8786a14cea194b34f7bdd9b7a
* | fix [2122448] android_native_window_t::setUsage() only reallocates the first ↵Mathias Agopian2009-09-151-2/+1
| | | | | | | | | | | | | | | | buffer Take 2. We needed to check that the usage flags are "good enough" as opposed to "the same". This reverts commit 8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6.
* | Revert "fix [2122448] android_native_window_t::setUsage() only reallocates ↵Mathias Agopian2009-09-151-1/+2
| | | | | | | | | | | | the first buffer" This reverts commit 486aa963b63e20b7910e1004cebb4f0afabbd80f.
* | fix [2122448] android_native_window_t::setUsage() only reallocates the first ↵Mathias Agopian2009-09-151-2/+1
|/ | | | buffer
* Merge change 25128 into eclairAndroid (Google) Code Review2009-09-151-0/+10
|\ | | | | | | | | * changes: Support CbYCrY -> RGB565 color conversion in IOMXRenderer.
| * Support CbYCrY -> RGB565 color conversion in IOMXRenderer.Andreas Huber2009-09-151-0/+10
| |
* | Added an API IOMX::createRendererFromJavaSurface.Andreas Huber2009-09-151-2/+11
|/ | | | This api allows to instantiate a renderer by specifying the hosting java Surface object. This hides the implementation details of (java-)Surface, (native-)Surface and friends.
* Fix 2083478: Camera needs an auto-focus cancel APIChih-Chung Chang2009-09-153-0/+14
| | | | Change-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2