summaryrefslogtreecommitdiffstats
path: root/camera
Commit message (Collapse)AuthorAgeFilesLines
* move native services under services/Mathias Agopian2010-07-1410-4255/+0
| | | | | | | | moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
* am 7df74471: Merge "Flush binder buffer after setting raw heap to avoid ↵Chih-Chung Chang2010-07-021-0/+1
|\ | | | | | | | | | | | | | | | | leaking a reference." into froyo Merge commit '7df7447112371fb5e46f6084b55ac2ccdfde139d' into gingerbread * commit '7df7447112371fb5e46f6084b55ac2ccdfde139d': Flush binder buffer after setting raw heap to avoid leaking a reference.
| * Flush binder buffer after setting raw heap to avoid leaking a reference.Chih-Chung Chang2010-07-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was: 1. In handleShutter(), thread A in CameraService calls registerBuffers(IMemoryHeap) and it's received by thread B in system_server. [transaction 1] 2. While thread A is waiting for the reply, thread B calls back to thread A to get the id of the heap (IMemoryHeap.getHeapID). [transaction 2] 3. Thread A replies transaction 2 and is preemptied in kernel. Thread B gets the reply and finishes registerBuffers and send reply for transaction 1. 4. When thread A runs again, it gets the reply for transaction 1 and returns to handleShutter(). 5. At this point the transaction buffer for transaction 2 (which holds a reference to IMemoryHeap) is not freed because the BC_FREE_BUFFER command is kept in thread A's local command queue and not sent to the kernel. 6. Normally when thread A makes next transaction, the BC_FREE_BUFFER command will be sent together (piggyback) with the commands for that transaction. But in this case thread A is a callback thread from camera driver, so it does not make any binder calls afterwards, and the IMemoryHeap is never freed (until the next time handleShutter is called). Change-Id: I435a258187509bdbbaf353339eb9ea577610cbd2
* | Change camera interface to support multiple cameras.Chih-Chung Chang2010-06-115-53/+52
| | | | | | | | Change-Id: Ie88fe706d2278acf762eca87780de349434778a4
* | Remove the lock/unlock workaround from CameraServiceJames Dong2010-06-091-4/+1
| | | | | | | | | | | | bug - 2677772 Change-Id: I7c996daad8b3bfc89e9fa2d655dc18c9a5c68f2f
* | Merge "Disable CameraServiceTest in a normal build." into krakenChih-Chung Chang2010-05-231-1/+3
|\ \
| * | Disable CameraServiceTest in a normal build.Chih-Chung Chang2010-05-141-1/+3
| | | | | | | | | | | | Change-Id: I18dfcb073e6a8e72ad35f47d6884f5f2f62d3dca
* | | Forgot to fix one -Wformat-security in my previous change. Fixed.Nick Kralevich2010-05-141-1/+1
| | | | | | | | | | | | Change-Id: Ice7459b30e1d7dbfe400b68d27ebc04fcca78bae
* | | Get rid of warnings when compiled with -Wformat-securityNick Kralevich2010-05-141-19/+19
|/ / | | | | | | Change-Id: Ibd814d894ff0eba26b01932b9865098b7bb26f95
* | another attempt at fixing the buildMathias Agopian2010-05-121-0/+6
| | | | | | | | Change-Id: I80b498d1bbb8f9ffcec4f27802be7ae9977f70ac
* | Force sooner/generic/sim to use camera stub only.Chih-Chung Chang2010-05-101-0/+5
| | | | | | | | Change-Id: Ie3251e3801cd09b3f373bbd4afb5fda82a0c5818
* | Fix for build without a hardware camera.Chih-Chung Chang2010-05-102-29/+18
| | | | | | | | Change-Id: Ib5a0b58ea9e02ae1df9d258de541726189147567
* | Support multiple cameras in framework.Chih-Chung Chang2010-05-108-1229/+1128
| | | | | | | | Change-Id: I081f0fbdca4b633715ea7c3b3d42f8662d27598a
* | Use timestamp from camera driver for CameraSourceJames Dong2010-04-281-1/+2
|/ | | | Change-Id: I09ddec69997c43b8f17fdd21304c76cb4c5ab8cf
* Still do dump() if we cannot get mServiceLock for a while.Chih-Chung Chang2010-03-051-1/+27
|
* Fix the rgb to yuv422sp conversion. The order of uv is different from theChih-Chung Chang2010-02-181-4/+4
| | | | original version, but it should be ok as the original Y,Cb,Cr are all incorrect.
* fix [2447659] fix improper usage of the YCbCr_420_SP formatMathias Agopian2010-02-161-2/+4
|
* get rid off the YUV formats at the libui layerMathias Agopian2010-02-161-2/+5
|
* split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian2010-02-116-13/+19
|
* API Extension: Support for optionally specifying a map of extra request ↵Andreas Huber2010-01-281-1/+1
| | | | | | | | headers when specifying the uri of media data to be played. related-to-bug: 2393577 Original change by Andrei Popescu <andreip@google.com>
* Add support for setting camera display orientation.Chih-Chung Chang2010-01-261-8/+24
|
* Add an orientation parameter for overlay, so we can do camera preview in ↵Chih-Chung Chang2010-01-213-17/+18
| | | | portrait mode.
* less log spewJoe Onorato2010-01-081-35/+34
|
* Remove some logging from camera operations. Bug 2346606.Dave Sparks2010-01-041-20/+20
|
* Add missing library in linker option. Currently the library is used by theDoug Kwan2009-12-091-0/+1
| | | | | executable but not specified. It is included via dependency of another shared object.
* Merge change I5ff64f6f into eclair-mr2Android (Google) Code Review2009-12-022-0/+869
|\ | | | | | | | | * changes: Add CameraServiceTest.
| * Add CameraServiceTest.Chih-Chung Chang2009-11-132-0/+869
| |
* | am bb3bb57a: Merge change I524dc046 into eclairEric Laurent2009-12-011-4/+16
|\ \ | | | | | | | | | | | | | | | | | | Merge commit 'bb3bb57a6330f71323fcd7e93e88dbdab55daec3' into eclair-mr2 * commit 'bb3bb57a6330f71323fcd7e93e88dbdab55daec3': Fix issue 2192673: Music Pausing Even when notifications are set to silent.
| * | Fix issue 2192673: Music Pausing Even when notifications are set to silent.Eric Laurent2009-11-271-4/+16
| |/ | | | | | | Do not play ringtones, notifications or camera sounds if ringer mode is silent.
* | Set more camera parameters initial values.Owen Lin2009-11-272-1558/+747
|/ | | | | | | We will need those values for new camera framework. And change the canned jpeg image to match the new width and height setting. Change-Id: I49f8fb63d2b859b9e9f1c5d27657a10203315bb6
* Fix potential deadlock in stopPreview/stopRecord.Dave Sparks2009-11-102-29/+46
| | | | | | | | | | | | | Some camera HALs spin up a preview thread and need to wait for the thread to exit. This can create a potential deadlock. In stopPreview, we take the main lock. If a preview callback occurs while the lock is held, the preview thread will block. If the camera HAL is waiting for the preview thread to exit, this will cause a deadlock. This patch breaks out the preview buffer heap into a separate mutex. This mutex is never held when the main lock is held, thus preventing the deadlock from occuring.
* Hold a lock while we access the preview heap.Dave Sparks2009-11-061-7/+14
| | | | | | | | | | copyFrameAndPostCopiedFrame was not holding a lock while it accessed the preview heap. If the client process is torn down while the heap is accessed, the memcpy could access memory that was deallocated. This patch creates a local sp reference to the preview heap while holding the lock, then releases the lock. This should prevent the heap from being pulled out from underneath us.
* Use image rect information to display zoomed picture.Wu-cheng Li2009-10-292-4/+18
|
* Don't callback on NULL client. Bug 2180510.Dave Sparks2009-10-152-30/+63
| | | | | | | | We weren't checking to see if there was a valid camera client when calling the notify callback function. Now we grab a strong pointer before the callback to guarantee that the client is not destroyed before we complete the callback. This change also fixes other places in the code where we weren't holding a local strong pointer.
* Retry overlay create if it fails. Bug 2153980.Dave Sparks2009-10-071-1/+13
| | | | | | | | Occasionally we see references to the overlay hanging around long enough to cause problems in applications when they tried to destroy the overlay and re-create it. This patch causes the camera HAL to retry the overlay creation call if it fails every 20ms up to 50 times before it gives up.
* Add zoom functions and sendCommand.Wu-cheng Li2009-10-064-3/+29
| | | | b2060030
* Fix 2083478: Camera needs an auto-focus cancel APIChih-Chung Chang2009-09-154-1/+25
| | | | Change-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2
* Pass return code from Camera HAL for setParameters().James Dong2009-09-131-2/+1
| | | | bug 2116866
* CameraService change for OVERLAY_FORMAT_DEFAULTSnigdha Sinha2009-09-081-12/+1
| | | | Originally from: https://partner.source.android.com/g/#change,829
* Modified the camera HAL interface to use the same generic callback ↵Benny Wong2009-08-134-291/+292
| | | | architecture as camera services
* In the simulator, make sure that the preview thread is a Java thread,Marco Nelissen2009-08-132-3/+18
| | | | since we won't be going through the binder in single process mode.
* Fix issue 1795088 Improve audio routing codeEric Laurent2009-07-231-8/+1
| | | | | | | Initial commit for review. Integrated comments after patch set 1 review. Fixed lockup in AudioFlinger::ThreadBase::exit() Fixed lockup when playing tone with AudioPlocyService startTone()
* Hardware overlay supportBenny Wong2009-07-162-6/+47
| | | | Enable hardware overlay support for camera and video playback use cases
* resolved conflicts for merge of 04c7d0f8 to masterDave Sparks2009-07-082-8/+7
|\
| * Add timestamps to video frames to improve A/V sync.Dave Sparks2009-07-082-8/+7
| | | | | | | | Bug 1927069.
* | am b8a10fe4: Allow setPreviewDisplay after startPreview.Wu-cheng Li2009-07-012-50/+91
|\ \ | |/ | | | | | | | | | | Merge commit 'b8a10fe45657f2dcc50cae8a06805f8438a6937e' * commit 'b8a10fe45657f2dcc50cae8a06805f8438a6937e': Allow setPreviewDisplay after startPreview.
| * Allow setPreviewDisplay after startPreview.Wu-cheng Li2009-07-012-50/+91
| |
* | am c6a482e7: Merge change 5199 into donutAndroid (Google) Code Review2009-06-242-11/+11
|\ \ | |/ | | | | | | | | | | Merge commit 'c6a482e778e7b5fc5790edf22e554c93f53b1112' * commit 'c6a482e778e7b5fc5790edf22e554c93f53b1112': Only remove client after the hardware is teared down, so a new client
| * Only remove client after the hardware is teared down, so a new clientChih-Chung Chang2009-06-252-11/+11
| | | | | | | | | | | | is rejected before old client is done. Also check mUsers in all cases to make sure there are no existing client.
* | am 82a32714: Merge change 5190 into donutAndroid (Google) Code Review2009-06-242-12/+44
|\ \ | |/ | | | | | | | | | | Merge commit '82a32714f07d25259b91163d383ccdb74a166d2d' * commit '82a32714f07d25259b91163d383ccdb74a166d2d': Fix 1933269: startPreview failed.