summaryrefslogtreecommitdiffstats
path: root/media/libmedia
Commit message (Collapse)AuthorAgeFilesLines
* audioflinger: Nasty hack for adjusting BCM FM volumeSteve Kondik2010-11-291-1/+1
| | | | | | | | | Normally this kind of nasty hack could go into libaudio, but on this particular device, we have no access to the source code of libaudio. Put the nasty hack into audioflinger and wrap it in ifdefs. Change-Id: I5e3e495e3bd6b671823967b61ba5ceb49e59a401
* Media Player fix for pause after system suspend/resumeSunita Nadampalli2010-11-211-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | Description: During system wide suspend/resume call, the state machine for stagefright player & awesome player are reset and the flags are updated accordingly. But the state variables inside Media player class are left at the play/paused state depending on the current state while suspend call is issued. because of this mismatch in the states between media player and the awesome player, the subsequent calls to isPlaying() query inside media player is setting the state to Paused as a error correction mechanism. since the media player state is incorrectly set as paused, even though it was in started state during suspend, all the subsequent calls to pause will return without any action. Inorder to correct this, the suspend state is introduced in the media player. The current state is saved during suspend and is properly restored on resume call. Validation: Tested AV playback pause/resume several times along with multiple system wide suspend/resume transitions. Change-Id: If7d40260c05899fac551edabaa8051bac1d0d020 Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
* Revert "Revert "audio: Omit FM code when HAVE_FM_RADIO is not set""Steve Kondik2010-11-073-0/+14
| | | | | | | | | Cleaned it up, and fixed a misplaced ifdef that broke the whole damn thing. This reverts commit 568f674b8ef1a83b7ba948b0e53e0dd86207d115. Change-Id: I99fde73b2cf283dde7e9bcb1e73cf86e553324d3
* Revert "audio: Omit FM code when HAVE_FM_RADIO is not set"Steve Kondik2010-11-073-14/+0
| | | | This reverts commit c5358c4b94c2953290988be654b284840551b5bd.
* audio: Omit FM code when HAVE_FM_RADIO is not setMichael Webster2010-11-033-0/+14
| | | | Change-Id: If140f0cd1232f927f4870c5de3f25deac73c3778
* support FM Radio audio routing in audio flingerxinyu2010-10-122-1/+36
|
* Fix compilation errors in libmedia, libstagefright.Rene Bolldorf2010-09-161-2/+2
| | | | | | (invalid conversion from 'const char*' to 'char*') Change-Id: Idef85606b7cff629b2778ed8134c79c892af54c2
* camera: Add autofocus support to the media recorderSteve Kondik2010-09-062-0/+38
|
* HACK: Allow use of Eclair MemoryDealer for compatibility.Steve Kondik2010-08-083-2/+10
| | | | Take #2.
* Revert "HACK: Allow use of Eclair MemoryDealer for compatibility."Steve Kondik2010-08-083-11/+1
| | | | Patchset is broken. Will recommit a single working patch.
* HACK: Allow use of Eclair MemoryDealer for compatibility.Steve Kondik2010-08-083-1/+11
|
* libmedia: Add support to set camera parametersMohan Kandra2010-08-052-0/+39
| | | | Change-Id: I0af0790c9499e983fc21f20985f591eeeaca744c
* Merge branch 'froyo' of ↵Steve Kondik2010-07-301-1/+1
|\ | | | | | | git://android.git.kernel.org/platform/frameworks/base into froyo
| * fix inaccurate copyrightsJean-Baptiste Queru2010-07-291-1/+1
| | | | | | | | Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
* | Unhide encoder profiles, add "front" profile.Steve Kondik2010-07-251-2/+3
| |
* | Remerge libui.so, libsurfaceflinger_client.so, and libcamera_client.so for ↵Koushik Dutta2010-07-111-1/+7
|/ | | | | | older devices. Change-Id: I6a1dbe519df3b07292d738ffa9f6be95b794875e
* Use local lock for most MediaMetadataRetriever methods. Bug 2560834.Dave Sparks2010-04-011-0/+7
| | | | | | | | | | MediaMetadataRetriever uses a single static lock for all operations. This effectively serializes all metadata retrieval operations in a single process. This patch uses the object level lock for all normal operations and only uses the static lock to serialize calls to release. Change-Id: I81c9f234c2f0007a26d18e1398c709b41a4dbbd7
* libutils Condition are now PRIVATE by defaultMathias Agopian2010-03-191-2/+4
| | | | | | | | | | | Condition must be initialized with SHARED for the old behavior, where they can be used accross processes. Updated the two places android that require SHARED conditions. PRIVATE conditions (and mutexes) use more efficient syscalls. Change-Id: I9a281a4b88206e92ac559c66554e886b9c62db3a
* Merge "Fix issue 2416481: Support Voice Dialer over BT SCO."Eric Laurent2010-03-171-2/+13
|\
| * Fix issue 2416481: Support Voice Dialer over BT SCO.Eric Laurent2010-03-161-2/+13
| | | | | | | | | | | | | | | | | | | | | | - AudioPolicyManager: allow platform specific choice for opening a direct output. Also fixed problems in direct output management. - AudioFliinger: use shorter standby delay and track inactivity grace period for direct output thread to free hardware resources as soon as possible. - AudioSystem: do not use cached output selection in getOutput() when a direct output can be selected. Change-Id: If44b50d29237b8402ffd7a5ba1dc43c56f903e9b
* | Fix regression in directory scanningKenny Root2010-03-151-1/+1
|/ | | | | | | | | Previous range-checking fix removed an inequality check. This change restores it. Offending change was I5eb310ced58c3c64a7af2d11b80326efe5adbcab Change-Id: Ic952c3ba5a4f7e5ab2148ec623b6f083cb7495fb
* Merge "Revert "Do autodetection even if no locale was specified, and use the""Marco Nelissen2010-03-111-39/+35
|\
| * Revert "Do autodetection even if no locale was specified, and use the"Marco Nelissen2010-03-111-39/+35
| | | | | | | | This reverts commit b45b0845a6db32848ad08ac1037ef67a68ec2d39.
* | Allow invoke in all the player states except idle and error.Nicolas Catania2010-03-111-2/+4
|/ | | | | | | | | | Previously invoke would work only after prepare but not when the player is in play or pause state (for instance). This new change just check that the player has been initialized and is not in the error state. Bug:2488931 Change-Id: I9b9f3679593a3b7697c1a84d993fdcd7e1693a90
* Revert "Allow invoke in all the player states except idle and error."Nicolas Catania2010-03-111-4/+2
| | | | This reverts commit 88f3b81d065d4bec6f69a25eda99158e254f55b1.
* Allow invoke in all the player states except idle and error.Nicolas Catania2010-03-101-2/+4
| | | | | | | | | | | Previously invoke would work only after prepare but not when the player is in play or pause state (for instance). This new change just check that the player has been initialized and is not in the error state. Bug:2488931 Change-Id: I7a69d1b6e3eec1e5dbdf7378ff2085329062595a
* MEDIA_PLAYER_STATE_ERROR is not a bitmaskMarco Nelissen2010-03-101-1/+2
| | | | | | (b/2502881) Change-Id: I08e427eb2c36f5d70e40f9aeb8638fa8262de989
* Fix issue 2428563: Camera rendered inoperable by voice call interruption.Eric Laurent2010-03-051-3/+7
| | | | | | | | | | | | | | | | | The problem is that AudioRecord never exits read() when a timeout occurs while trying to get new PCM data from audio hardware input buffer: it just keeps waiting and retrying until stop() is called. In the same time, opencore AndroidAudioInput::audin_thread_func() loop cannot be exited when stuck in AudioRecord::read() because the iExitAudioThread flag can only be sampled when AudioRecord::read() returns. We remain stuck with the audio input thread running. The fix consists in modifying AudioRecord behavior in case of timeout when getting new PCM samples. We now wait only one timeout period and try to restart audio record, in case the problem is due to a media_server process crash. If this fails, we exit read() with a number of bytes read equals to 0 so that AndroidAudioInput::audin_thread_func() loop can exit. Also modified Audioflinger::RecordThread() loop so that we attempt to recover from HAL read errors. In case of read error, the input stream is forced to standby so that next read attempt does a reconfiguration and restart of the audio input device.
* Issue 2071329: audio track is shorter than video track for video capture on ↵Eric Laurent2010-03-023-2/+38
| | | | | | | | sholes Add API to retrieve number of frames dropped by audio input kernel driver. Submitted on behalf of Masaki Sato <masaki.sato@motorola.com>
* Merge "Don't allow MediaRecorder.setParameter() to be invoked in the ↵James Dong2010-02-261-0/+9
|\ | | | | | | following states: error, prepared or recording"
| * Don't allow MediaRecorder.setParameter() to be invoked in the following states:James Dong2010-02-251-0/+9
| | | | | | | | | | | | error, prepared or recording bug - 2362412
* | When we're in the 'playback complete' state, don't consider pausingMarco Nelissen2010-02-261-1/+1
|/ | | | | | an error. This makes 'playback complete' essentially equivalent to being paused at the end, and treats it the same as being paused at any other position.
* Image encoding settings java API through xml configuration fileJames Dong2010-02-241-0/+24
| | | | | | - I decided to completely remove jpeg decoding related stuff from this change I think that setting is better off if it is specified by the system properties. We don't have to include MediaProfiles.h header in skia files
* am 8978547f: am f5fe3949: Fix issue 2459650.Eric Laurent2010-02-221-1/+3
|\ | | | | | | | | | | | | Merge commit '8978547f254b6b6ba2e322794aa044803f3edc2a' * commit '8978547f254b6b6ba2e322794aa044803f3edc2a': Fix issue 2459650.
| * Fix issue 2459650.Eric Laurent2010-02-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes a problem where an unwanted tone is generated by audio policy manager when a MT call is answered. This is because of a policy that replaces high visibility system sounds (ringtones, alarms...) by a beep when in call. There is a transitory phase while the call is being answered where the phone state is changed to IN_CALL but the ringtone is still playing. The audio policy manager then mutes the end of the ringtone and starts playing a beep in replacement because the ringtone is categorized as high visibility. The fix consists in changing the ringtone stream type from high visibility to low visibility. This is not a problem as the only actual use case where a ringtone would be generated while in call is if another call is received. But in this case, the phone system does not generate a ringtone but a call waiting tone instead. It is therefore not required to handle a ringtone as a high visibiltiy tone that must be somehow signaled to the user while in call.
* | Range check in MediaScanner::processDirectoryKenny Root2010-02-181-1/+1
| | | | | | | | | | | | | | Make sure we don't have an empty string before checking if it's a directory since this string is tainted. Change-Id: I5eb310ced58c3c64a7af2d11b80326efe5adbcab
* | New API on java's MediaPlayer to suspend/resume a session.Andreas Huber2010-02-122-0/+42
| | | | | | | | related-to-bug: 2231576
* | split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian2010-02-116-7/+9
| |
* | Do autodetection even if no locale was specified, and use theMarco Nelissen2010-02-101-35/+39
| | | | | | | | detected encoding if it is unambiguous.
* | Initial check-in for xml-based encoder capabilities retrievalJames Dong2010-02-012-6/+683
| | | | | | | | | | - Changed the Java API as suggested - Treat /etc/media_profiles.xml as the default xml configurtion file
* | Simplify the MemoryDealer implementationMathias Agopian2010-01-292-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | At some point the implementation became complicated because of SurfaceFlinger's special needs, since we are now relying on gralloc we can go back to much simpler MemoryDealer. Removed HeapInterface and AllocatorInterface, since those don't need to be paramterized anymore. Merged SimpleMemory and Allocation. Made SimplisticAllocator non virtual. Removed MemoryDealer flags (READ_ONLY, PAGE_ALIGNED) Removed a lot of unneeded code.
* | API Extension: Support for optionally specifying a map of extra request ↵Andreas Huber2010-01-282-6/+36
| | | | | | | | | | | | | | | | headers when specifying the uri of media data to be played. related-to-bug: 2393577 Original change by Andrei Popescu <andreip@google.com>
* | Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V syncEric Laurent2010-01-262-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | Added getRenderPosition() API to IAudioFlinger to retreive number of audio frames written by AudioFlinger to audio HAL and by DSP to DAC. Added getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames written by DSP to DAC. Exposed AudioTrack::getPosition() to AudioSink() to make it available to media player. Removed excessive log in AudioHardwareGeneric.
* | Fix issue 2378022: AudioService should direct volume control to ↵Eric Laurent2010-01-252-7/+9
| | | | | | | | | | | | | | | | | | STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active. Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream type is playing. Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
* | Fix issue 2363154: Speech synthesis fails to start over A2DP after media ↵Eric Laurent2010-01-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | server process crash. The problem is that after a media_server crash, the value of the A2DP output handle can change. As this value is cached in AudioSystem for all client processes there can be a mismatch between the cached and actual value after a media_server restart. The fix consists in clearing the cached output handles and output to stream map values cached in AudioSystem in AudioFlingerClient::binderDied() which is called when the media_server crashes.
* | Fix no-copy-overhead OMXCodec implementation to actually work.Andreas Huber2010-01-201-3/+7
| |
* | Merge "Avoid unnecessary buffer copying if at all possible, detect if ↵Andreas Huber2010-01-191-3/+21
|\ \ | | | | | | | | | running in the mediaserver process."
| * | Avoid unnecessary buffer copying if at all possible, detect if running in ↵Andreas Huber2010-01-191-3/+21
| | | | | | | | | | | | the mediaserver process.
* | | Media server death nodificationJames Dong2010-01-154-95/+129
|/ /
* | Reorganize some of the stagefright implementation related to metadata.Andreas Huber2010-01-083-86/+0
| |