Commit 2ebff444 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

vout: simplify window allocation following splitter separation

parent f7314b4a
...@@ -614,16 +614,17 @@ vout_window_t * vout_NewDisplayWindow(vout_thread_t *vout, ...@@ -614,16 +614,17 @@ vout_window_t * vout_NewDisplayWindow(vout_thread_t *vout,
{ {
vout_window_cfg_t cfg_override = *cfg; vout_window_cfg_t cfg_override = *cfg;
assert(vout->p->splitter_name == NULL);
if (!var_InheritBool( vout, "embedded-video")) if (!var_InheritBool( vout, "embedded-video"))
cfg_override.is_standalone = true; cfg_override.is_standalone = true;
if (vout->p->window.is_unused && vout->p->window.object) { vout_window_t *window = vout->p->window.object;
assert(!vout->p->splitter_name);
if (vout->p->window.is_unused && window != NULL) {
if (!cfg_override.is_standalone == !vout->p->window.cfg.is_standalone && if (!cfg_override.is_standalone == !vout->p->window.cfg.is_standalone &&
cfg_override.type == vout->p->window.cfg.type) { cfg_override.type == vout->p->window.cfg.type) {
/* Reuse the stored window */ /* Reuse the stored window */
msg_Dbg(vout, "Reusing previous vout window"); msg_Dbg(vout, "Reusing previous vout window");
vout_window_t *window = vout->p->window.object;
if (cfg_override.width != vout->p->window.cfg.width || if (cfg_override.width != vout->p->window.cfg.width ||
cfg_override.height != vout->p->window.cfg.height) cfg_override.height != vout->p->window.cfg.height)
vout_window_SetSize(window, vout_window_SetSize(window,
...@@ -633,16 +634,13 @@ vout_window_t * vout_NewDisplayWindow(vout_thread_t *vout, ...@@ -633,16 +634,13 @@ vout_window_t * vout_NewDisplayWindow(vout_thread_t *vout,
return window; return window;
} }
vout_window_Delete(vout->p->window.object); vout_window_Delete(window);
vout->p->window.is_unused = true; vout->p->window.is_unused = true;
vout->p->window.object = NULL; vout->p->window.object = NULL;
} }
vout_window_t *window = vout_window_New(VLC_OBJECT(vout), "$window", window = vout_window_New(VLC_OBJECT(vout), "$window", &cfg_override);
&cfg_override); if (window != NULL) {
if (!window)
return NULL;
if (!vout->p->splitter_name) {
vout->p->window.is_unused = false; vout->p->window.is_unused = false;
vout->p->window.cfg = cfg_override; vout->p->window.cfg = cfg_override;
vout->p->window.object = window; vout->p->window.object = 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