diff options
author | Igor Murashkin <iam@google.com> | 2013-08-29 15:38:17 -0700 |
---|---|---|
committer | Igor Murashkin <iam@google.com> | 2013-09-12 16:57:57 -0700 |
commit | 5e712064dfe48992f8f732208fa4fc13f3455b30 (patch) | |
tree | 5b94b96e4dc152d88cc6b0cdb678f004e4d25cd5 /core/tests | |
parent | e850c973b0662975137cee8a05f8ee2cb82d9b2a (diff) | |
download | frameworks_base-5e712064dfe48992f8f732208fa4fc13f3455b30.zip frameworks_base-5e712064dfe48992f8f732208fa4fc13f3455b30.tar.gz frameworks_base-5e712064dfe48992f8f732208fa4fc13f3455b30.tar.bz2 |
media: Update ImageReader APIs
Bug: 10461757
Change-Id: Ic04e4c41965e3d417b29004f3f08e0cd56b8f4cb
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(); } |