]> git.sesse.net Git - vlc/blobdiff - src/playlist/item.c
avcodec: map LCL MSZH and ZLIB
[vlc] / src / playlist / item.c
index 205cb169a1667198fb5b285cc9dc685ce79ac7ec..b27389a160df7a2edc798a65807b0a1fe2ec9e7d 100644 (file)
@@ -451,8 +451,7 @@ int playlist_AddInput( playlist_t* p_playlist, input_item_t *p_input,
                        bool b_locked )
 {
     playlist_item_t *p_item;
-    /* FIXME: use b_killed instead: */
-    if( !vlc_object_alive(p_playlist) ) return VLC_EGENERIC;
+
     if( !pl_priv(p_playlist)->b_doing_ml )
         PL_DEBUG( "adding item `%s' ( %s )", p_input->psz_name,
                                              p_input->psz_uri );
@@ -460,7 +459,11 @@ int playlist_AddInput( playlist_t* p_playlist, input_item_t *p_input,
     PL_LOCK_IF( !b_locked );
 
     p_item = playlist_ItemNewFromInput( p_playlist, p_input );
-    if( p_item == NULL ) return VLC_ENOMEM;
+    if( p_item == NULL )
+    {
+        PL_UNLOCK_IF( !b_locked );
+        return VLC_ENOMEM;
+    }
     AddItem( p_playlist, p_item,
              b_playlist ? p_playlist->p_playing :
                           p_playlist->p_media_library , i_mode, i_pos );
@@ -494,18 +497,16 @@ playlist_item_t * playlist_NodeAddInput( playlist_t *p_playlist,
     assert( p_input );
     assert( p_parent && p_parent->i_children != -1 );
 
-    /* FIXME: use b_killed instead: */
-    if( !vlc_object_alive(p_playlist) )
-        return NULL;
-
     PL_LOCK_IF( !b_locked );
 
     p_item = playlist_ItemNewFromInput( p_playlist, p_input );
-    if( p_item == NULL ) return NULL;
+    if( p_item == NULL )
+        goto end;
     AddItem( p_playlist, p_item, p_parent, i_mode, i_pos );
 
     GoAndPreparse( p_playlist, i_mode, p_item );
 
+end:
     PL_UNLOCK_IF( !b_locked );
 
     return p_item;
@@ -765,7 +766,7 @@ static void GoAndPreparse( playlist_t *p_playlist, int i_mode,
         input_item_IsPreparsed( p_item->p_input ) == false &&
             ( EMPTY_STR( psz_artist ) || ( EMPTY_STR( psz_album ) ) )
           )
-        playlist_PreparseEnqueue( p_playlist, p_item->p_input );
+        libvlc_MetaRequest( p_playlist->p_libvlc, p_item->p_input );
     free( psz_artist );
     free( psz_album );
 }