Avoid using vlc_object_find() when not needed
authorRafaël Carré <funman@videolan.org>
Tue, 27 May 2008 12:25:59 +0000 (14:25 +0200)
committerRafaël Carré <funman@videolan.org>
Tue, 27 May 2008 23:20:54 +0000 (01:20 +0200)
src/video_output/video_text.c

index bb77890..d5cebcc 100644 (file)
@@ -131,7 +131,14 @@ void __vout_OSDMessage( vlc_object_t *p_caller, int i_channel,
 
     if( !config_GetInt( p_caller, "osd" ) ) return;
 
-    p_vout = vlc_object_find( p_caller, VLC_OBJECT_VOUT, FIND_ANYWHERE );
+    if( p_caller->i_object_type == VLC_OBJECT_VOUT )
+    {
+        p_vout = (vout_thread_t*) p_caller;
+        vlc_object_yield( p_vout );
+    }
+    else
+        p_vout = vlc_object_find( p_caller, VLC_OBJECT_VOUT, FIND_ANYWHERE );
+
     if( p_vout )
     {
         va_start( args, psz_format );