vlc | branch: master | Steve Lhomme <[email protected]> | Wed Sep 25 13:59:36 2019 +0200| [9955e94aa0f3dc107acb3b82e98c2def873791b7] | committer: Steve Lhomme
video_output: split vout_Request to have a function to enable the vout window > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9955e94aa0f3dc107acb3b82e98c2def873791b7 --- src/video_output/video_output.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 21d55bc89c..ffd2d3b747 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -1915,7 +1915,7 @@ vout_thread_t *vout_Hold(vout_thread_t *vout) return vout; } -int vout_Request(const vout_configuration_t *cfg, input_thread_t *input) +static int VoutEnableWindow(const vout_configuration_t *cfg) { vout_thread_t *vout = cfg->vout; vout_thread_sys_t *sys = vout->p; @@ -1923,7 +1923,6 @@ int vout_Request(const vout_configuration_t *cfg, input_thread_t *input) assert(!sys->dummy); assert(vout != NULL); assert(cfg->fmt != NULL); - assert(cfg->clock != NULL); if (!VoutCheckFormat(cfg->fmt)) return -1; @@ -1967,19 +1966,33 @@ int vout_Request(const vout_configuration_t *cfg, input_thread_t *input) if (vout_window_Enable(sys->display_cfg.window, &wcfg)) { vlc_mutex_unlock(&sys->window_lock); - goto error; + msg_Err(vout, "window enabling failed"); + video_format_Clean(&sys->original); + return -1; } sys->window_enabled = true; } else vout_UpdateWindowSizeLocked(vout); + vlc_mutex_unlock(&sys->window_lock); + + return 0; +} + +int vout_Request(const vout_configuration_t *cfg, input_thread_t *input) +{ + vout_thread_t *vout = cfg->vout; + vout_thread_sys_t *sys = vout->p; + + assert(cfg->clock != NULL); + + if (VoutEnableWindow(cfg) != 0) + return -1; sys->delay = 0; sys->rate = 1.f; sys->clock = cfg->clock; sys->delay = 0; - vlc_mutex_unlock(&sys->window_lock); - if (vout_Start(vout, cfg)) { vlc_mutex_lock(&sys->window_lock); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
