]> git.sesse.net Git - vlc/blobdiff - src/playlist/control.c
Preparser: yield the playlist (NSDRCID 1)
[vlc] / src / playlist / control.c
index d07f5d140e5b88b5705ee7457a661f6b37f57015..ac44286e4c8a68918d56628117c54286cfea0e7e 100644 (file)
@@ -25,7 +25,7 @@
 # include "config.h"
 #endif
 
-#include <vlc/vlc.h>
+#include <vlc_common.h>
 #include "vlc_playlist.h"
 #include "playlist_internal.h"
 #include <assert.h>
@@ -43,7 +43,7 @@ static void PreparseEnqueueItemSub( playlist_t *, playlist_item_t * );
 
 playlist_t *__pl_Yield( vlc_object_t *p_this )
 {
-    playlist_t *pl = p_this->p_libvlc->p_playlist;
+    playlist_t *pl = libvlc_priv (p_this->p_libvlc)->p_playlist;
     assert( pl != NULL );
     vlc_object_yield( pl );
     return pl;
@@ -51,7 +51,7 @@ playlist_t *__pl_Yield( vlc_object_t *p_this )
 
 void __pl_Release( vlc_object_t *p_this )
 {
-    playlist_t *pl = p_this->p_libvlc->p_playlist;
+    playlist_t *pl = libvlc_priv (p_this->p_libvlc)->p_playlist;
     assert( pl != NULL );
     vlc_object_release( pl );
 }
@@ -437,6 +437,7 @@ playlist_item_t * playlist_NextItem( playlist_t *p_playlist )
                                    p_playlist->status.p_item );
 
         p_playlist->i_current_index++;
+        assert( p_playlist->i_current_index <= p_playlist->current.i_size );
         if( p_playlist->i_current_index == p_playlist->current.i_size )
         {
             if( !b_loop || p_playlist->current.i_size == 0 ) return NULL;