* Window handle type
*/
enum {
- VOUT_WINDOW_TYPE_XWINDOW,
+ VOUT_WINDOW_TYPE_XID,
VOUT_WINDOW_TYPE_HWND,
};
add_shortcut( "maemo" );
add_submodule();
- set_capability( "vout window", 50 );
+ set_capability( "vout window xid", 50 );
set_callbacks( OpenWindow, CloseWindow );
vlc_module_end();
{
vout_window_t *wnd = (vout_window_t *)obj;
- if (wnd->cfg->type != VOUT_WINDOW_TYPE_XWINDOW ||
- wnd->cfg->is_standalone)
+ if (wnd->cfg->is_standalone)
return VLC_EGENERIC;
intf_thread_t *intf = (intf_thread_t*)vlc_object_find_name (obj, "maemo", FIND_ANYWHERE);
#if defined(Q_WS_X11) || defined(WIN32)
add_submodule ()
- set_capability( "vout window", 50 )
+#if defined(Q_WS_X11)
+ set_capability( "vout window xid", 50 )
+#elif defined(WIN32)
+ set_capability( "vout window hwnd", 50 )
+#endif
set_callbacks( WindowOpen, WindowClose )
#endif
{
vout_window_t *p_wnd = (vout_window_t*)p_obj;
- /* Check compatibility */
-#if defined (Q_WS_X11)
- if( p_wnd->cfg->type != VOUT_WINDOW_TYPE_XWINDOW )
-#elif defined (WIN32)
- if( p_wnd->cfg->type != VOUT_WINDOW_TYPE_HWND )
-#endif
- return VLC_EGENERIC;
-
/* */
if( p_wnd->cfg->is_standalone )
return VLC_EGENERIC;
add_shortcut( "skins" )
add_submodule ()
- set_capability( "vout window", 51 )
+#ifdef WIN32
+ set_capability( "vout window hwnd", 51 )
+#else
+ set_capability( "vout window xid", 51 )
+#endif
set_callbacks( WindowOpen, WindowClose )
add_submodule ()
set_description (N_("Embedded window video"))
set_category (CAT_VIDEO)
set_subcategory (SUBCAT_VIDEO_VOUT)
- set_capability ("vout window", 70)
+ set_capability ("vout window xid", 70)
set_callbacks (Open, Close)
add_integer ("drawable-xid", 0, NULL, XID_TEXT, XID_LONGTEXT, true)
change_unsaveable ()
switch (wnd->cfg->type)
{
- case VOUT_WINDOW_TYPE_XWINDOW:
+ case VOUT_WINDOW_TYPE_XID:
varname = "drawable-xid";
ptr = false;
break;
vout_window_cfg_t wnd_cfg;
memset( &wnd_cfg, 0, sizeof(wnd_cfg) );
- wnd_cfg.type = VOUT_WINDOW_TYPE_XWINDOW;
+ wnd_cfg.type = VOUT_WINDOW_TYPE_XID;
wnd_cfg.x = p_sys->embedded_window.i_x;
wnd_cfg.y = p_sys->embedded_window.i_y;
wnd_cfg.width = p_sys->embedded_window.i_width;
{
vout_window_cfg_t wnd_cfg;
memset( &wnd_cfg, 0, sizeof(wnd_cfg) );
- wnd_cfg.type = VOUT_WINDOW_TYPE_XWINDOW;
+ wnd_cfg.type = VOUT_WINDOW_TYPE_XID;
wnd_cfg.x = p_win->i_x;
wnd_cfg.y = p_win->i_y;
wnd_cfg.width = p_win->i_width;
vout_window_cfg_t wnd_cfg;
memset( &wnd_cfg, 0, sizeof(wnd_cfg) );
- wnd_cfg.type = VOUT_WINDOW_TYPE_XWINDOW;
+ wnd_cfg.type = VOUT_WINDOW_TYPE_XID;
wnd_cfg.width = obj->i_window_width;
wnd_cfg.height = obj->i_window_height;
set_description (N_("(Experimental) XCB video window"))
set_category (CAT_VIDEO)
set_subcategory (SUBCAT_VIDEO_VOUT)
- set_capability ("vout window", 10)
+ set_capability ("vout window xid", 10)
set_callbacks (Open, Close)
add_string ("x11-display", NULL, NULL,
xcb_generic_error_t *err;
xcb_void_cookie_t ck;
- if (wnd->cfg->type != VOUT_WINDOW_TYPE_XWINDOW)
- return VLC_EGENERIC;
-
vout_window_sys_t *p_sys = malloc (sizeof (*p_sys));
if (p_sys == NULL)
return VLC_ENOMEM;
vlc_object_attach(window, obj);
- window->module = module_need(window, "vout window",
+ const char *type;
+ switch (cfg->type) {
+ case VOUT_WINDOW_TYPE_HWND:
+ type = "vout window hwnd";
+ break;
+ default:
+ assert(0);
+ case VOUT_WINDOW_TYPE_XID:
+ type = "vout window xid";
+ break;
+ }
+
+ window->module = module_need(window, type,
module, module && *module != '\0');
if (!window->module) {
vlc_object_detach(window);