* Don't waste ids
* Fix a bug in services discoveries
playlist_t *p_playlist = (playlist_t *)vlc_object_find( p_obj,
VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
playlist_t *p_playlist = (playlist_t *)vlc_object_find( p_obj,
VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
- fprintf( stderr, "Destroying item %s\n", p_input->psz_name );
-
vlc_input_item_Clean( p_input );
vlc_input_item_Clean( p_input );
p_playlist->request.p_node = p_playlist->status.p_node;
p_playlist->request.p_item = p_playlist->status.p_item;
p_playlist->request.i_skip = (int) va_arg( args, int );
p_playlist->request.p_node = p_playlist->status.p_node;
p_playlist->request.p_item = p_playlist->status.p_item;
p_playlist->request.i_skip = (int) va_arg( args, int );
+ /* if already running, keep running */
+ if( p_playlist->status.i_status != PLAYLIST_STOPPED )
+ p_playlist->request.i_status = p_playlist->status.i_status;
p_playlist->request.b_request = VLC_TRUE;
break;
p_playlist->request.b_request = VLC_TRUE;
break;
int i_mode, int i_pos )
{
playlist_item_t *p_item_cat, *p_item_one;
int i_mode, int i_pos )
{
playlist_item_t *p_item_cat, *p_item_one;
- p_input->i_id = ++p_playlist->i_last_input_id;
msg_Dbg( p_playlist, "adding playlist item `%s' ( %s )",
p_input->psz_name, p_input->psz_uri );
msg_Dbg( p_playlist, "adding playlist item `%s' ( %s )",
p_input->psz_name, p_input->psz_uri );
p_playlist->p_root_onelevel );
(*pp_node_one)->i_flags |= PLAYLIST_RO_FLAG;
(*pp_node_one)->i_flags |= PLAYLIST_SKIP_FLAG;
p_playlist->p_root_onelevel );
(*pp_node_one)->i_flags |= PLAYLIST_RO_FLAG;
(*pp_node_one)->i_flags |= PLAYLIST_SKIP_FLAG;
+
+ (*pp_node_one)->p_input->i_id = (*pp_node_cat)->p_input->i_id;