/* These are a must*/\r
#include <jni.h>\r
#include <vlc/libvlc.h>\r
+#ifdef WIN32\r
+#include <windows.h>\r
+#undef usleep\r
+#define usleep(var) Sleep(var/1000)\r
+#else\r
+#include <unistd.h>\r
+#endif\r
+#include <stdio.h>\r
\r
/* JVLC internal imports, generated by gcjh */\r
#include "../includes/Playlist.h"\r
ppsz_options[ i+1 ] =\r
env->GetStringUTFChars( ( jstring ) env->GetObjectArrayElement( options, i ), 0 );\r
}\r
- res = libvlc_playlist_add_extended( ( libvlc_instance_t * ) instance, psz_uri, psz_name, i_options, ppsz_options, exception );\r
+ res = libvlc_playlist_add_extended( ( libvlc_instance_t * ) instance, psz_uri, psz_name, i_options, ppsz_options, &exception );\r
\r
- CHECK_EXCEPTION_FREE;\r
+ CHECK_EXCEPTION;\r
\r
} else {\r
- res = libvlc_playlist_add( ( libvlc_instance_t * ) instance, psz_uri, psz_name, exception );\r
+ res = libvlc_playlist_add( ( libvlc_instance_t * ) instance, psz_uri, psz_name, &exception );\r
\r
- CHECK_EXCEPTION_FREE;\r
+ CHECK_EXCEPTION;\r
}\r
\r
if (psz_uri != NULL) {\r
}\r
}\r
\r
- libvlc_playlist_play( ( libvlc_instance_t * ) instance, id, i_options, ( char ** ) ppsz_options, exception );\r
+ libvlc_playlist_play( ( libvlc_instance_t * ) instance, id, i_options, ( char ** ) ppsz_options, &exception );\r
\r
- CHECK_EXCEPTION_FREE;\r
+ CHECK_EXCEPTION;\r
+ \r
+ while (! libvlc_playlist_isplaying( (libvlc_instance_t*) instance, &exception ) )\r
+ {\r
+ usleep(100);\r
+ }\r
+\r
+ CHECK_EXCEPTION;\r
}\r
\r
\r
{\r
INIT_FUNCTION ;\r
\r
- libvlc_playlist_pause( ( libvlc_instance_t* ) instance, exception );\r
+ libvlc_playlist_pause( ( libvlc_instance_t* ) instance, &exception );\r
\r
- CHECK_EXCEPTION_FREE ;\r
+ CHECK_EXCEPTION ;\r
}\r
\r
JNIEXPORT void JNICALL Java_org_videolan_jvlc_Playlist__1stop (JNIEnv *env, jobject _this)\r
{\r
INIT_FUNCTION ;\r
\r
- libvlc_playlist_stop( ( libvlc_instance_t* ) instance, exception );\r
+ libvlc_playlist_stop( ( libvlc_instance_t* ) instance, &exception );\r
+ \r
+ while ( libvlc_playlist_isplaying( (libvlc_instance_t*) instance, &exception ) )\r
+ {\r
+ usleep(100);\r
+ }\r
+ \r
\r
- CHECK_EXCEPTION_FREE ;\r
+ CHECK_EXCEPTION ;\r
}\r
\r
JNIEXPORT void JNICALL Java_org_videolan_jvlc_Playlist__1next (JNIEnv *env, jobject _this)\r
{\r
INIT_FUNCTION ;\r
\r
- libvlc_playlist_next( ( libvlc_instance_t* ) instance, exception );\r
+ libvlc_playlist_next( ( libvlc_instance_t* ) instance, &exception );\r
\r
- CHECK_EXCEPTION_FREE ;\r
+ CHECK_EXCEPTION ;\r
}\r
\r
JNIEXPORT void JNICALL Java_org_videolan_jvlc_Playlist__1prev (JNIEnv *env, jobject _this)\r
{\r
INIT_FUNCTION ;\r
\r
- libvlc_playlist_prev( (libvlc_instance_t*) instance, exception );\r
+ libvlc_playlist_prev( (libvlc_instance_t*) instance, &exception );\r
\r
- CHECK_EXCEPTION_FREE ;\r
+ CHECK_EXCEPTION ;\r
}\r
\r
JNIEXPORT void JNICALL Java_org_videolan_jvlc_Playlist__1clear (JNIEnv *env, jobject _this)\r
{\r
INIT_FUNCTION ;\r
\r
- libvlc_playlist_clear( (libvlc_instance_t*) instance, exception );\r
+ libvlc_playlist_clear( (libvlc_instance_t*) instance, &exception );\r
\r
- CHECK_EXCEPTION_FREE ;\r
+ CHECK_EXCEPTION ;\r
}\r
\r
JNIEXPORT void JNICALL Java_org_videolan_jvlc_Playlist__1deleteItem (JNIEnv *env, jobject _this, jint itemID)\r
{\r
INIT_FUNCTION ;\r
\r
- libvlc_playlist_delete_item( ( libvlc_instance_t * ) instance, itemID, exception );\r
+ libvlc_playlist_delete_item( ( libvlc_instance_t * ) instance, itemID, &exception );\r
\r
- CHECK_EXCEPTION_FREE ;\r
+ CHECK_EXCEPTION ;\r
}\r
\r
\r
INIT_FUNCTION ;\r
int res = 0;\r
\r
- res = libvlc_playlist_items_count( (libvlc_instance_t*) instance, exception );\r
+ res = libvlc_playlist_items_count( (libvlc_instance_t*) instance, &exception );\r
\r
- CHECK_EXCEPTION_FREE ;\r
+ CHECK_EXCEPTION ;\r
\r
return res;\r
\r
INIT_FUNCTION ;\r
int res = 0;\r
\r
- res = libvlc_playlist_isplaying( (libvlc_instance_t*) instance, exception );\r
+ res = libvlc_playlist_isplaying( (libvlc_instance_t*) instance, &exception );\r
\r
- CHECK_EXCEPTION_FREE ;\r
+ CHECK_EXCEPTION ;\r
\r
return res;\r
}\r
{\r
INIT_FUNCTION ;\r
\r
- libvlc_playlist_loop( (libvlc_instance_t*) instance, loop, exception );\r
+ libvlc_playlist_loop( (libvlc_instance_t*) instance, loop, &exception );\r
\r
- CHECK_EXCEPTION_FREE ;\r
+ CHECK_EXCEPTION ;\r
\r
} \r