Commit 429baf94 authored by Thomas Guillem's avatar Thomas Guillem

android_window: move AndroidWindow_SetSurface up

parent a83f5d13
...@@ -284,6 +284,37 @@ static void SetupPictureYV12(picture_t *p_picture, uint32_t i_in_stride) ...@@ -284,6 +284,37 @@ static void SetupPictureYV12(picture_t *p_picture, uint32_t i_in_stride)
} }
} }
static int AndroidWindow_SetSurface(vout_display_sys_t *sys,
android_window *p_window,
jobject jsurf)
{
if (jsurf != p_window->jsurf) {
if (p_window->p_handle_priv) {
sys->anwp.disconnect(p_window->p_handle_priv);
p_window->p_handle_priv = NULL;
}
if (p_window->p_handle) {
sys->anw.winRelease(p_window->p_handle);
p_window->p_handle = NULL;
}
}
p_window->jsurf = jsurf;
if (!p_window->jsurf )
return -1;
if (!p_window->p_handle && !p_window->b_opaque) {
JNIEnv *p_env;
if (!(p_env = jni_get_env(THREAD_NAME)))
return -1;
p_window->p_handle = sys->anw.winFromSurface(p_env, p_window->jsurf);
if (!p_window->p_handle)
return -1;
}
return 0;
}
static android_window *AndroidWindow_New(vout_display_sys_t *sys, static android_window *AndroidWindow_New(vout_display_sys_t *sys,
video_format_t *p_fmt, video_format_t *p_fmt,
bool b_use_priv) bool b_use_priv)
...@@ -326,37 +357,6 @@ static android_window *AndroidWindow_New(vout_display_sys_t *sys, ...@@ -326,37 +357,6 @@ static android_window *AndroidWindow_New(vout_display_sys_t *sys,
return p_window; return p_window;
} }
static int AndroidWindow_SetSurface(vout_display_sys_t *sys,
android_window *p_window,
jobject jsurf)
{
if (jsurf != p_window->jsurf) {
if (p_window->p_handle_priv) {
sys->anwp.disconnect(p_window->p_handle_priv);
p_window->p_handle_priv = NULL;
}
if (p_window->p_handle) {
sys->anw.winRelease(p_window->p_handle);
p_window->p_handle = NULL;
}
}
p_window->jsurf = jsurf;
if (!p_window->jsurf )
return -1;
if (!p_window->p_handle && !p_window->b_opaque) {
JNIEnv *p_env;
if (!(p_env = jni_get_env(THREAD_NAME)))
return -1;
p_window->p_handle = sys->anw.winFromSurface(p_env, p_window->jsurf);
if (!p_window->p_handle)
return -1;
}
return 0;
}
static void AndroidWindow_Destroy(vout_display_sys_t *sys, static void AndroidWindow_Destroy(vout_display_sys_t *sys,
android_window *p_window) android_window *p_window)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment