40d3aad3972244f05888f03343cc1d23150532da |
09-Apr-2015 |
Paul Rohde <codelogic@google.com> |
Increase the thread priority of critical camera components. This increases the priority of the frame server and metadata response listeners that must respond immediatly to frames and callbacks that are returned from the camera HAL. Both threads have a tiny amout of code and callbacks that get run but must not block or they will stall the preview on image capture. This appears to only have limited impact on jank in the app. Bug: 19076469 Change-Id: I41845e094feffb1ecd3be9613489a3d70f916580
magedistributor/ImageDistributorFactory.java
|
36a1ad23bead41193e22442d3196e93a01ec7fe6 |
31-Mar-2015 |
Puneet Lall <puneetl@google.com> |
Add support for dynamic ring-buffer max size Enables specifying a maximum ring-buffer size. Setting the ring-buffer size to a value smaller than ImageReader#getMaxImages reduces the number of android.media.Images held open at a steady-state at application startup. Because ImageReader images are allocated on-demand, this mitigates stuttering in the preview-stream caused by massive allocations that would otherwise occur as the ring buffer expands. Bug: 19989536 Change-Id: I5623d0cd0da6542599f430f0dcbf97d581ec8df1
slSharedImageReaderFactory.java
ingbuffer/DynamicRingBuffer.java
ingbuffer/DynamicRingBufferFactory.java
|
29ef6293a9d3ff61b1e32fd61594fb60fd3f2e36 |
17-Mar-2015 |
Puneet Lall <puneetl@google.com> |
Detect and log missing images Adds logic to detect and log when the camera framework fails to deliver an image, but successfully delivers subsequent images. Bug: 19430369 Change-Id: I404888882879ac021ba84d725732e9c9a9c61f05
magedistributor/ImageDistributorFactory.java
magedistributor/ImageDistributorImpl.java
|
80aed3c513dc6a6670e25ef6e11bc71ab6a2d9fd |
23-Feb-2015 |
Senpo Hu <senpo@google.com> |
Fix resource leak when CaptureIntentModule goes to StateBackground. Make RefCountBase more solid. Bug: 18726217 Change-Id: Ibb5d731f8891627e832d5961f0e736aaaaff7078
magedistributor/ImageDistributorImpl.java
magedistributor/RefCountedImageProxy.java
|
da9d37d2fcc37e071fb2cab15bbc2b860d443347 |
18-Feb-2015 |
Puneet Lall <puneetl@google.com> |
Fix resource leak Bug: 19407130 Change-Id: Ia08013c1240a2e3e4b9a55d0a08be06d3f4f91b3
magedistributor/ImageDistributorFactory.java
|
b4b27f2c7738cd5e3f31a281d66a33f4698810b3 |
16-Jan-2015 |
Shashi Shekhar <shashishekhar@google.com> |
Port burst to use FrameServer. Port burst to frameserver - simplifies burst interfaces - removes burst methods from OneCamera. - locks orientation when burst is running. - Deletes most old code for burst integration. - Removes frame distributor preview forwarding, instead frames are streamed using a surface texture the Surface for which is passed as a output target to the create capture session. - Deletes FrameDistributor, now the low-res frames are streamed to a new surface specifically setup for burst. Change-Id: I50f2955bb48610a7e284f9609cd70b8e4e1f1059
slSharedImageReaderFactory.java
|
adf3b29e69726175761fa2a5558c545822024bed |
06-Feb-2015 |
Puneet Lall <puneetl@google.com> |
Minor cleanup Change-Id: I1c8a953762fc51ddaabd0b3b0a82ec2a95e4757d
ingbuffer/AvailableTicketCounter.java
|
11bdc0f19a00094b8003155e89ffcbe12ad0536a |
06-Feb-2015 |
Puneet Lall <puneetl@google.com> |
Merge "Implement ready state" into ub-camera-haleakala
|
63204dc989dbd0eba56f65086fde0ebe29ed6bdb |
31-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Implement ready state Bug: 18934542 Change-Id: I1dc27eb3f8fb1ef156ae8643b2b5e92f013c4e4b
slSharedImageReaderFactory.java
etadatasynchronizer/MetadataPool.java
ingbuffer/AvailableTicketCounter.java
ingbuffer/DynamicRingBuffer.java
ingbuffer/DynamicRingBufferFactory.java
ingbuffer/QueueFlusher.java
ingbuffer/TicketPoolPrioritizer.java
|
1318feb043f89f8309a7d4cf53ccaa7a58939c98 |
06-Feb-2015 |
Puneet Lall <puneetl@google.com> |
Rename ImageStreamFactory to ManagedImageReader Improves documentation for the internal camera2 wrapper API. Change-Id: I62d0c9aa52f5254c45fc06f2792f92b9b90e3e31
mageStreamFactory.java
anagedImageReader.java
haredImageReaderFactory.java
slSharedImageReaderFactory.java
magedistributor/ImageStream.java
|
e265ca85ba762062461126471ed1f3053907cfef |
03-Feb-2015 |
Puneet Lall <puneetl@google.com> |
Fix race condition in MetadataPool implementation Existing code synchronized on the wrong object. Bug: 19237665 Change-Id: Icd50b3b0dee8a03dfb0696af01351323493d7b0c
etadatasynchronizer/MetadataPoolImpl.java
|
e919a48fb40b9d6c698a495acf40adbc0e320431 |
22-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Enable tracking of image availability To allow updating the UI whenever image reader space is exhausted, we must be able to track whether or not non-zsl images can be allocated at any given time. This CL implements this for the general case of both single images as well as for finite bursts. Bug: 18934542 Change-Id: Ia8c6e03f631cf47e4385cb8da1e3f6d74e7901a2
haredImageReaderFactory.java
slSharedImageReaderFactory.java
ingbuffer/TicketPoolPrioritizer.java
icketpool/FiniteTicketPool.java
icketpool/ReservableTicketPool.java
icketpool/TicketPool.java
icketpool/TicketProvider.java
|
1738db31add0aea5a6a6f2c137ca6fc476a10237 |
30-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Fix bug in counting open images Bug: 19156045 AndroidImageReaderProxy previously would return an instance of itself via onImageAvailable. This caused a problem because it bypassed the LoggingImageReaderProxy and CloseWhenDoneImageReaderProxy decorators. This change also includes additional minor fixes for potential issues, specifically, it also synchronizes access to each android.media.Image and ImageReader because they are not thread-safe. Change-Id: I0d76c07ae37b09cdec40f7d7789b49f7397fb414
magedistributor/ImageDistributorFactory.java
magedistributor/ImageDistributorOnImageAvailableListener.java
magedistributor/RefCountedImageProxy.java
etadatasynchronizer/MetadataReleasingImageQueue.java
til/TicketImageProxy.java
|
a8c94d5c059db2598caca676f0cab47a997ef631 |
23-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Enable testing of ZslSharedImageReaderFactory * Migrate from CloseableHandlerThread to HandlerFactory to remove all direct dependencies on the platform. Change-Id: I3d6aca94cd6f9559596d157b86c174bfb8801f90
haredImageReaderFactory.java
slSharedImageReaderFactory.java
magedistributor/ImageDistributorFactory.java
|
91fbd8cb64a5aa9ec67e04c94c76a94c82033406 |
23-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Merge "Wait for AE/AF convergence before taking pictures" into ub-camera-haleakala
|
f0eda77c4651a436420d8b9a958f8f83e1e89800 |
23-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Merge "Close ImageReaders after the camera is closed" into ub-camera-haleakala
|
b8397360d318edf3093b20b2b102207d76730e1b |
14-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Close ImageReaders after the camera is closed Bug: 18841114 Change-Id: Ifc0b79e70059efd8f8ace2c29243406b524ad918
haredImageReaderFactory.java
slSharedImageReaderFactory.java
magedistributor/ImageDistributorFactory.java
magedistributor/ImageDistributorOnImageAvailableListener.java
|
875d9fff24e283efa5d95ad75c3fab074e489fa4 |
15-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Wait for AE/AF convergence before taking pictures Bug: 18997124 Change-Id: I27b06186acde05c81d31042f330b6dabeac865cf
llocatingImageStream.java
mageStreamFactory.java
ingleAllocationImageStream.java
|
f00bc6d1f9d76ab649384825b66110bdb2b1b1ba |
22-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Add missing copyright header Change-Id: Ia0198b9661ef5882e998ac0a6bb17cffc013057a
icketpool/ReservableTicketPool.java
|
67f1358059efee259a94f50e9b094a809e7cd121 |
16-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Add method for preallocating image-reader space For non-zsl picture-taking, it is critical that image-reader space be allocated prior to starting the precapture AF/AE sequence. Bug: 18997124 Change-Id: Id931d687c4034dadab3aee60142b096f298216a7
mageStreamFactory.java
|
4961ad31d9a877e3a68566fb5d4b33b7f79ce44e |
08-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Filter ZSL images based on frame metadata Introduces a new metadatasynchronizer package with functionality for retrieving metadata (TotalCaptureResults) for images which have been added to the zsl ringbuffer. To enable unit-testing, proxy objects for CaptureRequest, CaptureResult, and TotalCaptureResult have been added, so they can now be mocked. Bug: 18964540 Change-Id: I8374350e09d33f54ff241f23fd005013ed26dab0
icketRequiredFilter.java
slSharedImageReaderFactory.java
etadatasynchronizer/MetadataPool.java
etadatasynchronizer/MetadataPoolFactory.java
etadatasynchronizer/MetadataPoolImpl.java
etadatasynchronizer/MetadataReleasingImageQueue.java
ingbuffer/DynamicRingBuffer.java
|
e250f88bc01267f03ae3ae192698b0f07c9e425b |
08-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Fix bug in ReservableTicketPool not being fair Calls to acquire() by multiple threads could previously violate fairness and result in starvation in extreme cases. The associated unit-test was previously flaky and failed only occasionally. Change-Id: I7ae9bead2ac3cb6d7e81e88076bef2ea08e7d368
icketpool/ReservableTicketPool.java
|
20aa834e03da0af6d3d9c64086efb4a1f6f424b5 |
05-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Fix possible ConcurrentModificationException Bug: 18895233 Change-Id: Iece6bd467c74082e2ea48df2ff9bb51767b75c17
magedistributor/ImageDistributor.java
magedistributor/ImageDistributorImpl.java
|
a9f8690dec58c14a453bf3628d672d58b0132a40 |
02-Jan-2015 |
Puneet Lall <puneetl@google.com> |
Fix race condition in which close() may deadlock Change-Id: I422471ed47216dafd7f3114fc3d1ea7f47d281c3
mageStreamImpl.java
ingleAllocationImageStream.java
|
9ad0984f36ff9cd133c61c4e979032988b77a995 |
31-Dec-2014 |
Puneet Lall <puneetl@google.com> |
Replace Pollable with Guava Supplier Change-Id: Ibd4359cf5f0c7dbacb534dcb098d77a1f2f36133
ingbuffer/DynamicRingBufferFactory.java
ingbuffer/TicketPoolPrioritizer.java
|
84427a8d1cf3fed4fd3937a24df101745c64cfda |
23-Dec-2014 |
Puneet Lall <puneetl@google.com> |
Add logging to track the total number of open images. Change-Id: I62e4cf54c856c537bebd557efc7215481ac6e383
magedistributor/ImageDistributorFactory.java
magedistributor/ImageDistributorOnImageAvailableListener.java
|
8d40d27547bccab77d448af2e92b4059b2e6d206 |
19-Dec-2014 |
Puneet Lall <puneetl@google.com> |
Fix ConcurrentModificationException in ImageDistributor Change-Id: Ibf250795189d2113b00f89a9d58bb78581c0dc0f
magedistributor/ImageDistributor.java
magedistributor/ImageDistributorImpl.java
|
48fbf15e2c8806fc518f4c881ab17b1b548887d9 |
19-Dec-2014 |
Puneet Lall <puneetl@google.com> |
Fix bug in which double close() increased ticket count Change-Id: Ic534cb436755cbb3fada8769e0f7f81e6167eb5f
icketpool/ReservableTicketPool.java
til/TicketImageProxy.java
|
12f608f3d2089439a108788a1908941eea4277b9 |
11-Dec-2014 |
Puneet Lall <puneetl@google.com> |
Added zero-shutter-lag capture implementation over the FrameServer Change-Id: Ia01244dba7013c5f81152dd90adc8d87e7004dd2
oundedImageBufferQueue.java
mageDistributor.java
mageDistributorOnImageAvailableListener.java
mageStreamFactory.java
mageStreamImpl.java
haredImageReader.java
haredImageReaderFactory.java
ingleAllocationImageStream.java
icketRequiredFilter.java
slSharedImageReaderFactory.java
magedistributor/ImageDistributor.java
magedistributor/ImageDistributorFactory.java
magedistributor/ImageDistributorImpl.java
magedistributor/ImageDistributorOnImageAvailableListener.java
magedistributor/ImageStream.java
magedistributor/RefCountedImageProxy.java
magedistributor/SingleCloseImageProxy.java
ingbuffer/DynamicRingBuffer.java
ingbuffer/DynamicRingBufferFactory.java
ingbuffer/QueueFlusher.java
ingbuffer/TicketPoolPrioritizer.java
icketpool/FiniteTicketPool.java
icketpool/ReservableTicketPool.java
icketpool/Ticket.java
icketpool/TicketPool.java
icketpool/TicketProvider.java
til/ImageCloser.java
til/TicketImageProxy.java
|
9c94ab32a69a1ad3642a0f1e38e68bcfd97d3511 |
02-Dec-2014 |
Puneet Lall <puneetl@google.com> |
Initial frameserver/OneCamera integration Change-Id: I2fe0d8acf9ce927a6a0a1dea599299c715503462
oundedImageBufferQueue.java
mageDistributor.java
mageDistributorOnImageAvailableListener.java
haredImageReader.java
|
de15a5ad14da2e9069642e6f616b66b4ae660e01 |
25-Nov-2014 |
Puneet Lall <puneetl@google.com> |
Move async package to com.android.camera Change-Id: I937dbdc07fde9fa134f169538243e8c5ee1b6a46
oundedImageBufferQueue.java
mageDistributor.java
haredImageReader.java
|
5d4fb6accab3bcbe737d52747c328de5cc092d02 |
31-Oct-2014 |
Puneet Lall <puneetl@google.com> |
Initial Frameserver Implementation Change-Id: Ia683adb31136030b98e7ec429163987ae32da0c2
oundedImageBufferQueue.java
mageDistributor.java
haredImageReader.java
|