From 2aafe742e5d2d63d77c49df032ec580966661597 Mon Sep 17 00:00:00 2001 From: Jamie Gennis Date: Fri, 4 Nov 2011 14:24:55 -0700 Subject: [PATCH] SurfaceTexture: unhide setDefaultBufferSize Change-Id: Ia4d3e1829339acaecaa7f10023945a432c581d72 --- api/current.txt | 1 + graphics/java/android/graphics/SurfaceTexture.java | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/api/current.txt b/api/current.txt index 8654f67d4b41b..9bd7a0e1da7fc 100644 --- a/api/current.txt +++ b/api/current.txt @@ -8792,6 +8792,7 @@ package android.graphics { method public long getTimestamp(); method public void getTransformMatrix(float[]); method public void release(); + method public void setDefaultBufferSize(int, int); method public void setOnFrameAvailableListener(android.graphics.SurfaceTexture.OnFrameAvailableListener); method public void updateTexImage(); } diff --git a/graphics/java/android/graphics/SurfaceTexture.java b/graphics/java/android/graphics/SurfaceTexture.java index f3b62ec10e51d..29fab11603a4b 100644 --- a/graphics/java/android/graphics/SurfaceTexture.java +++ b/graphics/java/android/graphics/SurfaceTexture.java @@ -130,10 +130,17 @@ public class SurfaceTexture { } /** - * Set the size of buffers returned by requestBuffers when a width and height - * of zero is requested. + * Set the default size of the image buffers. The image producer may override the buffer size, + * in which case the producer-set buffer size will be used, not the default size set by this + * method. Both video and camera based image producers do override the size. This method may + * be used to set the image size when producing images with {@link android.graphics.Canvas} (via + * {@link android.view.Surface#lockCanvas}), or OpenGL ES (via an EGLSurface). * - * @hide Pending approval by API council. + * The new default buffer size will take effect the next time the image producer requests a + * buffer to fill. For {@link android.graphics.Canvas} this will be the next time {@link + * android.view.Surface#lockCanvas} is called. For OpenGL ES, the EGLSurface should be + * destroyed (via eglDestroySurface), made not-current (via eglMakeCurrent), and then recreated + * (via eglCreateWindowSurface) to ensure that the new default size has taken effect. */ public void setDefaultBufferSize(int width, int height) { nativeSetDefaultBufferSize(width, height);