summaryrefslogtreecommitdiffstats
path: root/media/libmedia
Commit message (Collapse)AuthorAgeFilesLines
* libmedia: build with AudioParameter if neededcodeworkx2012-06-051-0/+5
| | | | | | | Usage: BOARD_USES_LIBMEDIA_WITH_AUDIOPARAMETER := true Change-Id: I4d33afcf2af200f70120ee9b9ee03c8830712686
* framworks/base: Changes to use MVS path for VoIP featureRavi Kumar Alamanda2012-05-301-0/+12
| | | | | | | - These changes are merged from GB commit 3926cd8fea11e65f47272c2099a5a540ab46b580 Change-Id: I9bc09e3f82741db394bf5e9585e9e35a454112e5
* audio: Squashed commit of LPA support from CAFTejas Shikhare2012-05-216-21/+539
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Patches wrangled by Kali frameworks/base: LPA and routing api implementation - Integrated routing APIs for LPA with the new AUDIO HAL - Integrated LPAPlayer for LPA Playback on 8660 Change-Id: I345f62afa53057261602042ac348d43333cc8732 libstagefright: Integrate LPAPlayerALSA for LPA playback on 8960 Change-Id: Ie7ec686bef7a8c0b41c06ae11bdf49f84e136197 frameworks/base: Fix for no audio while playing specific ADIF clips - Now the SW AAC Decoder is OMX based and handles decoding from the beginning after the port reconfiguration. So it is not required to force seeking to the beginning when INFO_FORMAT_CHANGED received, after decoding the first frame. - Removed the same to fix no audio issue with specific ADIF clips which reports INFO_FORMAT_CHANGED. Change-Id: I057312d1f9e0e5ced26bb5234cbc79d95be53b1b CRs-fixed: 321723 libstagefright: fix for crash in AwesomePlayer startAudioPlayer_l -Issue: check(seeking) fails in startAudioPlayer_l for LPA playback -Cause: LPAPlayer does not set seeking flag after starting playback in the middle of a clip -Fix: Set mSeeking flag and ReadOptions in LPAPlayer::Start Change-Id: Iac91a2b328be41cb98f6fdfa7c62e0b93a3a48a4 CRs-fixed: 322725 frameworks/base: Fix for pause/resume issue while LPA playback - If LPA playback is paused and resumed immediately, the audio resumes for sometime and then the playback switches to next clip due to error in OMXCodec. - In the LPA pause implementation, the source, OMXCodec, pause is being called which does not handle executing to pause state transition. So this causes decoding issue while resuming. - Removed unnecessary pause/resume API calls to OMXCodec to fix the issue. Change-Id: Ic7713c43aeedd9ec4818def9275653e7756e3a91 CRs-fixed: 322324 libstagefright:Fix for no progress bar update while seeking at end of LPA clip -progress bar doesnt update while seeking at end of LPA clip. -EOS is not posted to Awesome player when i/p EOS is reached,all input buffers have been decoded and response queue is empty. -Post EOS to Awesome player when i/p EOS is reached,all input buffers have been decoded and response queue is empty. CRs-Fixed: 321961 Change-Id: I6f90ac577825d807b99e724b3948f7cca1478e8d frameworks/base: Enable Audio effects for LPA output - Added the support to apply Audio Effects on LPA output. Change-Id: I08b64167e9beac7fbe84ad2610f0177766be7c7e frameworks/base:Fix for memory leaks during LPA playback -Sigkill errors while running audio monkey causing the device the monkey to stop Memory is getting critically low leading to background process getting killed by the OOM killer. -Memory leaks during LPA playback is leading to memory exhaution. -Fixing the memory leaks. Change-Id: I546d2a08d33789b3433d8ea61c30f6cba02a9f7c CRs-Fixed: 326720 libstagefirght: Update timeStarted to use system time in LPAPlayer::start - Issues: Paussing LPA clips at the last second causes the control to the end of next clip - Causes: TimeStarted is not updated correctly if pause cmd is received before decoder thread starts. - FIX: Update timeStarted to use system time in LPAPlayer::start() Change-Id: If01b397b251c8aa20feed581c260d5ff818a2834 CRs-fixed: 324298 frameworks/base: Prevent effects application in paused state - The issue is that effects are being applied on the LPA buffers in paused state. - After 3s in paused state, session of the playback is deregistered hence effects should not be applied - The issue is fixed by stalling the effects thread till the playback is resumed and session for LPA is re-establised with MediaPlayerService Change-Id: I87f0f1cfcaaaf0f95a7218f46ea76d043c84bb77 CRs-Fixed: 328300 frameworks/base: Syncronize resume and onPauseTimeOut - All the mixer controls are closed 3s after pausing playback through the onPauseTimeOut function - A scenario where onPauseTimeOut is closing mixer controls, a resume is issued, causes a crash - Synchronize these 2 functions using a mutex to prevent concurrent execution. Change-Id: Ic0e84423f7e3e4a26c441c73235e61d9a13c225d CRs-Fixed: 329312 frameworks/base : Prevent pcm_prepare when A2DP is enabled - pcm_prepare should not be called without setting routing controls, as this will result in driver bad state. - Fix the issue by calling pcm_prepare only when A2DP is not enabled and routing controls are set. Change-Id: Ic2db9224d70500c392fa31804844aa934eca633d CRs-fixed: 327396 libstagefright: Flush ASM before closing the stream - By calling pcm_prepare we can flush the driver and dsp so that playback close can issue an eos from kernel Change-Id: Icb5249ff8c480405b4b8ac5ce5f995ed5d73bf0d CRs-Fixed: 331532 (cherry picked from commit 8bdfa122ec7ff72f61ea01f932d96d94dc27f016) libstagefright: Fix for seek issue in mp3 streaming playback -Issue: In LPA playback if seek is issued, the pcm driver starts after a fill buffer and write is completed. If pause is issued before the driver starts, audio pause fails and results to a sudden jump in the playback or to an EOS at random -Testscenario: Flush,immediately followed by Pause in LPA playback. -Fix: Pause is handled when the pcm write is completed. This is acheived by a conditional wait on the pcm write done. CRs-Fixed: 331099 (cherry picked from commit 6ce15986ee7f2155044f79c505ebcd5a310a6c0d) Change-Id: I605316bba2d964ba3d52f6a7cc42e7e390d92fdf libstagefright: prevent trigger for stale events - prevent event thread from running if response queue is empty which means there is no buffer with the driver CRs-Fixed: 336970 (cherry picked from commit 690fb2d96a58b2341e49e3424d7e0efe7093aad7) Change-Id: Ie86a900e77175b2786cfe10fc0c64457e9fc4bae libstagefright: Ensure pcm_prepare is called only when routing is still active. - LPAPlayer does Derouting, pcm_prepare and pcm_close during pause. - pcm_prepare should not be called after derouting, as the driver tries to prepare a session which is already derouted. - This results in no backend errors in kernel for LPA Front end session as the backend is already closed with derouting. - Fix the issue by ensuring pcm_prepare is always called only routing is still active. Change-Id: I4b4eef7f9775b6141a5ec9a0eed82ca2f7a5c6d6 CRs-fixed: 341268 libstagefright: Add support in LPA for DSP timestamp. Change-Id: Ie9525b0ab201b9de828a25ef1cd9731567f4610a CRs-Fixed: 338065 (cherry picked from commit 2457cb32ec93a11e2a95d77557daaf6be0e1529a) libstagefright: honor write done event during pause Queue up completed buffers for decoding even if playback is in paused state as there is concurrency between write done and pause CRs-Fixed: 340469 (cherry picked from commit c9116b67545c5d973c255fba55c031271d3c38a4) Change-Id: Ifdc2cec4d92773ac279c02df7067bd95c32ca4a4 libstagefright: Fix A2DP seek to EOS issue in LPA - In A2dp scenario, when seeked to EOS and 0 bytes returned by decoder, eos was not issued to the app. This resulted in no audio. - Put the buffer back in the request queue in case of 0 decoded bytes and post an AudioEOS event to the app. Change-Id: Icb2cc053d71d02c8adb90fc5be1922ea813331e9 CRs-Fixed: 339608 (cherry picked from commit cdcdc2e6c6967de31476b1ece3702b645989e1df) Conflicts: media/libstagefright/LPAPlayerALSA.cpp LPAPlayerALSA: Fix for acquire/release Wake-locks. -Requires a wake lock to ensure that 3s timer after playback runs in suspend mode to get into TCXO shutdown. -Add support for acquiring wake locks from mediaserver process -PowerService is used for acquiring/releasing wakelock Change-Id: Icb21c319eee24aa38d56afcd8eddcb6315b74558 CRs-Fixed: 338542 libstagefright: Fix concurrency issue during A2DP switch. - When A2DP is disconnected, Pause is issued by the app. Sometimes, pause happens concurrently with stop, resulting a stuck in write. - Fix the issue by switching the sessions, when resuming the playback so that above concurrency is avoided. CRs-Fixed: 338086 (cherry picked from commit 29c0c17f53b6c945605e91da9108eea958b17bea) Change-Id: I7ee7a3ca0569006c404cb5cca885271b53476695 libstagefright: Initialize audio routing flag in the constructor If the audio routing flag is not initialized, it could result in some rare errors which will cause routing to be in bad state. (cherry picked from commit 74d381b2ca643515abf2bafa587df0b1cc7e56c7) Change-Id: I3f4b9b3e172921a397f4ad2a55c8e0e429af13bc libstagefright: Fix for application not responding when going to next song - When a song is ended, the driver is paused, flushed and then close. - The issue is that under some scenario, the song is ended before the driver is initialized. Pausing the driver as result causes a native crash - Issue is fixed by only issuing the pause to the driver if it is started. Change-Id: Ib839a087136526e9186fc37c8cb29c681612e6c9 CRs-Fixed: 339578 (cherry picked from commit a7117328a21eca0fc422b56c12acfab25f17873a) libstagefright: Add wake lock support for LPAPlayerALSA - LPAPlayerALSA now holds the wake lock while LPA playback is on going - This allows external applications who do not hold wake lock to use LPA playback CRs-Fixed: 342451 (cherry picked from commit 9621db1c1cf2092b1b51983c91434612c4cd8480) Change-Id: I3ff8bbdc2535e29b3e0b94953d9ce6364b5c0782 libstagefright: pause AudioStream when bt is disconnected. Notify AudioPolicyManager that device is in paused state when BT is disconnected CRs-Fixed: 349091 (cherry picked from commit e2fd42a43f92696f917b74b23a1cce9ac276a707) Change-Id: I5377f8568e1fccb11685ca0e718968eb1823d539 libstagefright: Decrease LPA buffer size to 256 kb CRs-Fixed: 344793 Conflicts: media/libstagefright/LPAPlayerALSA.cpp Change-Id: Ia9d13985dffa0473b3bdadc547eeb06b114b5a8b libstagefright: Change thread priority for LPA threads - Since A2DP behaves like a render thread, there is a need for it run at urgent audio priority. (cherry picked from commit 3b81741adf7b743cfa72874f63bf561950c9cd22) Change-Id: I9d7ee924766fef1ac77c47dc445d8d32a305d700 libstagefright: Update LPA Player to use ION Create LPAPlayerION and LPAPlayerPMEM files to separate memory allocation using ION and PMEM and change the existing files accordingly. CRs-fixed: 341467 (cherry picked from commit 63a2671e848d5f8bc9295706974d5c7bee7b2002) Change-Id: Ife594fb9c36a98d4a3be47ae4140a9c82ec477f7 frameworks/base: Fix to prevent deadlocks with Audioeffects. -Initialization of LPAeffectschain is not protected and locking/unlocking the Effectschain based on this value can lead to a deadlock scenario's during Stability or Monkey runs on Music app with Audioeffects in action. -Protect the initialization of LPAeffectschain. CRs-Fixed: 336281 (cherry picked from commit f0c6443679b0244a6cddf3042aa4b92b69f4d178) Change-Id: I27ec5b6cbbd3c6e72fb234542aa159ebec5df6be AudioFlinger: Fix for LPA volume change when headset connected. -When headset connected, volume is increased for LPA media playback in repeat mode. -Fixed volume setting in LPA mode. CRs-Fixed: 339790 (cherry picked from commit bc410c04dfed2caca9759e6eaf1ada6984f359cb) Change-Id: Id94920580384812353e3ae95f8f61511a1ec37c2 frameworks/base: Add support for LPA volume control using mediaplayer API. -Issue: Setting LPA volume using MediaPlayer::setVolume() API fails. -Cause: Current implementation of this API has only software decoder volume setting. -Fix: Add support to call kernel API for volume, as LPA volume is applied in DSP. Change-Id: If2eee5d03f421b1097b9a7f53d3ba3e4f293f4d8 CRs-Fixed: 317323 frameworks/base: Do not use LPA mode for ADIF clips - When ADIF clips are being played in LPA mode, if it is paused for more than 3sec and resumed, it results ANR - This is due to the limitation that ADIF playback cannot be seeked. When LPA playback is paused for more than 3sec, all the buffers with LPA driver are flused and closed. On Resume, it tries to seek to the paused location, where it fails for ADIF clips. - Fixed by not allowing ADIF clips in LPA mode. Change-Id: I25890844b0a28a474c9ac073d2576fca56f60e8c CRs-fixed: 324296 libstagefright: Fix LPA mute issue via browser. -When Playing LPA clip via HTML link, mute option fails to work. -In MediaPlayerService, setVolume API handles only for non-LPA case. Need to change to call LPA Volume update too. -Call mSession setVolume incase of LPA. The AudioFlinger has to keep track of previous volume when muted. This volume is again applied back when unmuted since App sents volume as unity when unmuted which is not the previous volume before mute. This change fixes the below issues --mute/unmute option via browser --increase/decrease volume when mute-should not affect mute option. --While in mute pause for 3sec and resume,mute is lost. CRs-Fixed: 327159 (cherry picked from commit 440de6deaae11b527b7250039e5172a690152e8c) Change-Id: I73e9773f0a507c47947051bceebeb013ebca8e67 media/libmedia: Release the session only for non-lpa clip Issue 1: - The session id is not acquired for LPA clips in AudioTrack however destructor tries to release it at the end of LPA Playback. - This cause corruption and eventually causes the ref count to decrease on every LPA clip. As a result the application of effects is not consistent - This issue is fixed by releasing the session only during non-lpa clip Issue 2: - There was noise for initial buffers during LPA playback - Mixer thread was applying effects for LPA effect chain - Prevent this by ensuring when lpa session is active, mixer thread does not apply effects on the LPA chain (cherry picked from commit 95932d301acf6d331fd8c42154ae69a7c98a9a33) Change-Id: I96dbbab831f21bc40ff98f202902ee753ab61fb6 CRs-Fixed: 328645 libstagefright: Create new AAC and MP3 decoder libraries without OMX layer - With the current AAC and MP3 OMX SW decoders, the decoding time is increased w.r.t the libraries without OMX layer that are present in GB. This increase in decoding time results reduction in power savings in LPA mode. - This commit is to remove OMX layer for AAC and MP3 to reduce the power consumption in LPA mode. (cherry picked from commit 16b4260ff4a200b2ad69290be714578ffa33424f) Change-Id: I4ef13031207952074d0788a8953ebc38cfe48cee CRs-fixed: 334400 fix build Change-Id: I8fe32083911a41e1517b9e73b618521b38a0db25
* libmedia: renamed cflag for samsungs isSeparatedStream()codeworkx2012-05-042-4/+4
| | | | | | | also needed on non-yamaha sound phones BOARD_USE_YAMAHAPLAYER -> BOARD_USE_SAMSUNG_SEPARATEDSTREAM Change-Id: I5326f4e561102df4d47152b560fe0185fa848ff5
* libmedia: don't require USES_AUDIO_LEGACY for USE_KINETO_COMPATIBILITYDaniel Bateman2012-04-241-6/+7
| | | | Change-Id: I74ff9c0c4dd0cafa20917e1e923f1d0d2d6b1df4
* f/b: qcom flags cleanupGiulio Cervera2012-04-021-9/+0
| | | | Change-Id: Id4da5e2038cf5c9ba540a812281daa4a1b9af03a
* Merge branch 'ics-mr1-release' of ↵Steve Kondik2012-03-291-6/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into aosp Conflicts: core/res/res/values-de/strings.xml core/res/res/values-el/strings.xml core/res/res/values-nl/strings.xml core/res/res/values-pt/strings.xml core/res/res/values-ru/strings.xml core/res/res/values-tr/strings.xml core/res/res/values-zh-rCN/strings.xml core/res/res/values/config.xml data/fonts/Roboto-Bold.ttf data/fonts/Roboto-BoldItalic.ttf data/fonts/Roboto-Italic.ttf data/fonts/Roboto-Regular.ttf packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java policy/src/com/android/internal/policy/impl/PhoneWindowManager.java Change-Id: I376757e52555fe45860f404da5fd2293ea45ddce
| * AudioTrack: relax check on minimum buffer sizeEric Laurent2012-03-161-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current AudioTrack implementation enforces that the requested audio buffer size is at least corresponding the audio latency. This requirement is too strong and leads to problems with current stagefright and AudioSink implementations when playing over output streams with long latency. Ultimately, the AudioSink design should be changed to specify a minimum buffer size in time or frames units but not in buffer count units. Change-Id: I8ba603956f92ac49143a8249572665aa548f2f0f Conflicts: media/libmedia/AudioTrack.cpp
* | Add customized parameters for qcom camera features.Ankit Premrajka2012-03-271-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following submissions to CAF: camera: add custom camera parameters to hardware java file. Change-Id: Ic2b363df6d25a0c3a49aed30e717d10874f533ae Camera: Add support for wavelet denoise Change-Id: I97be72615fe5909987ac430034bbdc16f2d20509 Camera : Add support for histogram in frameworks Change-Id: Ibf751c3b2d488f4be0afaaa3e994372bafeffbe7 Camera: Add ZSL support in framework. Change-Id: I4e863020d7d407d9c3936beb83dc7abf385c4654 Camera: Add touch AF/AEC support in ICS framework In, ICS the old touch AF/AEC functions getTouchIndexAf(), setTouchIndexAf() etc are no longer valid. Added new functions to get the center of touched area. Change-Id: I37d00040f895cd8a4de2e2a438971aa2d9c1a045 Camera: Add support for Red eye reduction Change-Id: Iada280ac33aee8b1114dc40d8d79e0e47ad5c2fd Conflicts: api/current.txt Camera: Enable streaming texture and YV12 feature Change-Id: I814c92b469e0f25baef0ce80338761d1e6443085 Camera: Add frameworks support for high frame rate Change-Id: I9722e9b7e61433651ab5f76f76208853eb1fd849 Camera: Simplify ASD menu and best mode menu. Change-Id: Ia7a1eca9268eec021a6e2c3f7ce2a932e8819d50 Camera : Macro definition change. PIXEL_FORMAT_YV12 to "yuv420p" Why: CTS testcase is expecting "yuv420p" as the format string for YV12 mode. CRs-Fixed: 328252 (cherry picked from commit 0a263f67b75497e4b95b9de8c370ed9496ab59ef) Change-Id: I66f418a52775a969d81bcb332bbe500370e3ab7c Camera: Changes for face detection Change-Id: I7b2172e8690d6e23762e42f5888fecbfda15ba61 Camera: Add support for burst count Change-Id: I4488a5eac1eebb0b5c8e2cc7cbbe7be0c7301be7 Camera: enable HDR feature (cherry picked from commit e40770bbdadd925fc1e07a08249a15981b961570) Change-Id: Ie9ca3066e8e53710bf292d047a3724aefc029854 Camera : Add API to find fullsize liveshot support Change-Id: I3c2fc3578decbe5cf87fded5362f317df0b40b5e (cherry picked from commit 65d80f04892776eec1c19c844eacb8c454b4bd1a) Camera: Set default camera area string The default invalid value for KEY_FOCUS_AREA and KEY_METERING_AREA is changed to "(0,0,0,0,0)" CRs-fixed: 334934 Change-Id: I354802c8611ee5c00a591b96b1a1ca04926969cb Camera: Change the scenemode names in framework To comply with ICS API Specification, SCENE_MODE_AUTO changed to SCENE_MODE_ASD SCENE_MODE_OFF changed to SCENE_MODE_AUTO Change-Id: I8e744f10c728f469923b09f69d6d64bc5c7c6850 Camera : Framework changes for camcorder UI menu Change-Id: Iff9e9021da44b67f81a24c828b960113ee249248 Camera : Remove unwanted video resolution in Framework - FWVGA, WQVGA resolution UI options are removed for camcorder. Change-Id: If621140966b01dbc8c30a4d161e6771528b8adda Camera : Enable FWVGA and WQVGA resolutions in camcorder media profiles Change-Id: Iad9cc33f7b6d8eb7de21df372c016edeef0b99ba Unlock camera AWB lock only when white-balance is changed. bug:5633546 Change-Id: I90bb4b5b445daedf38a64e2f8fb980fc0f0aaa81 Change-Id: Ie3cc15132489502e64321776d49d96846b5705d6
* | frameworks/base: Add support for QCELP/EVRC non-tunnel encoding in SFRavi Kumar Alamanda2012-03-271-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for QCELP and EVRC formats non-tunnel mode encoding in StageFright using hardware accelerated encoders. Patchset 1: Add QCOM_HARDWARE ifdefs. Patchset 2: Fix ifdef derp. Patchset 3: Fix endif derp, change omx-core include to vendor/qcom. Conflicts: media/libstagefright/Android.mk media/libstagefright/OMXCodec.cpp Change-Id: I179030d71a9598ddddcf754e963fbed1e1357024 Signed-off-by: Evan McClain <aeroevan@gmail.com>
* | libmedia: Update media profile cap for video codecsHaynes Mathew George2012-03-272-0/+29
| | | | | | | | | | | | | | | | | | | | | | - Update H.263, MPEG4 and H.264 profile caps - Changes made to max width, height, bitrate and fps Patchset 1: Add QCOM_HARDWARE ifdefs. Patchset 2: Fix non-qcom createDefaults. Change-Id: I0d50221a9e38a45fcccb70b7455412abe9a7a48b Signed-off-by: Evan McClain <aeroevan@gmail.com>
* | samsung: add support for tvout and yamahaplayer servicescodeworkx2011-12-302-0/+24
| | | | | | | | Change-Id: I653f9876b7fb83734abf3a0b9b9b5af1920b8112
* | Merge branch 'ics-mr1' of ↵Steve Kondik2011-12-165-30/+9
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into aosp Conflicts: core/res/res/values/strings.xml policy/src/com/android/internal/policy/impl/GlobalActions.java services/java/com/android/server/WifiService.java services/sensorservice/SensorDevice.cpp telephony/java/com/android/internal/telephony/RIL.java Change-Id: I89ec56d5ff282a2eb879ca40fb6d74ebcf752837
| * Updated (internal) API for IStreamSource to signal discontinuitiesAndreas Huber2011-11-291-1/+1
| | | | | | | | | | Change-Id: Idd4b9d8e7cec16b3e3c91c70e75144d42be30f96 related-to-bug: 5553055
| * am d4b22ab4: status_t != boolMarco Nelissen2011-11-181-1/+1
| |\ | | | | | | | | | | | | * commit 'd4b22ab4889f9b1885bfc0dc45667c846a171a98': status_t != bool
| | * status_t != boolMarco Nelissen2011-11-181-1/+1
| | | | | | | | | | | | | | | | | | b/5567433 Change-Id: I255ab8c3b0b5e0ea6a5cc7c05df757c667f3855e
| * | Fix for issue 5309336Hong Teng2011-11-141-3/+7
| | | | | | | | | | | | | | | | | | -add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage. Change-Id: I41ffbc192fcce4c7635e5b0a1f2835852e5ee509
| * | Remove surface legacy APIs and code.Andreas Huber2011-10-282-25/+0
| |/ | | | | | | | | | | All surfaces are now supported through surface textures. Change-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6
* | audio: Add compatibility bits to use legacy libaudio implementationsRicardo Cerqueira2011-12-124-0/+135
|/ | | | | Enable with BOARD_USES_AUDIO_LEGACY, requires the use of the generic legacy audio shim
* Stagefright: ANW::connect in MediaPlayerServiceJamie Gennis2011-10-261-96/+2
| | | | | | | | This change moves the ANativeWindow connect and disconnect logic from MediaPlayer to MediaPlayerService::Client. Bug: 5502654 Change-Id: Ifc43b98b01ad8f35d62d7ece43110724ec7fda3d
* Stagefright: idle OMX after ANW errorsJamie Gennis2011-10-191-0/+26
| | | | | | | | | | | | | | This change fixes an issue in Stagefright where the state of an OMXCodec object can get out of sync with the state of the OMX component. In particular, if one of the ANativeWindow functions failed and put the OMXCodec into the ERROR state, this would cause Stagefright to skip doing the Executing -> Idle transition. Without this transition the freeBuffersOnPort call would never be made, and the MediaBuffers would end up being leaked (which would also leak the Gralloc buffers they reference). Bug: 5333695 Change-Id: I85ea0cf92d18e7ef6d35c7d1e2a7b4e2c9745d34
* Add QVGA resolution to CamcorderProfileJames Dong2011-09-191-2/+4
| | | | | Change-Id: Icebbafb68d8164370f98a2c36699845d10ef081b related-to-bug: 5145483
* Merge "Issue 5298399: Lost speech after a crash in gTalk."Eric Laurent2011-09-131-12/+14
|\
| * Issue 5298399: Lost speech after a crash in gTalk.Eric Laurent2011-09-131-12/+14
| | | | | | | | | | | | | | | | Fixed problem in AudioTrack::restoreTrack_l() causing a permanent failure if the IAudioTrack interface to AudioFlinger could not be restored at the first attempt. Change-Id: I039d4fe2dca8d3baf71f1a6c51119f27a67b6611
* | Make MediaScanner skip certain directoriesGuang Zhu2011-09-091-1/+59
|/ | | | | | | | | | The list of directories to skip are configurable via setprop. The main motivation is that some test data folder takes long time to scan, and media scanner may compete for CPU time against perf tests therefore skewing the results. Bug: 5263115 Change-Id: I568213e2a4babf6033021c1d336ef0347c0e3315
* Merge "AudioTrack: extend callback thread sleep time"Eric Laurent2011-09-081-1/+6
|\
| * AudioTrack: extend callback thread sleep timeEric Laurent2011-09-081-1/+6
| | | | | | | | | | | | | | | | Do not force wake up the AudioTrack thread every 10ms if no timed events (loop, markers..) have to be processed. This will help reduce power consumption. Change-Id: Icb425b13800690008dd07c27ffac84739e3dbba3
* | Bug 5270905 fix MediaPlayer with IStreamSourceGlenn Kasten2011-09-071-0/+1
|/ | | | Change-Id: Ia8a6381a6c88b4a0a1378aab03f5275f0fa1125a
* Merge "Issue 5247986: Battery drain due to audio wakelock"Eric Laurent2011-09-061-4/+21
|\
| * Issue 5247986: Battery drain due to audio wakelockEric Laurent2011-09-061-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | The problem occurs when activating or deactivating A2DP connection while SoudPool has a channel active. This can happen quite frequently now that the UI sound effects are enabled by default. If PCM data is remaining in the AudioTrack buffer when it is restroyed and re-created on the new AudioFlinger output thread, this data is flushed. As a consequence, no underrun or request for new data callback is sent to SoundPool and the sound channel remains active for ever as the end of the sample is never detected. Change-Id: I13e0c11e4ce3f83bff7f58d347ca814b6a86712b
* | Handle setDataSource failures properly. #5261671Dave Burke2011-09-061-9/+9
| | | | | | | | Change-Id: Iea0aa474d1939db23da9aabdfae2081e834f30d9
* | Fix issue 5252593: any app can restart the runtimeEric Laurent2011-09-021-1/+7
|/ | | | | | Replace null device address string by empty sting. Change-Id: I285c35f3345334e6d2190493b1a8a5aca1a361a4
* Require INTERNET permission for network-based content.Dave Burke2011-09-023-106/+103
| | | | | | Bug #1870981 Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
* 226483: A2DP connected, but music out to speakerEric Laurent2011-08-302-0/+12
| | | | | | | | | | | | | | | | When the A2DP headset is connected, there is a possible race condition when the audio tracks are moved from the mixer thread attached to the speaker output to the thread attached to A2DP output. As the request to clear the stream type to output mapping cache in the client process is asynchronous, it is possible that the flag indicating to the client audio track to re-create the IAudioTrack on the new thread is processed before the cache is invalidated. In this case, the track will be attached to the old thread and music will continue playing over the device speaker instead of being redirected to A2DP headset. Change-Id: Ib2ce1eb5320eaff83287b93779061bf4e7a330df
* Bug 4364249 Play position is 0 after flushing AudioTrackJean-Michel Trivi2011-08-251-1/+4
| | | | | | | | | | | | | AudioTrack::stop() is not synchronous, so a stop() followed by flush(), which is synchronous, will not always report a playhead position of 0 after being called. This CL adds a flag to mark a track as flushed, and report the correct playhead position in this state. Bug 5217011 has been created to address the real issue in the future, where flush could be made synchronous, to properly address bug 4364249. Change-Id: Icf989d41a6bcd5985bb87764c287f3edb7e26d12
* Fix for 4142219 Don't hard code platform-specific limitations (Jni/ Java)Rajneesh Chowdury2011-08-191-0/+59
| | | | | | Also fixes 5118207 add other video codec support for video editor export. Change-Id: If72427173bd8ff684af07ba00f4425c1deef29c6
* Audio effects: track CPU and memory use separatelyEric Laurent2011-08-112-1/+27
| | | | | | | | | | | | | | | | | | | | | | Before this change, CPU and memory usage for an audio effect were registered and checked against the limit by audio policy manager upon effect instantiation. Even if an effect was not enabled it would prevent another effect to be created if the CPU load budget was exceeded, which was too restrictive. This change adds a method to register/unregister CPU load only when an effect is enabled or disabled. It also adds a mechanism to place all effects on the global output mix in suspend state (disabled) when an effect is enabled on a specific session. This will allow applications using session effects to have the priority over others using global effects. Also fixes some issues with suspend/restore mechanism: - avoid taking actions when an effect is disconnected and was not enabled. - do not remove a session from the suspended sessions list when corresponding effect chain is destroyed. Change-Id: I5225278aba1ae13d0d0997bfe26a0c9fb46b17d3
* Keep effects sessions active when the caller dies.Marco Nelissen2011-08-095-2/+57
| | | | | | | | Don't remove effects until the session they are in goes away or all AudioEffects have been explicitly released. This allows the control panel process to die without stopping the effects. Change-Id: I4496e5df080230ca1af149dec95c1309ab8ea888
* Merge "Fix ordering assumption of argument evaluation."Gloria Wang2011-08-021-2/+6
|\
| * Fix ordering assumption of argument evaluation.Gloria Wang2011-08-011-2/+6
| | | | | | | | | | | | | | | | | | | | No specific order is specified in the C++ standard, but the order of the calls to Parcel read commands matters. Move any calls with multiple reads to local variables. Fix for bug 5104979. Change-Id: I709aa040e990d2659e7a3a089f7a42ae812de9ff
* | connect/disconnect is now called from our EGL wrapperMathias Agopian2011-08-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | the original connect/disconnect hooks are deprecated and replace by api_connect/api_disconnect. the original hooks are no no-ops. api_connect/api_disconnect is now only called from the android framework. Bug: 5057915 Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
* | AudioRecord: Fix getInput()Eric Laurent2011-07-261-1/+1
|/ | | | | | | AudioRecord::getInput() was issuing a query to get a new input stream from audio policy service instead of returning the cached input stream in AudioRecord. Change-Id: Ice324b7c60bc0898149023797bcb56a72091b9d3
* Merge "Added APIs for audio preprocessing"Eric Laurent2011-07-252-0/+58
|\
| * Added APIs for audio preprocessingEric Laurent2011-07-252-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added APIs to control pre processes applied on captured audio. Those APIs are still hidden until reviewed by API council. Three types of standard pre processes are supported: - Automatic Gain Control (AGC) by AutomaticGainControl class - Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class - Noise Suppression (NS) by NoiseSuppressor class A method is added to AudioEffect class to query audio pre processings applied by default by the platform on a given AudioRecord session ID. Change-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d
* | Do not support still image capture mode for timelapse video recordingJames Dong2011-07-242-44/+0
|/ | | | | | related-to-bug: 4973779 Change-Id: Ica665217ab10247b2242acc4e93d4fe9f83e3f45
* Connect MediaRecorder Native to SurfaceMediaSourcePannag Sanketi2011-07-222-3/+60
| | | | | | | | | | | | | | | | | Making a connection from MediaRecorder Native layer to the SurfaceMediaSource for the purpose of encoding GL Frames. This will be called from the java side inside the Mobile Filter Framework. The mediarecorder native layer (client), when set the videosource to option VIDEO_SOURCE_FRAMES, asks the StageFrightRecorder on the mediaserver side to create a SurfaceMediaSource object and pass it back as a sp<ISurfaceTexture> object. Using that, the client side will dequeue and queue buffers. Connecting the GL Frames to the obtained sp<ISurfaceTexture> is not part of this CL. Related to bug id: 4529323 Change-Id: I651bec718dd5b935779e7d7a050b841c2d0b0fcd
* Merge "Log setVideoSurface() and setVideoSurfaceTexture() failures."James Dong2011-07-221-0/+2
|\
| * Log setVideoSurface() and setVideoSurfaceTexture() failures.James Dong2011-07-211-0/+2
| | | | | | | | | | Change-Id: Iaea34e74a0cf569fc85b926949253dea6baa6142 related-to-bug: 5063370
* | Merge "fix for issue 4142219 Don't hard code platform-specific ↵Hong Teng2011-07-211-0/+64
|\ \ | | | | | | | | | limitations-jni/java part"
| * | fix for issue 4142219Hong Teng2011-07-201-0/+64
| |/ | | | | | | | | | | Don't hard code platform-specific limitations-jni/java part Change-Id: Icde261b1caf29a8cf552884c97f3c9d0b41741a3