diff options
Diffstat (limited to 'native/android/native_window.cpp')
-rw-r--r-- | native/android/native_window.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/native/android/native_window.cpp b/native/android/native_window.cpp index 7f92eec..219cd196 100644 --- a/native/android/native_window.cpp +++ b/native/android/native_window.cpp @@ -20,6 +20,7 @@ #include <android/native_window_jni.h> #include <surfaceflinger/Surface.h> #include <android_runtime/android_view_Surface.h> +#include <android_runtime/android_graphics_SurfaceTexture.h> using namespace android; @@ -31,6 +32,14 @@ ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface) { return win.get(); } +ANativeWindow* ANativeWindow_fromSurfaceTexture(JNIEnv* env, jobject surfaceTexture) { + sp<ANativeWindow> win = android_SurfaceTexture_getNativeWindow(env, surfaceTexture); + if (win != NULL) { + win->incStrong((void*)ANativeWindow_acquire); + } + return win.get(); +} + void ANativeWindow_acquire(ANativeWindow* window) { window->incStrong((void*)ANativeWindow_acquire); } |