if( priv->b_sout_keep )
SoutKeep( priv->p_sout );
else
- {
sout_DeleteInstance( priv->p_sout );
- priv->p_sout = NULL;
- }
}
#endif
vlc_gc_decref( p_input->p->input.p_item );
}
/**
- * Initialize an input thread and run it. This thread will clean after himself,
+ * Initialize an input thread and run it. This thread will clean after itself,
* you can forget about it. It can work either in blocking or non-blocking mode
*
* \param p_parent a vlc_object
{
playlist_t * p_playlist = vlc_object_find( p_sout, VLC_OBJECT_PLAYLIST,
FIND_PARENT );
- if( !p_playlist ) return;
-
- msg_Dbg( p_sout, "sout has been kept" );
- vlc_object_attach( p_sout, p_playlist );
-
- vlc_object_release( p_playlist );
+ if( p_playlist )
+ {
+ msg_Dbg( p_sout, "sout has been kept" );
+ vlc_object_attach( p_sout, p_playlist );
+ vlc_object_release( p_playlist );
+ }
+ else
+ sout_DeleteInstance( p_sout );
}
/*****************************************************************************
vlc_meta_t *p_meta = vlc_meta_New();
access_Control( p_input->p->input.p_access,ACCESS_GET_META, p_meta );
InputUpdateMeta( p_input, p_meta );
- var_SetInteger( libvlc_priv (p_input->p_libvlc)->p_playlist,
- "item-change", p_input->p->input.p_item->i_id );
p_access->info.i_update &= ~INPUT_UPDATE_META;
}
static void UpdateItemLength( input_thread_t *p_input, int64_t i_length )
{
input_item_SetDuration( p_input->p->input.p_item, (mtime_t) i_length );
-
- if( !p_input->b_preparsing )
- {
- pl_Yield( p_input );
- var_SetInteger( libvlc_priv (p_input->p_libvlc)->p_playlist,
- "item-change", p_input->p->input.p_item->i_id );
- pl_Release( p_input );
- }
}
/*****************************************************************************