diff options
author | Igor Murashkin <iam@google.com> | 2013-09-16 13:24:58 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-09-16 13:24:58 -0700 |
commit | 5454e3ddcc0c64dd894dfd25e38226a8bef62f7a (patch) | |
tree | b81b65a5fb8fbdcba08ba66ac3326801251f1c7b /core/tests | |
parent | e0339ab5a37b8765795900b36c0b2a8209c42173 (diff) | |
parent | 720b1fcecd6c21bf4fbe6d3822e52c8a092b93c4 (diff) | |
download | frameworks_base-5454e3ddcc0c64dd894dfd25e38226a8bef62f7a.zip frameworks_base-5454e3ddcc0c64dd894dfd25e38226a8bef62f7a.tar.gz frameworks_base-5454e3ddcc0c64dd894dfd25e38226a8bef62f7a.tar.bz2 |
am 720b1fce: am 26cb5fd5: Merge "media: Update ImageReader APIs" into klp-dev
* commit '720b1fcecd6c21bf4fbe6d3822e52c8a092b93c4':
media: Update ImageReader APIs
Diffstat (limited to 'core/tests')
-rw-r--r-- | core/tests/coretests/src/android/hardware/display/VirtualDisplayTest.java | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/core/tests/coretests/src/android/hardware/display/VirtualDisplayTest.java b/core/tests/coretests/src/android/hardware/display/VirtualDisplayTest.java index ebecf2e..8278579 100644 --- a/core/tests/coretests/src/android/hardware/display/VirtualDisplayTest.java +++ b/core/tests/coretests/src/android/hardware/display/VirtualDisplayTest.java @@ -26,6 +26,7 @@ import android.hardware.display.DisplayManager; import android.hardware.display.VirtualDisplay; import android.media.Image; import android.media.ImageReader; +import android.media.ImageReader.MaxImagesAcquiredException; import android.os.Bundle; import android.os.Handler; import android.os.Looper; @@ -83,8 +84,8 @@ public class VirtualDisplayTest extends AndroidTestCase { mImageReaderLock.lock(); try { - mImageReader = new ImageReader(WIDTH, HEIGHT, PixelFormat.RGBA_8888, 2); - mImageReader.setImageAvailableListener(mImageListener, mHandler); + mImageReader = ImageReader.newInstance(WIDTH, HEIGHT, PixelFormat.RGBA_8888, 2); + mImageReader.setOnImageAvailableListener(mImageListener, mHandler); mSurface = mImageReader.getSurface(); } finally { mImageReaderLock.unlock(); @@ -409,19 +410,11 @@ public class VirtualDisplayTest extends AndroidTestCase { } Log.d(TAG, "New image available from virtual display."); - Image image = reader.getNextImage(); + + // Get the latest buffer. + Image image = reader.acquireLatestImage(); if (image != null) { try { - // Get the latest buffer. - for (;;) { - Image nextImage = reader.getNextImage(); - if (nextImage == null) { - break; - } - reader.releaseImage(image); - image = nextImage; - } - // Scan for colors. int color = scanImage(image); synchronized (this) { @@ -431,9 +424,12 @@ public class VirtualDisplayTest extends AndroidTestCase { } } } finally { - reader.releaseImage(image); + image.close(); } } + } catch (MaxImagesAcquiredException e) { + // We should never try to consume more buffers than maxImages. + throw new IllegalStateException(e); } finally { mImageReaderLock.unlock(); } |