+ return VLC_EGENERIC;
+}
+
+/** Remove a playlist item from the playlist, given its id */
+int playlist_DeleteFromItemId( playlist_t *p_playlist, int i_id )
+{
+ playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_id );
+ if( !p_item ) return VLC_EGENERIC;
+ return DeleteInner( p_playlist, p_item, VLC_TRUE );
+}
+
+/** Remove a playlist item from the playlist, given its id
+ * This function should be entered without the playlist lock */
+int playlist_LockDelete( playlist_t * p_playlist, int i_id )
+{
+ int i_ret;
+ vlc_mutex_lock( &p_playlist->object_lock );
+ i_ret = playlist_DeleteFromItemId( p_playlist, i_id );
+ vlc_mutex_unlock( &p_playlist->object_lock );
+ return i_ret;
+}
+
+/** Clear the playlist */
+void playlist_Clear( playlist_t * p_playlist )
+{
+ playlist_NodeEmpty( p_playlist, p_playlist->p_root_category, VLC_TRUE );
+ playlist_NodeEmpty( p_playlist, p_playlist->p_root_onelevel, VLC_TRUE );
+}
+/** Clear the playlist. This function must be entered without the lock */
+void playlist_LockClear( playlist_t *p_playlist )
+{
+ vlc_mutex_lock( &p_playlist->object_lock );
+ playlist_Clear( p_playlist );
+ vlc_mutex_unlock( &p_playlist->object_lock );
+}