]> git.sesse.net Git - vlc/commitdiff
Clean up spu/filters when a vout module cannot be loaded.
authorLaurent Aimar <fenrir@videolan.org>
Mon, 30 Jun 2008 18:52:20 +0000 (18:52 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Mon, 30 Jun 2008 18:52:20 +0000 (18:52 +0000)
(The clean up path of vout is in a need of more cleaning).

src/video_output/video_output.c

index 544f3027fc25d30da98bfb766e54a53d2f784ed4..122fd2c47da59cd2c415a6c17cbcf28b61faeed9 100644 (file)
@@ -395,6 +395,8 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent, video_format_t *p_fmt )
     if( p_vout->p_module == NULL )
     {
         msg_Err( p_vout, "no suitable vout module" );
+        // FIXME it's ugly but that's exactly the function that need to be called.
+        EndThread( p_vout );
         vlc_object_detach( p_vout );
         vlc_object_release( p_vout );
         return NULL;
@@ -1214,6 +1216,8 @@ static void EndThread( vout_thread_t *p_vout )
     }
 #endif
 
+    /* FIXME does that function *really* need to be called inside the thread ? */
+
     /* Destroy subpicture unit */
     spu_Attach( p_vout->p_spu, VLC_OBJECT(p_vout), false );
     spu_Destroy( p_vout->p_spu );