summaryrefslogtreecommitdiffstats
path: root/services/camera
Commit message (Collapse)AuthorAgeFilesLines
* camera: Fix preview on SEMC msm7x30 devicesMichael Bestas2013-08-211-1/+1
| | | | | | Signed-off-by: Michael Bestas <mikeioannina@gmail.com> Change-Id: Iaf1d36db1787e6cebecf31eb2c0d2050c530e208
* Squashed commit of A/V changes from CodeAuroraKrishnankutty Kolathappilly2013-06-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Brings us current with AU_LINUX_ANDROID_JB_2.5.04.02.02.040.367 Camera: Fix deadlock due to mLock in pcb and takepicture In non-zsl case of takepicture, we do streamoff for preview stream which is waiting on preview callback thread to exit. By that time the lock has already been acquired by takePicture. So preivew callback will not exit until it acquires lock and takePicture cannot continue until PCB call back is returned. Fix: Avoid the mLock at services when both Preview cb & Compressed cb are enabled. Change-Id: I6c264928bf1540c7b51f1add65f9c3e968506e15 CRs-fixed: 479419 audioflinger: Fix the LPA-AudioEffects crash issue - Issue:crash is observed during LPA playback on enabling effects followed by plug-out->plug-in of wired headset - Rootcause: while deleteing the effectchain in deleteEffect EffctChain is being unlocked after clearing the chain which leads to accessing the lock which might already deleted. - Fix: first unlock the effectChain and then call clear CRs-Fixed: 491774 Change-Id: I518ff086c5ad71486cd29142563145137ebc15b6 libstagefright: Fix for crash in sound recorder during device switch -Crash seen in sound recorder during frequent insertion and removal of wired headset -During device switch some time Codec's input buffers are too small to accomodate buffer read from source. Omx codec doesn't read the fix size buffer from source, during device switch scenario sometime buffer read from source exceeds input buffer size so it goes in error state which leads to crash. -Increasing the input buffer size fix this issue Change-Id: Id15378670880d0c3c0bd4408841b28be963549a0 CRs-Fixed: 488449 libstagefright: Fix for FPS drop issue during A-V playback. Issues: -The AAC decoder was not updating the timestamp when EOS is reached. -Logic to smoothen the real time update in AudioPlayer uses system time. This introduces corrupt timestamp during EOS. Fix: -Update the timestamp in AAC decoder when EOS is reached. -Extrapolate realtime using system time in AudioPlayer when EOS is reached. Cap the value to realtime if extrapolated time becomes greater than realtime. CRs-Fixed: 384183 Change-Id: Ice54501436431d2527fcd3d710d65d9732fcffdd libstagefright: Reset buffer size value with SurfaceTexture - OMXCodec explicitly sets the decoder output buffer size using the native window perform API. (to accomodate extra-data) - This size is reset only when the SurfaceTexture is destroyed. - Unless reset, this size will be assumed for all output buffers if the SurfaceTexture is re-used. CRs-Fixed: 337660, 432309 Change-Id: I28aed12ad02adeac61caffbb00e3082640a5f6d4 audio: Add support for tunnel mode recording - Add support for tunnel mode recording. Change-Id: I95cdfff729affd784141487521c9f2f714221d11 audio: Add support for non-pcm VOIP vocoders - Add support for non-pcm VOIP vocoders - non-pcm vocoders use AUDIO_SOURCE_VOICE_COMMUNICATION as inputSource. Add check to verify inputSource and then configure framecount accordingly Change-Id: Ia38da4f6ba0ee40c794d3c97325327cdb7dcb32a CRs-Fixed: 467850 frameworks/av: Add metadata mode changes to LPAPlayer -Seek to EOS was causing playback to hang for 3 seconds before switching to the next clip. -This is because the lpa driver works on period size. Partial buffers are not handled. -Add support for metadata mode changes to LPAPlayer to support partial frames. CRs-Fixed: 458904 Change-Id: I8673756b54ae7bca18855d326c85ae1064652514 libstagefright: Add support for WMA in ACodec - WMA support is not there in ACodec - In the case of wma format, since not getting the complete information of wma version so instead of allocating the component in onAllocateComponent function it will create in onConfigureCompoenent function. bitspersample is find as "bsps" from AMessage while configuring the WMA10PRO and WMALOSSLESS format CRs-Fixed: 453951 Change-Id: I98baa701dbf8a5c012f4be5e83831c0be2111dcc libstagefright: Flush the pending buffers when EOS is received For the use case where the first frame in the buffer is EOS, decode the aac config frame buffer to update the sample rate and channel mode and flush out the buffer. Change-Id: I0354802cdbf61ac1ba0fecbbdf616705806b0f4a CRs-Fixed: 459334 audio: Fix The Linux Foundation copyright - Fix copyright format based on The Linux Foundation copyright template Change-Id: I100a5c86302d1a1a3d79543d95e242734daae746 media, audioflinger: check for divide by zero possibilities and err When output stream is not available to audioflinger due to any reason , sampleRate and frameCount have zero values when trying to create new Audiotrack. This might result in divide by 0 situation. Change-Id: Ic13cb51facb8497e68ab596abb027b44f496b907 CRs-Fixed: 478480 framewroks/av:Fix ANR at the end of video recording - While doing video recording, when the recording ends ANR observed while doing stress test for many hours - When the recording is stopped, audio HAL receives error from driver and audio HAL propagates this error to AudioFlinger. But AudioFlinger is not sending error status to audio source to stop recording. Because of this audiorecord thread keeps on waiting for buffers which is resulting in ANR. - To avoid indefinite wait, a timeout of 1 sec is set for buffer in audioSource and after timeout, -ETIMEDOUT is returned to recorder thread. CRs-Fixed: 479968 Change-Id: I91aba6922086e711992d9d991dea9c35d33eaee9 audioflinger: Integrate SRS TruMedia Change-Id: If61ae91556120ddd5f5ebcc6dbbfe6583c7df67d audioflinger: Fix apply SRS effects if tones diabled in tunnel mode For the use case of SRS post processing in Tunnel mode, the API's of SRS are called only from write. With the huge buffering for tunnel mode, once EOS is received there would not be further write. With system tone enabled, the SRS API's are called during the check for Parameters change through normal mixer thread. With system tones disabled, SRS will not be applied after EOS as no write and mixer thread would not be active. Fix the issue by adding the Effects Thread for SRS in Tunnel mode. Fix the compilation issue with ALOGV messages enabled Change-Id: Ic7e62894840f786119dfe8ae471c5d24812917d7 audioflinger: Enhance LPA-effect logic to handle rapid config. -Issue:Rapid Config events cause pops/glitches, raw data playback. -Rootcause1:Raw data leakage to DSP: applyEffectsOn() applies effects chunk by chunk in a loop, if effects change during this time the loop exits and this results in creation of a buffer in which part of it is effects processed and rest raw, this causes raw data to leak to DSP. -RootCause2:Effectsthread directly works on the DSP buffers, while DSP is rendering from there, so that effect application is instantaneous and for this it gives the DSP buffers as output to effects chain, this means that all the effects in the chain update the DSP buffers one after the other, this can create unpredictable rendering patterns. RootCause1 and 2 combined seem to fragment memory with parts of it with effects and parts with raw data etc. -Fix1:Dont update DSP mem unless the effects are applied completely on a buffer. -Fix2:Effectschain will work on a temp scrath buffer instead of DSP mem and when effects are applied completely on this scrath buffer, memcpy this to DSP mem with this DSP mem is updated in one shot. -Remove repetetive logs which clutter the logcat if msgs are enabled in audioflinger. Change-Id: I9051e7b8531aa5c8cb3dcfafe0be3136a2cf0f9d CRs-Fixed: 463880 frameworks/av: Update framecount and buffersize values -framecount should be calculated based on mMaxBufferSize returned from HAL -update the buffersize with the value returned from HAL CRs-Fixed: 482744 Change-Id: I90dd9c3ebbbc8a9f1f2f92c5347ae9cb01719e13 audioflinger: Fix the LPA-AudioEffects dead lock issue. - Issue:Deadlock occurs when the LPA clips are subjected to rapid next from BT device and simultaneously on/off the audio effects. - Rootcause:some times flinger thread processing LPAPlayer/directtrack next deadlocks with the thread working on effect configuration as both of them contend for the audioflinger::mlock and effectmodule::mlock. - Fix1:AudioFlinger::deleteEffectSession() not to acquire audioflinger:mLock instead take the mLPAEffectChain.mlock. - Fix2:ThreadBase::effectConfigChanged() not to acquire audioflinger::mlock. Change-Id: I056c8297802f81644fa1371836db42bdbd3825fd CRs-Fixed: 477511 libstagefright: Add support for High Frame Rate Encoding - Based on kkeyhfr key value from meta data, add support in OMXCodec and MPEG4Writer for HFR mode - Assume normal mode recording if kKeyHfr is absent - Increase bit rate for high frame rate (HFR) recording feature to reflect the corresponding increase in frame rate Change-Id: I0a69f8d9322a768677781d08dd910dc5772c5292 libstagefright: Support some userdefine properties - support property to disable audio - support property to change recorder profile mode - support b frame encoding Change-Id: I175decec83f6027cbd7988caf680f7fec2836f83 CRs-Fixed: 443327 libstagefright: Add support for H/W AAC decoder - Currently, only software AAC decoding is supported. - Add support for H/W AAC decoding by including it in the list of available decoders and use it for decoding only if the property 'media.aaccodectype' is set to 0. Change-Id: I4bb9df1bd10bd8ee91e63dadd6c473fc4e29813a CRs-Fixed: 449145 libstagefright: Move checks for creating new extractor to ExtendedExtractor - Move all the checks and creation of the extended extractor into ExtendedExtractor. - Restrict creation of new extractor to the following conditions o default extractor is NULL o default extractor says the content is video only or has an unrecognized audio stream o the audio stream is a amr-wb (plus). - This change is being added to avoid unnecessary creation of two extractors thereby improving the startup latency. CRs-Fixed: 462087 Change-Id: Ia87eca73c4f81d37697fa85fd4f7c8cc8d406104 [StageFright] Enable 4 channel support This patches enables 4 channel WAV audio support and fixes invalid data size in WAV header field if it exceeds the actual source size. This patch is needed to support WebAudio in WebKit as some of the chrome demos use 4 channel WAV audio and bogus header information. Change-Id: I307026107ab4e4342b1c0d7bb64761a416fb2c65 audioflinger: Fix crash on LPA shutdown * Decrement the refcount after unlocking the mutex Change-Id: Ic3210700e0aaf5e8df78f85f501621a455058e24 libstagefright: Accept vendor specific NV12 colorformat from component - Accept OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m color format which is NV12 + 32 aligned stride and slice. - This is different from vanilla NV12 which is 16 aligned. Change-Id: I6de2ec3a78215dbcc28a6006b746e3e0afe69c3c libstagefright: various fixes for avc_utils - skip seq_scaling_matrix_present_flag assertion if checking for interlaced property. - correct interlace check to outside of if-block Change-Id: Ia5854110feb1c56ddc86b312d2ba2dbb73d37804 CRs-Fixed: 445527, 445692 libstagefright: print stats at end of playback - prints statistics before reset at the end of playback onto logcat - print statistics after each pause and seek Change-Id: I68edcc3153a04209e7382e4d3fba0bf734f3e33f CRs-Fixed: 457926, 447109 frameworks/base : Fix to play a specific Mp4 clip due to SYNCH_LOST_ERROR. -Unable to play a Specific Mp4 clip. -Mp3 playback is stopped if the Decoder errors out with SYNCH_LOST_ERROR. -Ignore the frame with SYNCH_LOST_ERROR and play silence instead. Change-Id: I6b94a83cf89e8bc6792d8ee3804042d629aa505b Add checks before removing an active buffer in OMXNodeInstance With this change, OMXNodeInstance will remove a buffer from it's active list only if OMX_FreeBuffer returns successfully. Change-Id: I685b39ac7ba762a2fc1b64d7f6c1efd391513598 libstagefright: Add interlaced video support - Adds call to set output buffer size on the native window Change-Id: If4a67b3f877bef557c46bb67b29d1e7051553335 audio: fix for AMRWB param overwritten issue - Overwrite AMRWB params with default value only when setParameters is not invoked CRs-Fixed: 456459 Change-Id: I3fa6b56101ca408ed5b5b82707c6dc75a9d9f17b audio: fix encoder parameters for AMRWB format - AMRWB encoder only accepts SampleRate 16k and channel count 1. Always overwrite AMRWB SampleRate and channel count to default values. - AMRWB encoder accepts BitRate from 6.6k to 23.85k, only overwrite AMRWB BitRate to default(23.85k)if setParameters() is not invoked Change-Id: I75a96b54ef04bc59dab9074ec112071e62fd51aa CRs-Fixed: 460931 stagefright: Add QCOM_BSP ifdefs for interlaced video handling Change-Id: I856ae4a97f1bf13ab18d386b3486e742a4804b2a Camera : Changes to support camcorder profiles. Change-Id: I9c4bf14f273839fd36d5f52db0f215873e8291a0 av: Ifdef all the things! Change-Id: If9dd6c6442e9d2ac9e55e48369f2da85f5f951f7 Camera: Add profiles for camcorder. Change-Id: Icdaf1fae0018de1fb04f41125cfbe34a91b5eda7 libvideoeditor: use vWidth and vHeight for buffer allocation - video editor detects crop information from decoder, crop width and height will override metadata width and height. - decoder is capable of sending crop information where crop width and height are smaller than actual resolution. - use actual metadata width and height for calculating buffer size. Change-Id: Id1d77c316e3892e6d51a00418052f256629f495f CRs-Fixed: 452511 Add ifdefs around enhanced media types Change-Id: I64b8853660ac4fe90ddb218b237f63b635cdb47b
* Add camera parameters for htc evo 3D. (1/2)Kevin Bruckert2013-04-282-1/+20
| | | | | | Use BOARD_HTC_3D_SUPPORT to enable. Change-Id: I28fa3f1586071bcc78b8e887bbbf699d338a0ceb
* Camera: QCOM legacy definitions,HTC cam switch,NO_UPDATE_PREVIEWtbalden2013-04-143-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating Camera parameters, and service with several compatibility patches: 1., QCOM legacy CameraParameters and functions: Adding these will make ICS qcomm camera blobs work on JB 4.2. Use BOARD_USES_QCOM_LEGACY_CAM_PARAMS := true in BoardConfig to use this. Also fixes the problem of legacy qcom camera blobs with recent libcameraservice QCOM_HARDWARE changes, where the orientation is messed up on first preview: the fix is leaving out setPreviewWindow(window) for legacy qcomm cam blobs. 2., Also adding NO_UPDATE_PREVIEW flag for legacy purposes. 3., Adding adding the set orientation patch: Always set buffers orientation when setting the qcom camera preview window Fixes the rotated preview on TouchPad https://github.com/CyanogenMod/android_frameworks_base/commit/1a8e41a3c7434737db89b604352575f8b3109e7a 4., camera: Full support for HTC camera switch 5., Adding more parameters for HTC Explorer Change-Id: I2bfc72b8ef027665356788f1db7f96b31d037dbe
* Merge tag 'android-4.2.2_r1' of ↵Steve Kondik2013-02-123-9/+14
|\ | | | | | | | | | | https://android.googlesource.com/platform/frameworks/av into 1.1 Android 4.2.2 release 1
| * Camera: Play shutter sound iff enableShutterSound(true) && ShutterCallback !nullIgor Murashkin2012-11-263-9/+14
| | | | | | | | | | Bug: 7564718 Change-Id: Ie7821cdee57966d88af048759578439a3e6ecb2e
* | Camera: Enable QC Camera feature set.Apurva Rajguru2013-02-033-4/+41
| | | | | | | | Change-Id: Ie52b6207293abe5a57d3bbe9d9c43e8c5b070af5
* | WifiDisplay: Add an HDCP toggleRicardo Cerqueira2012-12-201-0/+2
| | | | | | | | | | | | | | | | Some WFD dongles have frequent (or permanent) failures while negotiating HDCP with the device, so add a toggle to allow skipping HDCP entirely Change-Id: I999158df84d4a7489c40ecdf07ebcf107d071d40
* | camera: Ignore CAF_RESTART callbacksSteve Kondik2012-12-151-0/+6
| | | | | | | | | | | | | | * Ignore these callbacks which are sent by Samsung camera drivers, as they can cause a deadlock in normal operation. Change-Id: Iae59eb0d3050751c1a4d372c80d430a8ba957252
* | Camera: Qcom parameters partial rebaseAnkit Premrajka2012-12-051-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add customized parameters for qcom camera features. 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 Conflicts: camera/Android.mk camera/CameraParameters.cpp include/camera/CameraParameters.h services/camera/libcameraservice/CameraService.cpp services/camera/libcameraservice/CameraService.h
* | CameraService: Add compatibility for OMAP ICS blobsx01180642012-11-262-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Workaround the conflict created by usage of the 0x800 enum in JB (focus move) vs its OMAP usage in ICS (burst jpeg) Originally: CameraService: Adds support for burst compressed images Signed-off-by: Emilian Peev <epeev@mm-sol.com> Moved the changes under OMAP_ENHANCEMENT Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com> Change-Id: I1f17675b2854793de83c2b7cdecafc039c46f355 CameraService: Adds support for burst compressed images Depends on: - http://review.omapzoom.org/#/c/24537/ - http://review.omapzoom.org/#/c/24538/ Change-Id: I1f17675b2854793de83c2b7cdecafc039c46f355 Signed-off-by: Solaiyappan Saravanan <saravanan.s@ti.com> Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Daniel Levin <dendy@ti.com> Add CAMERA_MSG_RAW_BURST handling to CameraService Change-Id: Id958836e726e9908f60311d5bfc6d26eb8298cea Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com> CameraService: Disable capture message types before stopping preview If we try to stopPreview in the middle of capture, these callbacks might occur. In this case, stopPreview will already be holding mLock while the message handler will try to grab mLock. Deadlock occurs if the stopPreview and message callback dependencies are in the same thread. Issue reproduced with Image Capture/Home Key scenario. Port from GB: Issue is still reproducible (although extremely rarely) in ICS. Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Jean Johnson <jean-johnson@ti.com> Signed-off-by: Daniel Levin <dendy@ti.com> Change-Id: I222d00f8bd69c11302a35610095efe0ddc49f876
* | Camera Service: Change max number of cameras to 3Dejan Ivanovski2012-11-261-0/+4
|/ | | | | | | | Maximum number of cameras increased to 3 in order to support Stereo camera in addition to the existing ones. Change-Id: I63279daa17723669a8f116798b2687b73ddb5516 Signed-off-by: Dejan Ivanovski <x0162121@ti.com>
* Camera2: Don't hold locks while waiting to sync.Eino-Ville Talvala2012-10-241-33/+35
| | | | | Bug: 7409877 Change-Id: Ia3a0bc4f0ab4e19fca868ba04a870cf8e8ee7adb
* Camera2: Increase mode update timeout.Eino-Ville Talvala2012-10-231-1/+1
| | | | | | | | | | During camera startup, it might take a few hundred milliseconds before requests start to be dequeued by the HAL. Increase the timeout for synchronizing mode changes and triggers so that triggers near startup don't time out. Bug: 6970465 Change-Id: I9dc35378e8018ec18ae31be874fcb094f8a9a0e9
* Camera2: Fix potential deadlockEino-Ville Talvala2012-10-171-7/+11
| | | | | | | | | | setPreviewWindow was holding a lock during long-lasting HAL calls which may cause deadlock if the HAL calls back into the service during the call. Stop holding the lock during these calls, since it's not essential to do so. Bug: 7320517 Change-Id: I4a35703d751e22ac32979b5a1288e291610576e7
* Camera2: Improve quirks focusing behavior.Eino-Ville Talvala2012-10-162-2/+9
| | | | | | | | | | | - When scene mode is set and the AF quirk is in use, don't change AF mode and then cancel when AF cancel is received. Just change mode since that also implies a cancel. - Only trigger quirks switch when a focusing area is set. Bug: 7318812 Change-Id: I28d8755553bd78052e774701210cb94d84ee2046
* Camera2: Don't touch frame counter on output frames.Eino-Ville Talvala2012-10-161-1/+1
| | | | | Bug: 7357069 Change-Id: I9cd0cdcc23959bfecced5f47bb9e8c59c997dade
* Camera2: When focus is already locked in CAF mode, do not trigger HAL.Eino-Ville Talvala2012-10-163-4/+41
| | | | | | | | | | | | In HAL2 CAF modes, once focus is locked by an AF trigger, additional triggers will not cause AF notifications, since the state will not change again until a cancelAutofocus call. Since the old API still expects to see a notification, short-circuit this at the service and send an immediate success notification. Bug: 7318298 Change-Id: Ib209a24eaf2a35a247d06aea671efe80a33d751e
* Camera2: Don't error out of startPreview when already recording.Eino-Ville Talvala2012-10-101-4/+7
| | | | | Bug: 7327474 Change-Id: I603da5b8bd58e5a700d7ae0b3d34bd89bbcb1d53
* Camera2: Don't let unlocks happen during recording.Eino-Ville Talvala2012-10-101-2/+6
| | | | | Bug: 7309020 Change-Id: I6e66809b868d2e8f47f71e6f8752b44ec06dfb17
* Camera2: Do not set auto-white-balance regions from metering regions.Eino-Ville Talvala2012-10-101-3/+0
| | | | | | | Per API documentation, metering regions are only for AE, not also for AWB. Bug: 7312720 Change-Id: I39bcf33e4c81e80022f45e8fca77ea6cf9ba115e
* Camera: Limit valid caller PIDs for camera clients.Eino-Ville Talvala2012-10-102-20/+11
| | | | | | | | | Narrow down on PID checks to avoid cases where service can access the camera even though it shouldn't be able to, per API semantics. Bug: 6970469 Change-Id: Ic468a31949c28ef978b6ed48a70e4601c7ced684
* Merge "Camera: Clear Hardware device pointer when initialization fails" into ↵Eino-Ville Talvala2012-10-091-0/+1
|\ | | | | | | jb-mr1-dev
| * Camera: Clear Hardware device pointer when initialization failsIgor Murashkin2012-10-091-0/+1
| | | | | | | | | | | | | | | | When disconnecting, don't try to call device functions if the initialization fails since this can lead to internal HAL segfaults. Bug: 7317107 Change-Id: Ib65db7eb6556ee10d844959934b1bfd7bb08d0ff
* | Merge "Camera2: Fix uninitialized parameters." into jb-mr1-devEino-Ville Talvala2012-10-091-0/+8
|\ \ | |/ |/|
| * Camera2: Fix uninitialized parameters.Eino-Ville Talvala2012-10-091-0/+8
| | | | | | | | | | | | | | | | | | Some parameters were not being set to default values, causing strange flakiness in any app that wasn't calling setParameters. This includes many CTS tests. Bug: 6970468 Change-Id: If91635afc000e23862e7b039292a55349274c5ee
* | Merge "Camera2: Call onAutoFocus immediately for fixed-focus cameras" into ↵Igor Murashkin2012-10-091-0/+15
|\ \ | | | | | | | | | jb-mr1-dev
| * | Camera2: Call onAutoFocus immediately for fixed-focus camerasIgor Murashkin2012-10-091-0/+15
| |/ | | | | | | | | Bug: 7311578 Change-Id: Ib8a8ea1f5fc269abdd24ed1e0370dc9b87b284ee
* | Merge "Camera2: Move non-ZSL shutter sound firing to be later." into jb-mr1-devEino-Ville Talvala2012-10-092-5/+12
|\ \ | |/ |/|
| * Camera2: Move non-ZSL shutter sound firing to be later.Eino-Ville Talvala2012-10-082-5/+12
| | | | | | | | | | | | | | | | | | | | Instead of firing shutter sound when capture request is submitted for non-ZSL captures, fire it when the metadata frame is received. This guarantees that the shutter sound fires after picture capture is completed by the sensor. Bug: 7259900 Change-Id: I4a1eeed89ed0400bf80b0f0cc2d5799c3d9bb9e3
* | Merge "Camera2: Always disconnect in the client destructor" into jb-mr1-devEino-Ville Talvala2012-10-081-0/+4
|\ \ | |/ |/|
| * Camera2: Always disconnect in the client destructorIgor Murashkin2012-10-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | If Camera2Client failed to initialize, it would skip disconnect step, and thus the camera would be forever marked as busy. By always calling disconnect it will always call free. It also adds a new guarantee that Client::disconnect is idempotent Bug: 7298182 Change-Id: Ic9876f1665b7d9b3c0da692880f63f165e3f4fa5
* | Camera2: isSmoothZoomSupported should return FALSEIgor Murashkin2012-10-081-1/+1
|/ | | | | Bug: 7308024 Change-Id: Ib757bef8f6dc203f8dfa6ea6d11191e3c7cfcc6d
* Camera2: Set default flash mode to FLASH_OFFAlex Ray2012-10-081-2/+2
| | | | | Bug: 6970090 Change-Id: I904b1be2ee0710e82e8e647753a705184c10b46c
* Merge "Camera2: Fix Parameters#setZoom off by 1 validation error" into ↵Igor Murashkin2012-10-081-1/+2
|\ | | | | | | jb-mr1-dev
| * Camera2: Fix Parameters#setZoom off by 1 validation errorIgor Murashkin2012-10-081-1/+2
| | | | | | | | | | Bug: 7298683 Change-Id: If79ac6396379593eb852f041ca7d5a20ad2f9e6d
* | Merge "Camera2: On stopping preview, wait until captures are completed." ↵Eino-Ville Talvala2012-10-084-44/+57
|\ \ | |/ |/| | | into jb-mr1-dev
| * Camera2: On stopping preview, wait until captures are completed.Eino-Ville Talvala2012-10-074-44/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If preview is stopped while a still capture or a video snapshot is underway, wait until the capture completes before stopping preview. Also use the same behavior for disconnect - do not shut down the camera device until captures are complete. This works around HAL implementations which report to be done (get_in_progress_count returns 0) even when a capture is still outstanding. Bug: 7276954 Change-Id: I66290acf1740cc330eadecbcded0c59fa9c5d2fd
* | Merge "Camera2: Report getMaxNumFocusAreas 0 for fixed focus cameras" into ↵Igor Murashkin2012-10-082-7/+25
|\ \ | |/ |/| | | jb-mr1-dev
| * Camera2: Report getMaxNumFocusAreas 0 for fixed focus camerasIgor Murashkin2012-10-052-7/+25
| | | | | | | | | | Bug: 7298805 Change-Id: I7499b80a9416bf454c8ea80c31ea4fdd3c4ee2d7
* | Camera2: Fix off-by-one error in ZSL selection.Eino-Ville Talvala2012-10-061-3/+6
| | | | | | | | | | Bug: 7258126 Change-Id: Ie6da4645c46a7bb0dbd11d7c6183e904f41f74fd
* | Camera2: Unconditionally shut down streams on disconnect.Eino-Ville Talvala2012-10-051-1/+10
|/ | | | | | | | | | stopPreviewL may do nothing in certain states. Stop streams directly to avoid those failures, so that we always maintain the HAL interface invariant that streams referenced by in-flight requests are never deleted. Bug: 7276954 Change-Id: Ic4cffc43036f4944684d941981a43d6dd1dce7af
* Camera2: Fix metering regions to take into account the current zoom/crop regionIgor Murashkin2012-10-053-10/+150
| | | | | | | Also adds a quirk to disable this fix to work around for incompliant HALs Bug: 7246065 Change-Id: I80bad25e56ba59149270238e5639bb33cae495ae
* Camera2: Change policy for calculating previewFpsRange from previewFpsIgor Murashkin2012-10-052-15/+105
| | | | | Bug: 7259959 Change-Id: I759a559d7115201264f88db1f23edc2d6aef6c43
* Merge "Camera2: Don't promote weak IBinder ptrs to strong ones" into jb-mr1-devIgor Murashkin2012-10-052-12/+14
|\
| * Camera2: Don't promote weak IBinder ptrs to strong onesIgor Murashkin2012-10-052-12/+14
| | | | | | | | | | | | | | | | | | The Binder driver does not support promoting weak pointers into strong pointers. Occassionally the system would lock up when trying to do this (when closing the camera app). Bug: 7289040 Change-Id: I8bc0b5c48616bf0b7f4eed1878ad4994ee635871
* | Camera2: Use the triggerAfWithAuto quirkEino-Ville Talvala2012-10-043-0/+26
| | | | | | | | | | | | | | | | When this quirk is set, and a scene mode is enabled, do AF calls with AF mode AUTO instead of whatever the scene more override AF mode is. Bug: 7159577 Change-Id: I3ea6b8386abc0968047fc9bba3a35c5db5bdcfd3
* | Camera2: Synchronize mode changes and triggersEino-Ville Talvala2012-10-0412-66/+259
|/ | | | | | | | | Make sure that changes to various parameters have reached the HAL before triggering asynchronous events like autofocus or precapture metering. Bug: 7107220 Change-Id: I3c50038de1671968eb32004ce538435121934e7e
* Camera2: Include JPEG settings in ZSL requests.Eino-Ville Talvala2012-10-045-34/+75
| | | | | Bug: 7287743 Change-Id: I1aba81b228451c3df712ce1f42b7aab79cac575f
* Merge "Camera2: Fix deadlock while zooming during record" into jb-mr1-devIgor Murashkin2012-10-041-11/+11
|\