X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvisualization%2Fgoom.c;h=427bb75d02b8d4db7e58eb6fc7ea97dfeb370bd9;hb=292a24de34ead1c5222ccf5618bd76fc8ff73c3f;hp=4efc11b366e5bfe8ea90288eb73268c6613a37a0;hpb=66ee062c868b962cdf7731b5b5bdedde29f22bf7;p=vlc diff --git a/modules/visualization/goom.c b/modules/visualization/goom.c index 4efc11b366..427bb75d02 100644 --- a/modules/visualization/goom.c +++ b/modules/visualization/goom.c @@ -172,7 +172,6 @@ static int Open( vlc_object_t *p_this ) if( p_thread->p_vout == NULL ) { msg_Err( p_filter, "no suitable vout module" ); - vlc_object_detach( p_thread ); vlc_object_release( p_thread ); free( p_sys ); return VLC_EGENERIC; @@ -195,7 +194,6 @@ static int Open( vlc_object_t *p_this ) vlc_mutex_destroy( &p_thread->lock ); vlc_cond_destroy( &p_thread->wait ); free( p_thread->psz_title ); - vlc_object_detach( p_thread ); vlc_object_release( p_thread ); free( p_sys ); return VLC_EGENERIC; @@ -355,7 +353,7 @@ static void* Thread( vlc_object_t *p_this ) free( p_thread->psz_title ); p_thread->psz_title = NULL; - while( !( p_pic = vout_CreatePicture( p_thread->p_vout, 0, 0, 0 ) ) && + while( !( p_pic = vout_GetPicture( p_thread->p_vout ) ) && vlc_object_alive (p_thread) ) { msleep( VOUT_OUTMEM_SLEEP ); @@ -366,7 +364,7 @@ static void* Thread( vlc_object_t *p_this ) memcpy( p_pic->p[0].p_pixels, plane, width * height * 4 ); p_pic->date = date_Get( &i_pts ) + GOOM_DELAY; - vout_DisplayPicture( p_thread->p_vout, p_pic ); + vout_PutPicture( p_thread->p_vout, p_pic ); } goom_close( p_plugin_info ); @@ -395,7 +393,6 @@ static void Close( vlc_object_t *p_this ) aout_filter_RequestVout( p_filter, p_sys->p_thread->p_vout, 0 ); vlc_mutex_destroy( &p_sys->p_thread->lock ); vlc_cond_destroy( &p_sys->p_thread->wait ); - vlc_object_detach( p_sys->p_thread ); while( p_sys->p_thread->i_blocks-- ) { @@ -409,12 +406,7 @@ static void Close( vlc_object_t *p_this ) static char *TitleGet( vlc_object_t *p_this ) { - playlist_t *pl = pl_Hold( p_this ); - if( !pl ) - return NULL; - - input_thread_t *p_input = playlist_CurrentInput( pl ); - pl_Release( p_this ); + input_thread_t *p_input = playlist_CurrentInput( pl_Get( p_this ) ); if( !p_input ) return NULL;