summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Dump media recorder PID in dumpsys media.player, and fix minor bugs.Gloria Wang2009-10-294-3/+33
|
* Merge change I7c0d20a7 into eclairAndroid (Google) Code Review2009-10-262-0/+37
|\ | | | | | | | | * changes: Run the metadataretriever at background priority. Bug 2187133.
| * Run the metadataretriever at background priority. Bug 2187133.Dave Sparks2009-10-262-0/+37
| | | | | | | | | | | | This change forces metadata retreiver threads to background priority. Uses an inner class to encapsulate the priority change so that it automatically restores priority when returning to the client.
* | Revert "Now that the underlying bug is fixed we can continue using ↵Andreas Huber2009-10-261-0/+1
|/ | | | | | OMX_UseBuffer for this decoder's input buffers." This reverts commit 7a03b074a554ba3fd08dbc20cfd4b2f37c5f3aaa.
* Merge change Icf10db28 into eclairAndroid (Google) Code Review2009-10-244-3/+29
|\ | | | | | | | | * changes: Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
| * Fix issue 2192181: AudioFlinger must provide separated methods to set ↵Eric Laurent2009-10-214-3/+29
| | | | | | | | | | | | | | 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().
* | Fix 2209967 Tonegenerator: mutex not release in startTone() upon timeout ↵Eric Laurent2009-10-231-4/+6
| | | | | | | | | | | | | | waiting for the stop sequence to complete. Unlock mLock mutex when exiting upon wait stop timeout condition. Increase timeout delays to avoid timing out when A2DP exits standby.
* | Now that the underlying bug is fixed we can continue using OMX_UseBuffer for ↵Andreas Huber2009-10-211-1/+0
|/ | | | this decoder's input buffers.
* do not merge: The qcom video decoders always output yuv data after adjusting ↵Andreas Huber2009-10-203-1/+9
| | | | | | 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.
* Merge change I11ebbfd9 into eclairAndroid (Google) Code Review2009-10-161-10/+29
|\ | | | | | | | | * changes: A few more testcases for the vendor to reproduce issues with their decoder. Not part of the shipping image.
| * A few more testcases for the vendor to reproduce issues with their decoder. ↵Andreas Huber2009-10-161-10/+29
| | | | | | | | Not part of the shipping image.
* | fix [2182249] [MR1] valgrind error in surface flingerMathias Agopian2009-10-151-6/+9
|/
* fix [2170319] gmail bulk operation checkbox latency on passionMathias Agopian2009-10-072-48/+1
| | | | | | | | | | | | | | | 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-062-11/+24
|/ | | | | | | | | | 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-062-127/+1
| | | | | | | | | | | | | | 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.
* Music visualizer support hack.Marco Nelissen2009-10-067-4/+225
| | | | 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.
* Remove audio latency fudge factor 96 msec.Jianhong Jiang2009-09-291-1/+1
|
* Fix some metadata retriever issues:James Dong2009-09-292-24/+27
| | | | | | 1. mRetriever was initialized twice: one in the constructor and the other in the setDataSource 2. cached the mode so that setMode can still be called before setDataSource. mRetriever won't be initialized until data source is set; thus we have to do this
* Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes ↵Eric Laurent2009-09-242-9/+21
| | | | | | | | | | 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.
* Merge change 25528 into eclairAndroid (Google) Code Review2009-09-172-0/+67
|\ | | | | | | | | * changes: Another stagefright test-case and ignore end-of-stream notifications while we're flushing.
| * Another stagefright test-case and ignore end-of-stream notifications while ↵Andreas Huber2009-09-172-0/+67
| | | | | | | | we're flushing.
* | add basic time stats for surfaces lock timeMathias Agopian2009-09-171-8/+20
|/
* Merge change 25158 into eclairAndroid (Google) Code Review2009-09-162-0/+76
|\ | | | | | | | | * changes: Another software color conversion implementation, this time OMX_QCOM_COLOR_FormatYVU420SemiPlanar => rgb565.
| * Another software color conversion implementation, this time ↵Andreas Huber2009-09-152-0/+76
| | | | | | | | OMX_QCOM_COLOR_FormatYVU420SemiPlanar => rgb565.
* | The 8k chipset qcom decoders require that the input buffers be allocated ↵Andreas Huber2009-09-151-0/+1
|/ | | | | | using OMX_AllocateBuffer rather than OMX_UseBuffer for now. If they aren't, a later call to OMX_FreeBuffer crashes...
* Merge change 25128 into eclairAndroid (Google) Code Review2009-09-153-15/+111
|\ | | | | | | | | * changes: Support CbYCrY -> RGB565 color conversion in IOMXRenderer.
| * Support CbYCrY -> RGB565 color conversion in IOMXRenderer.Andreas Huber2009-09-153-15/+111
| |
* | Added an API IOMX::createRendererFromJavaSurface.Andreas Huber2009-09-157-2/+42
|/ | | | 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.
* Merge change 24947 into eclairAndroid (Google) Code Review2009-09-141-0/+2
|\ | | | | | | | | * changes: make sure to update the tail pointer when undoing a dequeue
| * make sure to update the tail pointer when undoing a dequeueMathias Agopian2009-09-141-0/+2
| |
* | Added a little more logging in OMXCodec.cpp for vendors to be able to ↵Andreas Huber2009-09-141-0/+2
|/ | | | reproduce issues...
* Merge change 24742 into eclairAndroid (Google) Code Review2009-09-141-2/+12
|\ | | | | | | | | * changes: Apparently I must not use OMX_UseBuffer on either input or output ports on any of the TI components... or else.
| * Apparently I must not use OMX_UseBuffer on either input or output ports on ↵Andreas Huber2009-09-111-2/+12
| | | | | | | | any of the TI components... or else.
* | Merge change 24337 into eclairAndroid (Google) Code Review2009-09-143-9/+26
|\ \ | |/ |/| | | | | * changes: Fix issue 2107584: media server crash when AudioFlinger fails to allocate memory for track control block.
| * Fix issue 2107584: media server crash when AudioFlinger fails to allocate ↵Eric Laurent2009-09-093-9/+26
| | | | | | | | | | | | | | | | 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.
* | Only build the "full" stagefright (including MediaExtractors and ↵Andreas Huber2009-09-114-11/+33
| | | | | | | | MediaPlayer) if BUILD_WITH_FULL_STAGEFRIGHT define is set (to true).
* | Move JPEGSource.{cpp,h} into libstagefright.Andreas Huber2009-09-115-6/+3
| |
* | Merge change 24643 into eclairAndroid (Google) Code Review2009-09-101-2/+3
|\ \ | | | | | | | | | | | | * changes: fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymore
| * | fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymoreMathias Agopian2009-09-101-2/+3
| | | | | | | | | | | | this also fixes part of [2111536] Device is soft rebooted after ending the call through voice dialer
* | | Merge change 24642 into eclairAndroid (Google) Code Review2009-09-101-4/+12
|\ \ \ | |/ / | | | | | | | | | * changes: make sure conditions will return when the status of a surface is not NO_ERROR
| * | make sure conditions will return when the status of a surface is not NO_ERRORMathias Agopian2009-09-101-4/+12
| | |
* | | Media MIME types now have corresponding constants in MediaDefs.h, new codec ↵Andreas Huber2009-09-1017-106/+377
|/ / | | | | | | enumeration API.
* | Add component name to informational logging in OMXCodec.cppAndreas Huber2009-09-101-5/+6
| |
* | Merge change 24450 into eclairAndroid (Google) Code Review2009-09-102-22/+70
|\ \ | | | | | | | | | | | | * changes: Minor API change in MPEG4Writer, support for amr output into MPEG4 containers.
| * | Minor API change in MPEG4Writer, support for amr output into MPEG4 containers.Andreas Huber2009-09-092-22/+70
| | |