vlc | branch: master | Thomas Guillem <[email protected]> | Tue Nov 22 15:39:43 2016 +0100| [329c3c0258ccdb5ed331ef19e45ac67ea4a7bda7] | committer: Thomas Guillem
vout: android: add back "vout window" module The android-display depends now on the android-window module. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=329c3c0258ccdb5ed331ef19e45ac67ea4a7bda7 --- modules/video_output/android/display.c | 28 ++++++++++++++-------------- modules/video_output/android/window.c | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/modules/video_output/android/display.c b/modules/video_output/android/display.c index d723b41..49495ef 100644 --- a/modules/video_output/android/display.c +++ b/modules/video_output/android/display.c @@ -105,6 +105,7 @@ struct buffer_bounds struct vout_display_sys_t { + vout_window_t *embed; picture_pool_t *pool; int i_display_width; @@ -655,21 +656,23 @@ static int Open(vlc_object_t *p_this) vout_display_sys_t *sys; video_format_t sub_fmt; - if (vout_display_IsWindowed(vd)) + vout_window_t *embed = + vout_display_NewWindow(vd, VOUT_WINDOW_TYPE_ANDROID_NATIVE); + + if (embed == NULL) return VLC_EGENERIC; + assert(embed->handle.anativewindow); /* Allocate structure */ vd->sys = sys = (struct vout_display_sys_t*)calloc(1, sizeof(*sys)); if (!sys) - return VLC_ENOMEM; - - sys->p_awh = AWindowHandler_new(p_this); - if (!sys->p_awh) { - free(sys); - msg_Err(vd, "AWindowHandler_new failed"); - return VLC_EGENERIC; + vout_display_DeleteWindow(vd, embed); + return VLC_ENOMEM; } + + sys->embed = embed; + sys->p_awh = embed->handle.anativewindow; sys->anw = AWindowHandler_getANativeWindowAPI(sys->p_awh); #ifdef USE_ANWP @@ -751,7 +754,7 @@ static int Open(vlc_object_t *p_this) error: Close(p_this); - return VLC_ENOMEM; + return VLC_EGENERIC; } static void Close(vlc_object_t *p_this) @@ -759,9 +762,6 @@ static void Close(vlc_object_t *p_this) vout_display_t *vd = (vout_display_t *)p_this; vout_display_sys_t *sys = vd->sys; - if (!sys) - return; - /* Check if SPU regions have been properly cleared, and clear them if they * were not. */ if (sys->b_has_subpictures) @@ -784,8 +784,8 @@ static void Close(vlc_object_t *p_this) if (sys->p_sub_window) AndroidWindow_Destroy(vd, sys->p_sub_window, false); - if (sys->p_awh) - AWindowHandler_destroy(sys->p_awh); + if (sys->embed) + vout_display_DeleteWindow(vd, sys->embed); free(sys); } diff --git a/modules/video_output/android/window.c b/modules/video_output/android/window.c index 74d1bfc..38e9789 100644 --- a/modules/video_output/android/window.c +++ b/modules/video_output/android/window.c @@ -51,7 +51,7 @@ vlc_module_begin() set_description(N_("Android native window")) set_category(CAT_VIDEO) set_subcategory(SUBCAT_VIDEO_VOUT) - set_capability("vout window", 0) + set_capability("vout window", 10) set_callbacks(Open, Close) vlc_module_end() _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
