VLC_API void libvlc_InternalDestroy( libvlc_int_t * );
VLC_API int libvlc_InternalAddIntf( libvlc_int_t *, const char * );
+VLC_API void libvlc_InternalPlay( libvlc_int_t * );
VLC_API void libvlc_InternalWait( libvlc_int_t * );
VLC_API void libvlc_SetExitHandler( libvlc_int_t *, void (*) (void *), void * );
void libvlc_playlist_play( libvlc_instance_t *p_instance, int i_id,
int i_options, char **ppsz_options )
{
- playlist_t *pl = pl_Get (p_instance->p_libvlc_int);
+ libvlc_InternalPlay( p_instance->p_libvlc_int );
VLC_UNUSED(i_id); VLC_UNUSED(i_options); VLC_UNUSED(ppsz_options);
-
- assert( pl );
- if( !var_GetBool( pl, "playlist-autostart" )
- || pl->items.i_size == 0 )
- return;
- playlist_Control( pl, PLAYLIST_PLAY, false );
}
int libvlc_add_intf( libvlc_instance_t *p_instance, const char *name )
#include <vlc_playlist.h>
#include "libvlc.h"
#include "playlist/playlist_internal.h"
+#include "../lib/libvlc_internal.h"
static int AddIntfCallback( vlc_object_t *, char const *,
vlc_value_t , vlc_value_t , void * );
0, -1, optc, optv, flags, true, pl_Unlocked);
}
+void libvlc_InternalPlay(libvlc_int_t *libvlc)
+{
+ playlist_t *pl;
+
+ vlc_mutex_lock(&lock);
+ pl = libvlc_priv(libvlc)->playlist;
+ vlc_mutex_unlock(&lock);
+
+ if (pl != NULL && var_GetBool(pl, "playlist-autostart"))
+ playlist_Control(pl, PLAYLIST_PLAY, false);
+}
+
/**
* Stops and destroys all interfaces
* @param p_libvlc the LibVLC instance