void ijkmp_set_inject_opaque(IjkMediaPlayer *mp, void *opaque) { assert(mp); MPTRACE("%s(%p)\n", __func__, opaque); #ifdef __GNUC__ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wpointer-to-int-cast" #endif ijkmp_set_option_int(mp, IJKMP_OPT_CATEGORY_FORMAT, "ijkinject-opaque", (int64_t)opaque); #ifdef __GNUC__ #pragma GCC diagnostic pop #endif MPTRACE("%s()=void\n", __func__); }
static void IjkMediaPlayer_setOptionLong(JNIEnv *env, jobject thiz, jint category, jobject name, jlong value) { MPTRACE("%s\n", __func__); IjkMediaPlayer *mp = jni_get_media_player(env, thiz); const char *c_name = NULL; JNI_CHECK_GOTO(mp, env, "java/lang/IllegalStateException", "mpjni: setOptionLong: null mp", LABEL_RETURN); c_name = (*env)->GetStringUTFChars(env, name, NULL ); JNI_CHECK_GOTO(c_name, env, "java/lang/OutOfMemoryError", "mpjni: setOptionLong: name.string oom", LABEL_RETURN); ijkmp_set_option_int(mp, category, c_name, value); LABEL_RETURN: if (c_name) (*env)->ReleaseStringUTFChars(env, name, c_name); ijkmp_dec_ref_p(&mp); }