[vlc-commits] nativewindowpriv: add getMaxBufferCount
Thomas Guillem
git at videolan.org
Wed Nov 19 14:01:21 CET 2014
vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Wed Nov 19 12:04:12 2014 +0100| [4bb9b344edb622a6169a095af39f4c503b418f46] | committer: Jean-Baptiste Kempf
nativewindowpriv: add getMaxBufferCount
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4bb9b344edb622a6169a095af39f4c503b418f46
---
modules/video_output/android/nativewindowpriv.c | 10 ++++++++++
modules/video_output/android/utils.c | 4 +++-
modules/video_output/android/utils.h | 2 ++
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/modules/video_output/android/nativewindowpriv.c b/modules/video_output/android/nativewindowpriv.c
index 989236a..a55c03e 100644
--- a/modules/video_output/android/nativewindowpriv.c
+++ b/modules/video_output/android/nativewindowpriv.c
@@ -184,6 +184,16 @@ int ANativeWindowPriv_getMinUndequeued( native_window_priv *priv, unsigned int *
return 0;
}
+int ANativeWindowPriv_getMaxBufferCount( native_window_priv *priv, unsigned int *max_buffer_count )
+{
+#if ANDROID_API >= 14
+ *max_buffer_count = 32;
+#else
+ *max_buffer_count = 15;
+#endif
+ return 0;
+}
+
int ANativeWindowPriv_setBufferCount(native_window_priv *priv, unsigned int count )
{
status_t err;
diff --git a/modules/video_output/android/utils.c b/modules/video_output/android/utils.c
index fdf3952..37f9e4f 100644
--- a/modules/video_output/android/utils.c
+++ b/modules/video_output/android/utils.c
@@ -59,6 +59,7 @@ int LoadNativeWindowPrivAPI(native_window_priv_api_t *native)
native->disconnect = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_disconnect");
native->setup = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_setup");
native->getMinUndequeued = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_getMinUndequeued");
+ native->getMaxBufferCount = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_getMaxBufferCount");
native->setBufferCount = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_setBufferCount");
native->setCrop = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_setCrop");
native->dequeue = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_dequeue");
@@ -70,7 +71,8 @@ int LoadNativeWindowPrivAPI(native_window_priv_api_t *native)
native->setOrientation = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_setOrientation");
return native->connect && native->disconnect && native->setup &&
- native->getMinUndequeued && native->setBufferCount && native->setCrop &&
+ native->getMinUndequeued && native->getMaxBufferCount &&
+ native->setBufferCount && native->setCrop &&
native->dequeue && native->lock && native->lockData && native->unlockData &&
native->queue && native->cancel && native->setOrientation ? 0 : -1;
}
diff --git a/modules/video_output/android/utils.h b/modules/video_output/android/utils.h
index 5db540e..97b74bf 100644
--- a/modules/video_output/android/utils.h
+++ b/modules/video_output/android/utils.h
@@ -75,6 +75,7 @@ typedef native_window_priv *(*ptr_ANativeWindowPriv_connect) (void *);
typedef int (*ptr_ANativeWindowPriv_disconnect) (native_window_priv *);
typedef int (*ptr_ANativeWindowPriv_setup) (native_window_priv *, int, int, int, bool, int );
typedef int (*ptr_ANativeWindowPriv_getMinUndequeued) (native_window_priv *, unsigned int *);
+typedef int (*ptr_ANativeWindowPriv_getMaxBufferCount) (native_window_priv *, unsigned int *);
typedef int (*ptr_ANativeWindowPriv_setBufferCount) (native_window_priv *, unsigned int );
typedef int (*ptr_ANativeWindowPriv_setCrop) (native_window_priv *, int, int, int, int);
typedef int (*ptr_ANativeWindowPriv_dequeue) (native_window_priv *, void **);
@@ -91,6 +92,7 @@ typedef struct
ptr_ANativeWindowPriv_disconnect disconnect;
ptr_ANativeWindowPriv_setup setup;
ptr_ANativeWindowPriv_getMinUndequeued getMinUndequeued;
+ ptr_ANativeWindowPriv_getMaxBufferCount getMaxBufferCount;
ptr_ANativeWindowPriv_setBufferCount setBufferCount;
ptr_ANativeWindowPriv_setCrop setCrop;
ptr_ANativeWindowPriv_dequeue dequeue;
More information about the vlc-commits
mailing list