]> git.sesse.net Git - vlc/commitdiff
Split back window module providers by type.
authorLaurent Aimar <fenrir@videolan.org>
Sat, 1 Aug 2009 11:44:47 +0000 (13:44 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Sat, 1 Aug 2009 11:44:47 +0000 (13:44 +0200)
include/vlc_vout_window.h
modules/gui/maemo/maemo.c
modules/gui/qt4/qt4.cpp
modules/gui/skins2/src/skin_main.cpp
modules/video_output/drawable.c
modules/video_output/omapfb.c
modules/video_output/x11/xcommon.c
modules/video_output/xcb/common.c
modules/video_output/xcb/window.c
src/video_output/window.c

index 0500a5f32f89bae33a4cfe60d59ce742234b387e..58eaf4ecc51ac796228ad3519f14b1e495fc5410 100644 (file)
@@ -41,7 +41,7 @@ typedef struct vout_window_sys_t vout_window_sys_t;
  * Window handle type
  */
 enum {
-    VOUT_WINDOW_TYPE_XWINDOW,
+    VOUT_WINDOW_TYPE_XID,
     VOUT_WINDOW_TYPE_HWND,
 };
 
index 9500c56dbc0d363ec33a0ade50a4c06022d06680..d323e774540c8b495ab0af0bb98f8c4e23947932 100644 (file)
@@ -70,7 +70,7 @@ vlc_module_begin();
     add_shortcut( "maemo" );
 
     add_submodule();
-        set_capability( "vout window", 50 );
+        set_capability( "vout window xid", 50 );
         set_callbacks( OpenWindow, CloseWindow );
 vlc_module_end();
 
@@ -265,8 +265,7 @@ static int OpenWindow (vlc_object_t *obj)
 {
     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);
index 325b15a95ea92c6181396e3df963a4733c2e4fd6..bce9dcd7742411bdf53aa3458fe21fd4e71880c1 100644 (file)
@@ -243,7 +243,11 @@ vlc_module_begin ()
 
 #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
 
@@ -518,14 +522,6 @@ static int WindowOpen( vlc_object_t *p_obj )
 {
     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;
index 5d1c7c93404d85c32b20baaee420d40d0f67d0a7..759a1ebbfe6d730aab7899735e2fa3a6d5b98f35 100644 (file)
@@ -569,7 +569,11 @@ vlc_module_begin ()
     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 ()
index a7c91c045132de18d13bf886c94a828807d7b279..a3c7668cc4e1463d9d9edc08399bc5ed2838071e 100644 (file)
@@ -47,7 +47,7 @@ vlc_module_begin ()
     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 ()
@@ -77,7 +77,7 @@ static int Open (vlc_object_t *obj)
 
     switch (wnd->cfg->type)
     {
-    case VOUT_WINDOW_TYPE_XWINDOW:
+    case VOUT_WINDOW_TYPE_XID:
         varname = "drawable-xid";
         ptr = false;
         break;
index bf3effd16ce548fb0ce32eb08e278b8fa1ad9416..9d316de9b074c4e5b55222fd3f4b6c41701a078c 100644 (file)
@@ -668,7 +668,7 @@ static int InitWindow( vout_thread_t *p_vout )
         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;
index 65b522db79364e92f1115836e6af6668e8c58619..0391683975bce54edd71595afe357b6ca417c8d2 100644 (file)
@@ -1612,7 +1612,7 @@ static int CreateWindow( vout_thread_t *p_vout, x11_window_t *p_win )
     {
         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;
index 6bfd35f3292815886e13edeeb1255c9e982948f8..6e4fe840d09985bd0de2057ccb2570210116d8f6 100644 (file)
@@ -72,7 +72,7 @@ vout_window_t *GetWindow (vout_thread_t *obj,
     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;
 
index 0f8a4b37c1ba110d69843f4b8c942eb4d8a76924..4c34d51085a460c88138f7a1411fa816db993cbe 100644 (file)
@@ -56,7 +56,7 @@ vlc_module_begin ()
     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,
@@ -144,9 +144,6 @@ static int Open (vlc_object_t *obj)
     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;
index de464d3a1b3341f5c8e1ceb1245c399d8866d8fc..737edbaec779e573b9d3627a0e2324308bbfa6e5 100644 (file)
@@ -46,7 +46,19 @@ vout_window_t *vout_window_New(vlc_object_t *obj,
 
     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);