summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/CameraSource.cpp
Commit message (Collapse)AuthorAgeFilesLines
* stagefright: Remove the HAL3 limitation from the video reference clock selectionRicardo Cerqueira2016-08-101-2/+1
| | | | | | | | Usage of boot-time as the timestamp reference isn't necessarily limited to HAL3. A single property check for media.camera.ts.monotonic is enough to cover all cases. Change-Id: Ic56dbcc6ba32c25bccde6dd0bbf07d4c918af43e
* Merge tag 'android-6.0.1_r61' into HEADJessica Wagantall2016-08-021-0/+29
|\ | | | | | | | | | | Android 6.0.1 Release 61 (MOB30Z) Change-Id: Ic86e42d5fb8f81fe5c4f58d2e76852829c609760
| * DO NOT MERGE: Camera: Adjust pointers to ANW buffers to avoid infoleakEino-Ville Talvala2016-06-231-0/+29
| | | | | | | | | | | | | | | | Subtract address of a random static object from pointers being routed through app process. Bug: 28466701 Change-Id: Idcbfe81e9507433769672f3dc6d67db5eeed4e04
* | frameworks/av: Fix video recording breaksKeith Mok2016-04-151-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Id0af9c8aed1a983095275ac03f7f59abc31594cc using boot time for video recording start time as default, but it is specific on devices using qcom camera HAL3 and it breaks all devices using camera HAL1. Fix by changing the default behaviour when property media.camera.ts.monotonic is not set. And newer devices such as 8996 might need to setprop media.camera.ts.monotonic 0 in order to work properly when using camera HAL3. Change-Id: Iee07ed1147713a6397fff43e3bbd4f4ed08b56b7
* | video: Use boot clock for recording start timeSurajit Podder2016-04-131-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Camera HAL3 uses boot time for buffer timestamp, rather than system monotonic time. This leads to issues as framework uses system monotonic time as reference start time for timestamp adjustment. Add change to use boot time for reference start time. CRs-Fixed: 946735 Change-Id: Id0af9c8aed1a983095275ac03f7f59abc31594cc
* | Revert "Stagefright: Allow setting high-framerates in CameraSource"Keith Mok2016-01-221-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b5ccf81c19a7e9ce9b330abe734f1bae76d50796. That patch breaks "High Speed 60 FPS" and it fails in CameraSource::checkFrameRate which it compares the preview frame rate: Failed to set preview frame rate to 30 fps. The actual frame rate is 60. SAMBAR-1261 Change-Id: I6adf1432bf901e8ba37b1b86621e117e77cbf853
* | libstagefright: Support YVU420SemiPlanar camera formatEthan Chen2016-01-111-0/+4
| | | | | | | | Change-Id: I631ba6267b3769d9da498329a39ac89c609be6d8
* | libstagefright: squash exynos4 supportSimon Shields2015-12-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit e41cc838b6212f8711c550522e8cefc95f003a67 Author: rINanDO <drjisakh@gmail.com> Date: Mon Aug 10 13:56:56 2015 +0200 stagefright: Exynos4 MPEG4 decoder should set native color format. Change-Id: I41bee77d48fc0b35691b94585de10269579ae789 commit a50263c53a1ecd0f75688f7042dd5e5d9badbc39 Author: Caio Schnepper <caioschnepper@gmail.com> Date: Wed Jun 10 22:26:07 2015 -0300 libstagefright: back off exynos4_enhancements HWC_HWOVERLAY usage The open source hwc doesn't support the GRALLOC_USAGE_HW_FIMC1 | GRALLOC_USAGE_HWC_HWOVERLAY combination. Removing HWC_HWOVERLAY allows FIMC1 to do decode/color conversion. Change-Id: Ibdfa9e5dd170e99e0d994540979e88e519931641 commit 63286a333bde1aa047de4e2fde8da1b59e42a16d Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org> Date: Sun Nov 3 02:45:19 2013 +0000 exynos4: libstragefright: add support for samsung colorformat/omx/mfc Source: http://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/av/commit/?h=exynos-jb&id=1614612f7ca2a00473d202dbedcb135fadc608ad Conflicts: media/libstagefright/ACodec.cpp media/libstagefright/OMXCodec.cpp cherry pick from 906eba9f Change-Id: I1c174f8e9fa9bd3ed16a0399f070b6680f6a331c Change-Id: I47f5b09b37ea5376a45c80c9dd91a7fbd0c3361a
* | stagefright: Fix more compilation warningsd34d2015-11-071-3/+3
| | | | | | | | | | | | | | * Fix format specifiers for int64_t * Fix format specifiers for size_t Change-Id: I25a775ac3eda092e36fc231ec16698a1c4a66f8b
* | stagefright: Fix compilation warningSteve Kondik2015-11-071-4/+4
| | | | | | | | | | | | * Fix format specifiers for int64_t Change-Id: If3f05d0c8c1471ea0b3a97d90a5a774a5c168915
* | stagefright: Squashed commit of pause/resume featuresSteve Kondik2015-11-071-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 2 APIs (suspend/resume) in MediaPlayer - API:suspend() will just pause the player and release all the decoders to replace release() which will release the whole player - API:resume() will just init the decoders again, then start() will be called to restart streaming playback - Add a check in AwesomePlayer::onVideoEvent() to make sure the first seek operation will always seek to the next i-frame Change-Id: Ie4c82906a2a056378119921a656128ebdc1007c4 audio: Add pause support for hardware omx component - ADSP doesn't enter sleep state after wma playback is paused and power suspended. - No support for NT session pause in case of hardware component. NT session need to be paused to put ADSP into power collapse. - Add support of pause in stagefright to ensure device enters suspend mode. Also add intermediate states to avoid concurrency issues between read and pause. Change-Id: I41b946b8c8805e6ee303646b63513b5b16514ef6 libstagefright: Drain input buffer on resume - Buffers returned from codec in paused state are not drained. When codec is resumed these buffers are not drained until the next flush, and may cause timed out issue. - Added change to drain input buffers for sw decoders when resuming. Change-Id: Ida2ab1d5dc3a1910accdd6fb89548262a912d8e7 CRs-Fixed: 569585, 574967 libstagefright: camcorder pause-resume implementation - Add pause resume feature in camcorder app. So that user can pause recording and resume later which results in a single recorded clip. Change-Id: Id19c45ae5bb85265aa4d5304b160ebf119d9575a libstagefright: support pause/resume for timelapse recording Modify the timestamp calculation mechanism in CameraSourceTimeLapse in order to support pause/resume. Change-Id: Icb02ea798b0b807ffb7ada2d1ef5b2414b74edfb
* | libstagefright: Add support for NV21 color formatAndreas Schneider2015-11-041-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the native color format 'OMX_SEC_COLOR_FormatNV21Linear' of exynos5 which is NV21 and needed for the camera. You can turn it on with: BOARD_USE_SAMSUNG_COLORFORMAT_NV21 := true It requires const char CameraParameters::PIXEL_FORMAT_YUV420SP_NV21[] = "nv21"; to be specified in CameraExtraParameters.h. Change-Id: I64ca86d074468b1e7a2958a73c3c0380e64a9fc0 Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
* | Stagefright: add a NULL check before accessing camera paramsPraveen Chavan2015-10-071-0/+5
| | | | | | | | | | | | | | | | Camera may return NULL params if the remote object is dead. Check for NULL and report error rather than crash. Change-Id: Id1fcd04dc187aadf00ca4ec5e48fb495c3369c92 CRs-Fixed: 906099
* | avextensions: Add support for Codec Extension featuresShalaj Jain2015-10-061-0/+4
| | | | | | | | | | | | | | | | | | | | Add support for Codec extension features like skype, vqzip, b-frame encoding, prefer adaptive playback etc. Add extensions to support encode batching. Also enable Werror for libavextensions. Change-Id: Ia342d4abe4bb1e21b9ff2b8213fb96421485a333
* | Stagefright: Allow setting high-framerates in CameraSourcePraveen Chavan2015-10-061-0/+12
|/ | | | | | | | | | | | | CameraSource (legacy Camera) treats framerate set via MediaRecorder.setVideoFrameRate as _both_ camera-preview-fps and video-encoder-fps. Trying to set high fps for encoder will inadvertently fail trying to set the same value for camera-preview. Read the custom camera parameter to detect if this is a high-speed request, selectively set the fps only for video, and default to 30fps for preview fps. Change-Id: If66211dd81b2a08d4df4c6f23e87304e9e7013f4
* skip dropped frame without timestamp checkingChong Zhang2015-08-191-7/+12
| | | | | | | also skip frame if timestamp is going backward, instead of crash. bug: 23191439 Change-Id: I179157bf67bc972b8ebf852d80653daa6e496f1c
* stagefright: ask for flex-YUV camera buffers for software encodersLajos Molnar2015-06-261-3/+7
| | | | | Bug: 13222807 Change-Id: I854b73a63cf9239311729598241725d84e8513aa
* Camera1 API: Support SW encoders for new camera HALsEino-Ville Talvala2015-06-081-0/+17
| | | | | | | | | | | | - Support new set video format/dataspace command in camera service - HALv3: Select gralloc usage flags based on format - HALv1: Pass format command directly to HAL layer - Use format/dataspace command in CameraSource - Switch all API1 recording to use metadata mode - Switch all >= HALv2 API1 recording to use kMetadataBufferTypeANWBuffer Bug: 13222807 Change-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42
* stagefright: warnings be gone, some are now errors, use clangLajos Molnar2015-04-171-4/+4
| | | | Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
* Update calls to IInterface::asBinder()Marco Nelissen2014-11-141-3/+3
| | | | | | to use the new static version. Change-Id: I89a5988a0ac694ffc04d88cf939e8455bf925d4c
* am c3ddddbd: Merge "release camera without holding CameraSource mutex" into ↵Chong Zhang2014-10-221-41/+58
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-dev automerge: 168799c * commit 'c3ddddbd4ec1fe2c570a25925db6b396fb83badf': release camera without holding CameraSource mutex move audio sink open/close to NuPlayerRenderer Fix freed memory references audio policy: move intializations to onFirstRef() Fix VideoFrame class layout for 64/32 bit NuPlayer: wait for renderer flush before decoder shutdown Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp send available codec buffer count with codec notification mediarecorder: set level if setting default profile stagefright: move math templates into AUtils.h NuPlayer: Fix flush mode decoder error handling Revert "Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp" GenericSource: support disconnect before NuCachedSource2 is created mediaplayer: make frame-accurate avsync configurable
| * release camera without holding CameraSource mutexChong Zhang2014-10-211-41/+58
| | | | | | | | | | Bug: 17997578 Change-Id: Iba93848ad10ba84d2d836573da7ce242c761582f
* | libstagefright: compile errorsMark Salyzyn2014-10-081-0/+1
|/ | | | Change-Id: I752d7d73f9c4939160a1ccaefc44ce1f8ffd9982
* libstagefright: 64-bit compile warningsMark Salyzyn2014-06-261-7/+9
| | | | Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b
* Handle recording failure more gracefully.Ruben Brunk2014-02-181-8/+19
| | | | | Bug: 13027666 Change-Id: Iec8239bfcd293c8f466b3780e69883b97f387949
* warnings be gone.Andreas Huber2014-02-111-1/+10
| | | | Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
* Camera1: Rename setPreviewTexture to ...Target for clarityEino-Ville Talvala2013-08-211-1/+1
| | | | | Bug: 10312644 Change-Id: I19976188f0359bfd177209fb40145defdae9c740
* remove uses of Surface in favor or IGraphicBufferProducerMathias Agopian2013-03-121-3/+3
| | | | Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
* CameraService and Stagefright: Support AppOpsEino-Ville Talvala2013-02-251-8/+19
| | | | | | | | | | | | | Camera: - Signal to AppOpsService when camera usage starts and stops - Listen to permissions revocations and act on them - Currently just kill camera connection when permissions lost Stagefright: - Pass on client name, UID to camera as needed Bug: 8181262 Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
* Turn off executable bit on ordinary filesGlenn Kasten2012-11-021-0/+0
| | | | Change-Id: I0abea25b58fb1d03975bed9cca40f826fcd4c5e4
* Dynamically configure the number of video buffers used by camera source, if ↵James Dong2012-08-021-3/+25
| | | | | | | | supported o related-to-bug: 6920805 Change-Id: I413bb50954cc84e32ed40bcb713842dc7b58e2b6
* Codecs: Add MetaDataMode support to software video encoders.Eino-Ville Talvala2012-07-241-0/+4
| | | | | | | | | | | | | | This support is needed to enable efficient video recording with emulator and camera HAL 2. - Update SoftAVCEncoder and SoftMPEG4Encoder to support MetaDataMode extension. - Allow CameraSource to handle opaque pixel formats, so that MetaDataMode can be used. - Remove hardware codec restriction for MetaDataMode Bug: 6243944 Change-Id: I970eb3d55542a413b6d75a78f76d3a8583155601
* Remove new camera connect API.Wu-cheng Li2012-04-191-1/+1
| | | | | | | | Applications are not resumed under the lock screen now. This API is not needed anymore. bug:5584464 Change-Id: I115daf6b647348617ec0fc05b626878c945b9b29
* Merge "Do not set camera preview display if the surface is null."Wu-cheng Li2012-03-191-3/+7
|\
| * Do not set camera preview display if the surface is null.Wu-cheng Li2012-03-191-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | MediaRecorder.setPreviewDisplay() is not required if applications use MediaRecorder.setCamera(). Besides, this causes a problem when apps use Camera.setPreviewTexture. Camera service thinks the surface texture from Camera.setPreviewTexture and the surface from MediaRecorder.setPreviewDisplay are different. bug:5988937 Change-Id: Ia345705b6679ef349db6e354feaa3cc0fe8bcd8c
* | Add a new camera open API that allows taking the ownership.Wu-cheng Li2012-03-151-1/+1
|/ | | | | | | | | | | | | | The purpose is to let face unlock always get the camera successfully. What happened was the camera applications may have opened the camera in onResume under the lock screen. This API lets face unlock take the camera from the camera application. A new permission will be added, so other applicatoins won't be able to take the camera from the face unlock. bug:5584464 Change-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6
* fix libgui header locationMathias Agopian2012-02-271-1/+1
| | | | Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
* Move away from MediaDebug and use ADebug insteadJames Dong2012-02-101-5/+6
| | | | Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
* Don't call virtual functions in the destructor for audio and camera source ↵James Dong2012-02-021-4/+4
| | | | | | classes Change-Id: Ia74ffc1c0cbd7971697f5e3c476e340ec5c7727a
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-11/+11
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-061-4/+4
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-041-2/+2
| | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block2012-01-031-3/+3
| | | | | | | See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
* am d0a25456: am 02740dc4: Merge "Fix log spamming during time lapse video ↵James Dong2011-11-211-2/+7
|\ | | | | | | | | | | | | recording" into ics-mr1 * commit 'd0a254566f5f0be5607b4d64839a575c888c94f6': Fix log spamming during time lapse video recording
| * Fix log spamming during time lapse video recordingJames Dong2011-11-211-2/+7
| | | | | | | | | | | | Change-Id: I4fc0809203684ebb02eaf217d7abad00aefc898f related-to-bug: 5626569
* | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-21/+21
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* When Camera is launched by media recording framework, stagefright controls ↵James Dong2011-08-241-0/+9
| | | | | | | the stop and release. Change-Id: Ic79a60dad0f617a845211d3fbe146c1648a71da3 related-to-bug: 5205804
* Do not release recording frames if camera is goneJames Dong2011-08-051-1/+1
| | | | | Change-Id: Ia6038c1a3ca17207e43a955ec47c42cdff1f5a76 related-to-bug: 5129465
* Pass camera frame metadata from camera service to Java.Wu-cheng Li2011-08-021-2/+4
| | | | | bug:4460717 Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
* Let the media recording framework release the Camera object when it is the ownerJames Dong2011-07-201-15/+35
| | | | | | related-to-bug: 5050535,5036813,5051707 Change-Id: I88e10f65f087931e7f95ab26a018d59f7361103e