static void nativeNew(JNIEnv *env, jobject thiz, jstring cmdline) { const char *str; str = env->GetStringUTFChars(cmdline, NULL); if (!str) { throw_IllegalArgumentException(env, "cmdline invalid"); return; } if (parse_arg(str) < 0) { E("parse_arg failed"); goto out; } gfq.weak_thiz = env->NewWeakGlobalRef(thiz); if (!gfq.weak_thiz) { E("Create weak-reference for libfqrtmp instance failed"); goto out; } libfqrtmp_event_send(OPENING, 0, jnu_new_string("")); gfq.rtmp_hdlr = new RtmpHandler; if (gfq.rtmp_hdlr->connect(liveurl) < 0) { libfqrtmp_event_send(ENCOUNTERED_ERROR, -1001, jnu_new_string("rtmp_connect failed")); goto out; } libfqrtmp_event_send(CONNECTED, 0, jnu_new_string("")); out: env->ReleaseStringUTFChars(cmdline, str); }
void Java_org_videolan_libvlc_MediaDiscoverer_nativeNew(JNIEnv *env, jobject thiz, jobject libVlc, jstring jname) { vlcjni_object *p_obj; const char* p_name; if (!jname || !(p_name = (*env)->GetStringUTFChars(env, jname, 0))) { throw_IllegalArgumentException(env, "jname invalid"); return; } p_obj = VLCJniObject_newFromJavaLibVlc(env, thiz, libVlc); if (!p_obj) { (*env)->ReleaseStringUTFChars(env, jname, p_name); return; } p_obj->u.p_md = libvlc_media_discoverer_new(p_obj->p_libvlc, p_name); (*env)->ReleaseStringUTFChars(env, jname, p_name); if (!p_obj->u.p_md) { VLCJniObject_release(env, thiz, p_obj); throw_IllegalStateException(env, "can't create MediaDiscoverer instance"); return; } }
jfloat Java_org_videolan_libvlc_MediaPlayer_00024Equalizer_nativeGetBandFrequency(JNIEnv *env, jobject thiz, jint index) { if (index < 0) { throw_IllegalArgumentException(env, "index invalid"); return 0.0; } return libvlc_audio_equalizer_get_band_frequency(index); }
jstring Java_org_videolan_libvlc_MediaPlayer_00024Equalizer_nativeGetPresetName(JNIEnv *env, jobject thiz, jint index) { const char *psz_name; if (index < 0) { throw_IllegalArgumentException(env, "index invalid"); return NULL; } psz_name = libvlc_audio_equalizer_get_preset_name(index); return psz_name ? (*env)->NewStringUTF(env, psz_name) : NULL; }
jboolean Java_org_videolan_libvlc_MediaPlayer_nativeSetSubtitleFile(JNIEnv *env, jobject thiz, jstring jpath) { vlcjni_object *p_obj = VLCJniObject_getInstance(env, thiz); const char* psz_path; if (!jpath || !(psz_path = (*env)->GetStringUTFChars(env, jpath, 0))) { throw_IllegalArgumentException(env, "path invalid"); return false; } if (!p_obj) return false; jboolean ret = libvlc_video_set_subtitle_file(p_obj->u.p_mp, psz_path); (*env)->ReleaseStringUTFChars(env, jpath, psz_path); return ret; }
jboolean Java_org_videolan_libvlc_MediaPlayer_nativeSetAudioOutputDevice(JNIEnv *env, jobject thiz, jstring jid) { const char* psz_id; int i_ret; vlcjni_object *p_obj = VLCJniObject_getInstance(env, thiz); if (!p_obj) return false; if (!jid || !(psz_id = (*env)->GetStringUTFChars(env, jid, 0))) { throw_IllegalArgumentException(env, "aout invalid"); return false; } libvlc_audio_output_device_set(p_obj->u.p_mp, NULL, psz_id); (*env)->ReleaseStringUTFChars(env, jid, psz_id); return true; }
jboolean Java_org_videolan_libvlc_MediaPlayer_nativeSetAudioOutput(JNIEnv *env, jobject thiz, jstring jaout) { const char* psz_aout; int i_ret; vlcjni_object *p_obj = VLCJniObject_getInstance(env, thiz); if (!p_obj) return false; if (!jaout || !(psz_aout = (*env)->GetStringUTFChars(env, jaout, 0))) { throw_IllegalArgumentException(env, "aout invalid"); return false; } i_ret = libvlc_audio_output_set(p_obj->u.p_mp, psz_aout); (*env)->ReleaseStringUTFChars(env, jaout, psz_aout); return i_ret == 0 ? true : false; }