• Home
  • History
  • Annotate
  • only in /packages/apps/Camera2/src/com/android/camera/one/v2/sharedimagereader/
History log of /packages/apps/Camera2/src/com/android/camera/one/v2/sharedimagereader/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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