summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/device3
Commit message (Collapse)AuthorAgeFilesLines
* Camera3: fix missing string in logging codeZhijun He2014-05-061-1/+1
| | | | Change-Id: I15da6bb8b586b4641837f42d2145530fb45dd0bd
* Camera3: Don't notifyError for non-fatal errorsZhijun He2014-05-011-3/+0
| | | | | Bug: 14448494 Change-Id: Ie2e2dc6a8475189707c556845adb77f20f270df5
* Camera3: scale the max jpeg buffer size based on resolutionsZhijun He2014-04-252-2/+67
| | | | | | | | | | The max jpeg buffer size was always the android.jpeg.maxSize, regardless of the actual jpeg capture size. This creates a huge memory waste especially for smaller size jpeg capture. Now the max jpeg buffer is linearly scaled based on the resolution. Bug: 14288983 Change-Id: I8a971b8e2f4fc7fec0154547bdb688579af71a47
* camera3: Don't hold mLock during flush callZhijun He2014-04-211-2/+6
| | | | | | | HAL calls into Camera3Device functions like processCaptureResult during flush call. When Camera3Device runs into error state during flush call, processCaptureResult calls setErrorState(), which leads to deadlock. Change-Id: I35a03f6eb4b77f914097917cb37de98663de365f
* Merge "CameraService: fix waitUntilIdle bug revealed by TestingCamera2."Jianing Wei2014-04-211-4/+6
|\
| * CameraService: fix waitUntilIdle bug revealed by TestingCamera2.Jianing Wei2014-04-211-4/+6
| | | | | | | | | | | | | | | | * clear mStreamingRequestList in flush * fix frame number checker in notify and processCaptureResult Bug: 14166437 Change-Id: I022421080d05138f9068c1b9b85d83bd613b04fb
* | am dae621c2: am 95006625: Merge "camera: set mNeedConfig after creating ZSL ↵Eino-Ville Talvala2014-04-211-0/+2
|\ \ | | | | | | | | | | | | | | | | | | stream" * commit 'dae621c2c7f40f1587b97636975908e1374ade9a': camera: set mNeedConfig after creating ZSL stream
| * | camera: set mNeedConfig after creating ZSL streamYuvraj Pasi2014-04-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Set mNeedConfig after creating ZSL stream, camera device will reconfigure for the case when only ZSL stream is changed. Change-Id: Ib592817f81125969824a1280349f77973116f375
* | | Camera3: block until get an available bufferZhijun He2014-04-187-22/+103
| |/ |/| | | | | | | | | | | | | Camera3Stream shouldn't error out when the max number of buffers are already dequeued. It should block until next buffer returned from camera device. Bug: 11595505 Change-Id: If65a70c29cb04219e14ded0744059c0ab783444b
* | CameraService: fix race condition and wrong last frame number.Jianing Wei2014-04-172-156/+71
| | | | | | | | Change-Id: Ie2be9a77a0b074497615de38cbb8e8f13b4858ec
* | Merge "camera3: Remove register_stream_buffers for HAL 3.2+"Vineeta Srivastava2014-04-103-2/+78
|\ \
| * | camera3: Remove register_stream_buffers for HAL 3.2+Igor Murashkin2014-04-093-2/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use 'setprop camera.dev.register_stream 1' to skip the fatal NULL check - This property will be removed before shipping L Bug: 13301331 Bug: 13435680 Change-Id: I16aacd7b22e0a10b34f6fb8501be0256170a8cd5
* | | CameraService: trigger appropriate callbacks for burst capture.Jianing Wei2014-04-102-83/+197
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Instead of tracking CameraMetadata only, now we track both CameraMetadata and CaptureResultExtras, which is not part of the HAL metadata. This will enable the correct callback of onCaptureStarted and onResultReceived given burst requests. * Get last frame number in reply when submitting requests, canceling requests, and flushing device. For repeating requests, this frame number is the last frame number of the previous request. For non-repeating requests, this frame number is the expected last frame number of the current request. The goal is provide frame number to Java side in order to trigger onCaptureSequenceCompleted correctly. * Fix notifyError so that onDeviceError can be called correctly. Bug: 10749500 Change-Id: I2f3dda6c530090055d4a2ff9f0f087bbbe8d9257
* | Camera3: fix HAL3.x version check issueZhijun He2014-03-272-4/+4
| | | | | | | | | | | | Camera service should support HAL3.x instead of only HAL3.0. Bug: 13609405 Change-Id: If7e86f9abe019547fc0be2e11337551cd7c57870
* | Merge "Camera3: Fix flush call deadlock"Zhijun He2014-03-252-1/+12
|\ \
| * | Camera3: Fix flush call deadlockZhijun He2014-03-232-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | Flush shouldn't call waitUntilDrained directly, as they are all API calls with mLock and mInterfaceLock held. Move the waitUntilDrained implementation into waitUntilDrainedLocked to solve this issue. Change-Id: Id7d931091d5c11e12204790841097433515446db
* | | am 5c679d41: resolved conflicts for merge of 3d7c5002 to ↵Colin Cross2014-03-245-19/+19
|\ \ \ | |/ / |/| / | |/ | | | | | | | | klp-modular-dev-plus-aosp * commit '5c679d41714e42f153f6aeb492df54510a195bc1': libcameraservice: build 64-bit libcameraservice: fix 64-bit print format warnings
| * libcameraservice: fix 64-bit print format warningsColin Cross2014-03-215-19/+19
| | | | | | | | | | | | | | Use PRId64 from inttypes.h to print nsecs_t (int64_t) Use %zu to print size_t Change-Id: I135620e0388db33587a8a7da393b48a45cb7275a
* | Merge "CameraService: Add support for burst capture and repeating burst."Jianing Wei2014-03-222-0/+118
|\ \
| * | CameraService: Add support for burst capture and repeating burst.Jianing Wei2014-03-212-0/+118
| | | | | | | | | | | | | | | Bug: 10749500 Change-Id: I292a485b222e5cf97388d76bf0d956a6ac54bb2f
* | | Merge "Remove deprecated BufferQueue constructor"Dan Stoza2014-03-182-6/+10
|\ \ \
| * | | Remove deprecated BufferQueue constructorDan Stoza2014-03-122-6/+10
| |/ / | | | | | | | | | | | | Bug: 13415624 Change-Id: Ifc8f778b70102a38a9f7a086632e6884714e6b58
* | | camera3: Pass vendor tags through binder.Ruben Brunk2014-03-132-19/+0
|/ / | | | | | | | | | | | | | | | | | | Bug: 12134423 - Adds a class for parceling vendor tag definitions. - Passes vendor tag definitions to clients of the camera service. - Switches over to new vendor tag mechanism when reading from HAL. Change-Id: Icef3fe9e67160767bdb8244ac49c85b68b497123
* | resolved conflicts for merge of 566be7c3 to masterNarayan Kamath2014-02-112-3/+3
|\ \ | |/ | | | | Change-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce
| * Make frameworks/av 64-bit compatibleKévin PETIT2014-02-112-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Contains the necessary changes to make frameworks/av build and work on a 64-bit machine. Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
* | camera3: Delete output stream of bi-directional streamZhijun He2014-01-271-3/+7
| | | | | | | | | | | | | | Bi-directional stream (like Zsl stream) is both input and output streams. When deleted, both streams need to be deleted. Change-Id: I8b6bb9054fec264cc03754003797de0bae10cb20
* | Camera3: Flush device before ZSL reprocessZhijun He2014-01-231-1/+8
| | | | | | | | | | | | | | | | | | Call flush before sending ZSL reprocess request. This not only ensures no in-flight requests pending in the HAL before ZSL reprocess request, but also makes reprocess request to be processed by the HAL sooner. Bug: 12230973 Change-Id: I4c9e5a0fb75ccdc1e8861262c08d599d04170b7f
* | Merge "Camera3: Remove request from InFlightMap for error case"Zhijun He2013-11-211-2/+4
|\ \
| * | Camera3: Remove request from InFlightMap for error caseZhijun He2013-11-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | We don't expect HAL send back valid result metadata if error occurs for a request, such as during flush call. The request needs to be removed from in flight request map accordingly. Bug: 9758581 Change-Id: I51fe327337325ce72f11ce592778a2af02e98479
* | | Merge "Camera3: add systraces for hal open/close"Zhijun He2013-11-191-0/+4
|\ \ \ | |/ /
| * | Camera3: add systraces for hal open/closeZhijun He2013-11-191-0/+4
| | | | | | | | | | | | | | | Bug: 10901465 Change-Id: I32fb96aa0f9efd423bdb9a3d92c142a096a7a47f
* | | camera3: Remove BufferQueue::MIN_UNDEQUEUED_BUFFERS referencesIgor Murashkin2013-11-184-7/+29
| |/ |/| | | | | Change-Id: I4730ac7849e915e88d3b8fc8aa869f53a8242501
* | Camera API2: Add support for partial result quirkEino-Ville Talvala2013-11-122-6/+15
|/ | | | | | | | | - Camera3Device: Include requestId in partial 3A results - FrameProcessorBase: Add support for partial result listeners - CameraDeviceClient: Listen and forward partial results to client Bug: 11115603 Change-Id: If1cc6bbc32932742ac142c058688761ebf6a8024
* Camera HAL3/API1: Add support for the partial result quirk.Eino-Ville Talvala2013-11-062-8/+265
| | | | | | | | | | | | | | | | | | - Camera2Client: - Detect partial result quirk - Camera3Device: - Accumulate all partial results together - Fire off 3A-only result once all 3A states are available - FrameProcessorBase: - Filter out partials, don't send to listeners - FrameProcessor: - Skip face detect on partials - Make sure to only handle a 3A update for a given frame once - Trigger AF notifications when AF mode or trigger changes, to properly detect all AF transitions. Bug: 11115603 Change-Id: Iea8aa73c568701562a46071f7ea100624251d10b
* camera: Collect stack traces when bad things happen, print with dumpsysIgor Murashkin2013-10-291-0/+5
| | | | | Bug: 11324229 Change-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6
* Camera: Fix deadlock in Camera3OutputStreamZhijun He2013-10-111-1/+16
| | | | | | | | | | | process capture request thread, process capture result and setParameter binder threads can run into circular locking situation when acquiring StreamingProcessor lock, Camera3Stream lock, and bufferQueue lock. Releasing the Camera3Stream lock briefly in process capture request thread getbuffer call can break this deadlock. Bug: 11016037 Change-Id: If08d4b134c26be26039b1d5363759e60f911bad6
* Merge "Camera2/3: Add more tracing for API1" into klp-devEino-Ville Talvala2013-10-111-1/+0
|\
| * Camera2/3: Add more tracing for API1Eino-Ville Talvala2013-10-101-1/+0
| | | | | | | | | | | | | | | | | | | | - AF state - Async autofocus completion - Async takePicture completion - Stages of takePicture Bug: 10570497 Change-Id: Ida9fedd81aa4ee3ae3fb8dfada858a3bc3c213a3
* | Camera: Save 1 frame time for takePicture callZhijun He2013-10-092-9/+9
|/ | | | | | | | | | Move the latest request signal call right before submitting request to HAL, which avoids unnecessary 1 frame time wait. Also fix request status constructor issue, and the log tag for Camera2Client. Bug: 10570497 Change-Id: I0b1818658bee9983b117e49a5a00f1aab515c567
* Camera3: Improve resilience to stream failuresEino-Ville Talvala2013-10-082-13/+13
| | | | | | | | - Handle binder connection drops (DEAD_OBJECT) for streams - Just log an error, don't go to an error state when queue/dequeue fails Bug: 10347526 Change-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc
* Merge "Camera3: track request status in inflight queue" into klp-devZhijun He2013-10-032-1/+18
|\
| * Camera3: track request status in inflight queueZhijun He2013-10-032-1/+18
| | | | | | | | | | Bug: 9758581 Change-Id: I1d7135cd0932bd6b453acabfeb9a553985c887bc
* | Camera API 2, Device 2/3: Implement idle and shutter callbacksEino-Ville Talvala2013-10-0211-259/+866
|/ | | | | | | | | | | | | | | | | | - Update callback Binder interface - Rename frameId to be requestId to be consistent and disambiguate from frameNumber. - Implement shutter callback from HAL2/3 notify() - Add in-flight tracking to HAL2 - Add requestId to in-flight tracking - Report requestId from shutter callback - Implement idle callback from HAL3 process_capture_result - Add new idle tracker thread - Update all idle waiting to use the tracker - Add reporting from request thread, all streams to tracker - Remove existing idle waiting infrastructure Bug: 10549462 Change-Id: I867bfc248e3848c50e71527e3561fe92dc037958
* Camera3: Always set a trigger ID for an active triggerEino-Ville Talvala2013-09-162-0/+51
| | | | | | | | | | | This is to work around HAL implementations that expect to see an ID for every trigger. Use a dummy trigger ID of 1, since 0 has special meaning for older HALs. Bug: 10720617 Change-Id: I9cb1b8dbcb113cb9e737e5adb04032fd61a54c12
* Merge "camera3: Dump latest request sent with dumpsys" into klp-devIgor Murashkin2013-09-092-1/+78
|\
| * camera3: Dump latest request sent with dumpsysIgor Murashkin2013-09-062-1/+78
| | | | | | | | | | Bug: 10606535 Change-Id: I0dd5ca3e09f45701659ab9ebd3b51939a2f6e6ba
* | Camera: Correct stream id typesZhijun He2013-09-081-2/+2
|/ | | | | Bug: 10604704 Change-Id: I223ac5d200eb6439c08955fb7ad586592099fbae
* Camera3: Be busy as soon as work arrives.Eino-Ville Talvala2013-08-292-1/+19
| | | | | | | | | | | | | | RequestThread's internal busy flag (mPaused) was not being immediately set when new work was submitted to it. This allowed for a race condition where a capture() followed by an immediate waitUntilDrained() would immediately return from the wait. Set the mPaused flag to false immediately in capture() and setStreamingRequest() to avoid this, instead of waiting until the end of the next RequestThread iteration. Bug: 10531739 Change-Id: I54a79fe5361d527ec717f41ad805e9b319a48cd8
* Camera2: Add flush supportEino-Ville Talvala2013-08-232-0/+25
| | | | | | | | - On HAL2 devices, fall back to wait until idle - On HAL3 devices, call HAL flush method Bug: 9758581 Change-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a
* separte producer and consumer interfacesMathias Agopian2013-08-063-15/+4
| | | | | Bug: 9265647 Change-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c