]> git.sesse.net Git - vlc/commitdiff
Force the X11 video outputs when libvlc_*_set_xwindow() is used
authorRémi Denis-Courmont <remi@remlab.net>
Thu, 8 Jul 2010 17:24:32 +0000 (20:24 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Thu, 8 Jul 2010 17:24:32 +0000 (20:24 +0300)
So LibVLC won't try to use a video output that cannot be embedded.

modules/video_output/xcb/glx.c
modules/video_output/xcb/x11.c
modules/video_output/xcb/xvideo.c
src/control/media_player.c

index 0e88a946a1e64969c5649f92dd5eb08a4d83991c..23c46c0d0378ef6455d30e12130036805af9e8c1 100644 (file)
@@ -55,7 +55,7 @@ vlc_module_begin ()
     set_capability ("vout display", 50)
     set_callbacks (Open, Close)
 
-    add_shortcut ("xcb-glx", "glx", "opengl")
+    add_shortcut ("xcb-glx", "glx", "opengl", "xid")
 vlc_module_end ()
 
 struct vout_display_sys_t
index b64375080bb2cbfd2ad127939cbdf9a20b389569..ef9ba5ec76b91943b4ae312f05e1eab802f3aab6 100644 (file)
@@ -54,7 +54,7 @@ vlc_module_begin ()
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_capability ("vout display", 75)
     set_callbacks (Open, Close)
-    add_shortcut ("xcb-x11", "x11")
+    add_shortcut ("xcb-x11", "x11", "xid")
 
     add_bool ("x11-shm", true, NULL, SHM_TEXT, SHM_LONGTEXT, true)
 vlc_module_end ()
index 7816bb136cae331a67235ade54acfb948473f3eb..aa832492cc6ec0abf65fdfa675c93a2f132c827c 100644 (file)
@@ -66,7 +66,7 @@ vlc_module_begin ()
                  ADAPTOR_TEXT, ADAPTOR_LONGTEXT, true)
     add_bool ("x11-shm", true, NULL, SHM_TEXT, SHM_LONGTEXT, true)
         add_deprecated_alias ("xvideo-shm")
-    add_shortcut ("xcb-xv", "xv", "xvideo")
+    add_shortcut ("xcb-xv", "xv", "xvideo", "xid")
 vlc_module_end ()
 
 #define MAX_PICTURES (128)
index 964fcea527d24116e78fd8c9f9234150e05d6dc5..e02dba0bdd61a86cb795631cb78704f8c860215d 100644 (file)
@@ -367,6 +367,7 @@ libvlc_media_player_new( libvlc_instance_t *instance )
     var_Create (mp, "rate", VLC_VAR_FLOAT|VLC_VAR_DOINHERIT);
 
     /* Video */
+    var_Create (mp, "vout", VLC_VAR_STRING|VLC_VAR_DOINHERIT);
     var_Create (mp, "window", VLC_VAR_STRING);
     var_Create (mp, "drawable-xid", VLC_VAR_INTEGER);
 #ifdef WIN32
@@ -826,6 +827,8 @@ void libvlc_media_player_set_xwindow( libvlc_media_player_t *p_mi,
                                       uint32_t drawable )
 {
     assert (p_mi != NULL);
+
+    var_SetString (p_mi, "vout", drawable ? "xid" : "any");
     var_SetString (p_mi, "window", drawable ? "embed-xid,any" : "any");
     var_SetInteger (p_mi, "drawable-xid", drawable);
 }