result = _p_instance->getVLC(&p_libvlc);
if( SUCCEEDED(result) )
{
+ libvlc_playlist_lock( p_libvlc );
if( libvlc_playlist_isplaying(p_libvlc, NULL) )
*isPlaying = VARIANT_TRUE;
else
*isPlaying = VARIANT_FALSE;
+ libvlc_playlist_unlock( p_libvlc );
return NOERROR;
}
}
result = _p_instance->getVLC(&p_libvlc);
if( SUCCEEDED(result) )
{
- if( libvlc_playlist_isplaying(p_libvlc, NULL) )
+ bool b_playing;
+ libvlc_playlist_lock( p_libvlc );
+ b_playing = libvlc_playlist_isplaying(p_libvlc, NULL);
+ libvlc_playlist_unlock( p_libvlc );
+ if( b_playing )
{
libvlc_media_player_t *p_md =
libvlc_playlist_get_media_player(p_libvlc, NULL);
libvlc_exception_t ex;
libvlc_exception_init(&ex);
+ libvlc_playlist_lock( p_libvlc );
*isPlaying = libvlc_playlist_isplaying(p_libvlc, &ex) ?
VARIANT_TRUE: VARIANT_FALSE;
if( libvlc_exception_raised(&ex) )
{
+ libvlc_playlist_unlock( p_libvlc );
_p_instance->setErrorInfo(IID_IVLCPlaylist,
libvlc_exception_get_message(&ex));
libvlc_exception_clear(&ex);
return E_FAIL;
}
+ libvlc_playlist_unlock( p_libvlc );
return NOERROR;
}
return hr;