vlc | branch: master | Thomas Guillem <tho...@gllm.fr> | Wed Apr 8 17:12:47 2015 +0200| [0b83473c64d328779e4db272973c058766cdbd71] | committer: Thomas Guillem
android_window: refactor and move functions > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0b83473c64d328779e4db272973c058766cdbd71 --- modules/video_output/android/android_window.c | 53 +++++++++++++------------ 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/modules/video_output/android/android_window.c b/modules/video_output/android/android_window.c index 6d4f16a..5d183c0 100644 --- a/modules/video_output/android/android_window.c +++ b/modules/video_output/android/android_window.c @@ -327,43 +327,24 @@ static android_window *AndroidWindow_New(vout_display_sys_t *sys, return p_window; } -static void AndroidWindow_Destroy(vout_display_sys_t *sys, - android_window *p_window) -{ - if (p_window->p_handle_priv) - sys->anwp.disconnect(p_window->p_handle_priv); - if (p_window->p_handle) - sys->anw.winRelease(p_window->p_handle); - free(p_window); -} - -static int AndroidWindow_UpdateCrop(vout_display_sys_t *sys, - android_window *p_window) -{ - if (!p_window->p_handle_priv) - return -1; - - return sys->anwp.setCrop(p_window->p_handle_priv, - p_window->fmt.i_x_offset, - p_window->fmt.i_y_offset, - p_window->fmt.i_visible_width, - p_window->fmt.i_visible_height); -} - static int AndroidWindow_SetSurface(vout_display_sys_t *sys, android_window *p_window, jobject jsurf) { - if (p_window->p_handle && jsurf != p_window->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; } - sys->anw.winRelease(p_window->p_handle); - p_window->p_handle = 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; @@ -377,6 +358,26 @@ static int AndroidWindow_SetSurface(vout_display_sys_t *sys, return 0; } +static void AndroidWindow_Destroy(vout_display_sys_t *sys, + android_window *p_window) +{ + AndroidWindow_SetSurface(sys, p_window, NULL); + free(p_window); +} + +static int AndroidWindow_UpdateCrop(vout_display_sys_t *sys, + android_window *p_window) +{ + if (!p_window->p_handle_priv) + return -1; + + return sys->anwp.setCrop(p_window->p_handle_priv, + p_window->fmt.i_x_offset, + p_window->fmt.i_y_offset, + p_window->fmt.i_visible_width, + p_window->fmt.i_visible_height); +} + static int AndroidWindow_SetupANWP(vout_display_sys_t *sys, android_window *p_window, bool b_java_configured) _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits