Patch by jan-paul dinger (jpd at m2x dot nl).
/**
* Get the number of items in the playlist
*
+ * Expects the playlist instance to be locked already.
+ *
* \param p_instance the playlist instance
* \param p_e an initialized exception pointer
* \return the number of items
libvlc_video_set_parent(p_libvlc,
reinterpret_cast<libvlc_drawable_t>(_inplacewnd), NULL);
- if( _b_autoplay & (libvlc_playlist_items_count(p_libvlc, NULL) > 0) )
+ if( _b_autoplay )
{
- libvlc_playlist_play(p_libvlc, 0, 0, NULL, NULL);
- fireOnPlayEvent();
+ libvlc_playlist_lock(p_libvlc);
+ unsigned count = libvlc_playlist_items_count(p_libvlc, &ex);
+ if( count > 0 )
+ {
+ libvlc_playlist_play(p_libvlc, 0, 0, NULL, NULL);
+ fireOnPlayEvent();
+ }
+ libvlc_playlist_unlock(p_libvlc);
}
}
libvlc_exception_t ex;
libvlc_exception_init(&ex);
+ libvlc_playlist_lock(p_libvlc);
*count = libvlc_playlist_items_count(p_libvlc, &ex);
+ libvlc_playlist_unlock(p_libvlc);
if( libvlc_exception_raised(&ex) )
{
_p_instance->setErrorInfo(IID_IVLCControl,
libvlc_exception_t ex;
libvlc_exception_init(&ex);
+ libvlc_playlist_lock(p_libvlc);
*count = libvlc_playlist_items_count(p_libvlc, &ex);
+ libvlc_playlist_unlock(p_libvlc);
if( libvlc_exception_raised(&ex) )
{
_p_instance->setErrorInfo(IID_IVLCPlaylistItems,
libvlc_exception_t ex;
libvlc_exception_init(&ex);
+ libvlc_playlist_lock(p_libvlc);
*count = libvlc_playlist_items_count(p_libvlc, &ex);
+ libvlc_playlist_unlock(p_libvlc);
if( libvlc_exception_raised(&ex) )
{
_p_instance->setErrorInfo(IID_IVLCPlaylist,