/** * \brief Get current format. * \param env JNI environment * \param obj object * \param native pointer * \return current format */ JNIEXPORT jobject JNICALL Java_net_java_sip_communicator_impl_neomedia_directshow_DSCaptureDevice_getFormat (JNIEnv* env, jobject obj, jlong ptr) { DSCaptureDevice* dev = reinterpret_cast<DSCaptureDevice*>(ptr); VideoFormat fmt = dev->getFormat(); jclass clazzDSFormat = NULL; jmethodID initDSFormat = NULL; jobject ret = NULL; /* get DSFormat class to instantiate some object */ clazzDSFormat = env->FindClass("net/java/sip/communicator/impl/neomedia/directshow/DSFormat"); if(clazzDSFormat == NULL) { return NULL; } initDSFormat = env->GetMethodID(clazzDSFormat, "<init>", "(IIJ)V"); if(initDSFormat == NULL) { return NULL; } ret = env->NewObject(clazzDSFormat, initDSFormat, static_cast<size_t>(fmt.width), static_cast<size_t>(fmt.height), static_cast<jlong>(fmt.pixelFormat)); return ret; }
/** * \brief Get current format. * \param env JNI environment * \param obj object * \param native pointer * \return current format */ JNIEXPORT jobject JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_getFormat (JNIEnv* env, jobject obj, jlong ptr) { DSCaptureDevice* dev = reinterpret_cast<DSCaptureDevice*>(ptr); DSFormat fmt = dev->getFormat(); jclass clazzDSFormat = NULL; jmethodID initDSFormat = NULL; /* get DSFormat class to instantiate some object */ clazzDSFormat = env->FindClass("org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DSFormat"); if(clazzDSFormat == NULL) return NULL; initDSFormat = env->GetMethodID(clazzDSFormat, "<init>", "(III)V"); if(initDSFormat == NULL) return NULL; return env->NewObject( clazzDSFormat, initDSFormat, static_cast<jint>(fmt.width), static_cast<jint>(fmt.height), static_cast<jint>(fmt.pixelFormat)); }