]> git.sesse.net Git - vlc/blobdiff - src/video_output/vout_intf.c
* src/video_output/vout_intf.c: new vout_ControlWindow() function.
[vlc] / src / video_output / vout_intf.c
index 81251e396b254074f78769f157bc9819e13d1aeb..dd4676aaeccd9563a8325117e932f5fd4c599cec 100644 (file)
@@ -79,7 +79,7 @@ void *vout_RequestWindow( vout_thread_t *p_vout,
         return NULL;
     }
 
-    p_window = p_intf->pf_request_window( p_intf, pi_x_hint, pi_y_hint,
+    p_window = p_intf->pf_request_window( p_intf, p_vout, pi_x_hint, pi_y_hint,
                                           pi_width_hint, pi_height_hint );
     vlc_object_release( p_intf );
 
@@ -105,6 +105,28 @@ void vout_ReleaseWindow( vout_thread_t *p_vout, void *p_window )
     vlc_object_release( p_intf );
 }
 
+int vout_ControlWindow( vout_thread_t *p_vout, void *p_window,
+                        int i_query, va_list args )
+{
+    intf_thread_t *p_intf;
+    int i_ret;
+
+    /* Find the main interface */
+    p_intf = vlc_object_find( p_vout, VLC_OBJECT_INTF, FIND_ANYWHERE );
+    if( !p_intf ) return VLC_EGENERIC;
+
+    if( !p_intf->pf_control_window )
+    {
+        msg_Err( p_vout, "no pf_control_window");
+        vlc_object_release( p_intf );
+        return VLC_EGENERIC;
+    }
+
+    i_ret = p_intf->pf_control_window( p_intf, p_window, i_query, args );
+    vlc_object_release( p_intf );
+    return i_ret;
+}
+
 /*****************************************************************************
  * vout_IntfInit: called during the vout creation to initialise misc things.
  *****************************************************************************/