]> git.sesse.net Git - vlc/blobdiff - include/vlc_playlist.h
Avoid segfault in subtitle demuxer.
[vlc] / include / vlc_playlist.h
index baa221752f91a12d78b91ec3f7cec4220ae9c7b7..4983b0b697d92312b534248999eaf648e5c82fd5 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#if !defined( __LIBVLC__ )
-  #error You are not libvlc or one of its plugins. You cannot include this file
-#endif
-
 #ifndef _VLC_PLAYLIST_H_
 #define _VLC_PLAYLIST_H_
 
@@ -254,6 +250,16 @@ struct playlist_add_t
 #define ORDER_NORMAL 0
 #define ORDER_REVERSE 1
 
+/* Used by playlist_Import */
+#define PLAYLIST_INSERT          0x0001
+#define PLAYLIST_APPEND          0x0002
+#define PLAYLIST_GO              0x0004
+#define PLAYLIST_PREPARSE        0x0008
+#define PLAYLIST_SPREPARSE       0x0010
+#define PLAYLIST_NO_REBUILD      0x0020
+
+#define PLAYLIST_END           -666
+
 /*****************************************************************************
  * Prototypes
  *****************************************************************************/
@@ -262,8 +268,6 @@ struct playlist_add_t
 #define PL_LOCK vlc_object_lock( p_playlist )
 #define PL_UNLOCK vlc_object_unlock( p_playlist )
 
-#define pl_Get( a ) a->p_libvlc->p_playlist
-
 VLC_EXPORT( playlist_t *, __pl_Yield, ( vlc_object_t * ) );
 #define pl_Yield( a ) __pl_Yield( VLC_OBJECT(a) )
 
@@ -414,7 +418,10 @@ static inline int playlist_Import( playlist_t *p_playlist, const char *psz_file)
 #define playlist_IsEmpty( pl ) ( pl->items.i_size == 0 )
 
 /** Tell the number of items in the current playing context */
-#define playlist_CurrentSize( obj ) obj->p_libvlc->p_playlist->current.i_size
+#define playlist_CurrentSize( pl ) pl->current.i_size
+
+/** Tell the current item id in current  playing context */
+#define playlist_CurrentId( pl ) pl->status.p_item->i_id
 
 /** Ask the playlist to do some work */
 #define playlist_Signal( p_playlist ) vlc_object_signal( p_playlist )