#include <vlc_block.h>
#include <vlc_input.h>
#include <vlc_filter.h>
+#include <vlc_playlist.h>
#ifdef USE_GOOM_TREE
# ifdef OLD_GOOM
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;
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;
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 );
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 );
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-- )
{
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;
free( psz_title );
char *psz_uri = input_item_GetURI( input_GetItem( p_input ) );
- const char *psz = strrchr( psz_orig, '/' );
+ const char *psz = strrchr( psz_uri, '/' );
if( psz )
{
psz_title = strdup( psz + 1 );