[vlc-devel] [PATCH 01/19] native_window: add setBuffersGeometry

Thomas Guillem thomas at gllm.fr
Fri Nov 14 17:09:52 CET 2014


---
 modules/video_output/android/utils.c | 6 +++++-
 modules/video_output/android/utils.h | 2 ++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/modules/video_output/android/utils.c b/modules/video_output/android/utils.c
index ed3b905..8d39f3b 100644
--- a/modules/video_output/android/utils.c
+++ b/modules/video_output/android/utils.c
@@ -36,14 +36,18 @@ void *LoadNativeWindowAPI(native_window_api_t *native)
         (ptr_ANativeWindow_lock)(dlsym(p_library, "ANativeWindow_lock"));
     native->unlockAndPost =
         (ptr_ANativeWindow_unlockAndPost)(dlsym(p_library, "ANativeWindow_unlockAndPost"));
+    native->setBuffersGeometry =
+        (ptr_ANativeWindow_setBuffersGeometry)(dlsym(p_library, "ANativeWindow_setBuffersGeometry"));
 
-    if (native->winFromSurface && native->winRelease && native->winLock && native->unlockAndPost)
+    if (native->winFromSurface && native->winRelease && native->winLock
+        && native->unlockAndPost && native->setBuffersGeometry)
         return p_library;
 
     native->winFromSurface = NULL;
     native->winRelease = NULL;
     native->winLock = NULL;
     native->unlockAndPost = NULL;
+    native->setBuffersGeometry = NULL;
 
     dlclose(p_library);
     return NULL;
diff --git a/modules/video_output/android/utils.h b/modules/video_output/android/utils.h
index e78c688..b0df281 100644
--- a/modules/video_output/android/utils.h
+++ b/modules/video_output/android/utils.h
@@ -35,6 +35,7 @@ typedef ANativeWindow* (*ptr_ANativeWindow_fromSurface)(JNIEnv*, jobject);
 typedef void (*ptr_ANativeWindow_release)(ANativeWindow*);
 typedef int32_t (*ptr_ANativeWindow_lock)(ANativeWindow*, ANativeWindow_Buffer*, ARect*);
 typedef void (*ptr_ANativeWindow_unlockAndPost)(ANativeWindow*);
+typedef int32_t (*ptr_ANativeWindow_setBuffersGeometry)(ANativeWindow*, int32_t, int32_t, int32_t);
 
 typedef struct
 {
@@ -42,6 +43,7 @@ typedef struct
     ptr_ANativeWindow_release winRelease;
     ptr_ANativeWindow_lock winLock;
     ptr_ANativeWindow_unlockAndPost unlockAndPost;
+    ptr_ANativeWindow_setBuffersGeometry setBuffersGeometry;
 } native_window_api_t;
 
 /* Fill the structure passed as parameter and return a library handle
-- 
2.1.1




More information about the vlc-devel mailing list