Merge pull request #1728 from apavlenko:refactor_vcap_jni
This commit is contained in:
commit
b1bed14ebc
@ -8,6 +8,28 @@
|
|||||||
#include "opencv2/highgui/highgui.hpp"
|
#include "opencv2/highgui/highgui.hpp"
|
||||||
using namespace cv;
|
using namespace cv;
|
||||||
|
|
||||||
|
/// throw java exception
|
||||||
|
static void throwJavaException(JNIEnv *env, const std::exception *e, const char *method) {
|
||||||
|
std::string what = "unknown exception";
|
||||||
|
jclass je = 0;
|
||||||
|
|
||||||
|
if(e) {
|
||||||
|
std::string exception_type = "std::exception";
|
||||||
|
|
||||||
|
if(dynamic_cast<const cv::Exception*>(e)) {
|
||||||
|
exception_type = "cv::Exception";
|
||||||
|
je = env->FindClass("org/opencv/core/CvException");
|
||||||
|
}
|
||||||
|
|
||||||
|
what = exception_type + ": " + e->what();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!je) je = env->FindClass("java/lang/Exception");
|
||||||
|
env->ThrowNew(je, what.c_str());
|
||||||
|
|
||||||
|
LOGE("%s caught %s", method, what.c_str());
|
||||||
|
(void)method; // avoid "unused" warning
|
||||||
|
}
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
@ -21,24 +43,17 @@ JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__
|
|||||||
JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__
|
JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__
|
||||||
(JNIEnv* env, jclass)
|
(JNIEnv* env, jclass)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::VideoCapture()";
|
||||||
try {
|
try {
|
||||||
LOGD("highgui::VideoCapture_n_1VideoCapture__()");
|
LOGD("%s", method_name);
|
||||||
|
|
||||||
VideoCapture* _retval_ = new VideoCapture( );
|
VideoCapture* _retval_ = new VideoCapture( );
|
||||||
|
|
||||||
return (jlong) _retval_;
|
return (jlong) _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
LOGD("highgui::VideoCapture_n_1VideoCapture__() catched cv::Exception: %s", e.what());
|
throwJavaException(env, &e, method_name);
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
LOGD("highgui::VideoCapture_n_1VideoCapture__() catched unknown exception (...)");
|
throwJavaException(env, 0, method_name);
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1VideoCapture__()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -52,24 +67,17 @@ JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__I
|
|||||||
JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__I
|
JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__I
|
||||||
(JNIEnv* env, jclass, jint device)
|
(JNIEnv* env, jclass, jint device)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::VideoCapture(int device)";
|
||||||
try {
|
try {
|
||||||
LOGD("highgui::VideoCapture_n_1VideoCapture__I()");
|
LOGD("%s", method_name);
|
||||||
|
|
||||||
VideoCapture* _retval_ = new VideoCapture( device );
|
VideoCapture* _retval_ = new VideoCapture( device );
|
||||||
|
|
||||||
return (jlong) _retval_;
|
return (jlong) _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
LOGD("highgui::VideoCapture_n_1VideoCapture__I() catched cv::Exception: %s", e.what());
|
throwJavaException(env, &e, method_name);
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
LOGD("highgui::VideoCapture_n_1VideoCapture__I() catched unknown exception (...)");
|
throwJavaException(env, 0, method_name);
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1VideoCapture__I()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -84,24 +92,18 @@ JNIEXPORT jdouble JNICALL Java_org_opencv_highgui_VideoCapture_n_1get
|
|||||||
JNIEXPORT jdouble JNICALL Java_org_opencv_highgui_VideoCapture_n_1get
|
JNIEXPORT jdouble JNICALL Java_org_opencv_highgui_VideoCapture_n_1get
|
||||||
(JNIEnv* env, jclass, jlong self, jint propId)
|
(JNIEnv* env, jclass, jlong self, jint propId)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::get(int propId)";
|
||||||
try {
|
try {
|
||||||
LOGD("highgui::VideoCapture_n_1get()");
|
LOGD("%s", method_name);
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
double _retval_ = me->get( propId );
|
double _retval_ = me->get( propId );
|
||||||
|
|
||||||
return _retval_;
|
return _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
LOGD("highgui::VideoCapture_n_1get() catched cv::Exception: %s", e.what());
|
throwJavaException(env, &e, method_name);
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
LOGD("highgui::VideoCapture_n_1get() catched unknown exception (...)");
|
throwJavaException(env, 0, method_name);
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1get()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -116,24 +118,18 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1grab
|
|||||||
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1grab
|
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1grab
|
||||||
(JNIEnv* env, jclass, jlong self)
|
(JNIEnv* env, jclass, jlong self)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::grab()";
|
||||||
try {
|
try {
|
||||||
LOGD("highgui::VideoCapture_n_1grab()");
|
LOGD("%s", method_name);
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
bool _retval_ = me->grab( );
|
bool _retval_ = me->grab( );
|
||||||
|
|
||||||
return _retval_;
|
return _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
LOGD("highgui::VideoCapture_n_1grab() catched cv::Exception: %s", e.what());
|
throwJavaException(env, &e, method_name);
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
LOGD("highgui::VideoCapture_n_1grab() catched unknown exception (...)");
|
throwJavaException(env, 0, method_name);
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1grab()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -148,24 +144,18 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1isOpened
|
|||||||
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1isOpened
|
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1isOpened
|
||||||
(JNIEnv* env, jclass, jlong self)
|
(JNIEnv* env, jclass, jlong self)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::isOpened()";
|
||||||
try {
|
try {
|
||||||
LOGD("highgui::VideoCapture_n_1isOpened()");
|
LOGD("%s", method_name);
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
bool _retval_ = me->isOpened( );
|
bool _retval_ = me->isOpened( );
|
||||||
|
|
||||||
return _retval_;
|
return _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
LOGD("highgui::VideoCapture_n_1isOpened() catched cv::Exception: %s", e.what());
|
throwJavaException(env, &e, method_name);
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
LOGD("highgui::VideoCapture_n_1isOpened() catched unknown exception (...)");
|
throwJavaException(env, 0, method_name);
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1isOpened()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -179,24 +169,18 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1open__JI
|
|||||||
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1open__JI
|
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1open__JI
|
||||||
(JNIEnv* env, jclass, jlong self, jint device)
|
(JNIEnv* env, jclass, jlong self, jint device)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::open(int device)";
|
||||||
try {
|
try {
|
||||||
LOGD("highgui::VideoCapture_n_1open__JI()");
|
LOGD("%s", method_name);
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
bool _retval_ = me->open( device );
|
bool _retval_ = me->open( device );
|
||||||
|
|
||||||
return _retval_;
|
return _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
LOGD("highgui::VideoCapture_n_1open__JI() catched cv::Exception: %s", e.what());
|
throwJavaException(env, &e, method_name);
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
LOGD("highgui::VideoCapture_n_1open__JI() catched unknown exception (...)");
|
throwJavaException(env, 0, method_name);
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1open__JI()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -211,25 +195,19 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1read
|
|||||||
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1read
|
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1read
|
||||||
(JNIEnv* env, jclass, jlong self, jlong image_nativeObj)
|
(JNIEnv* env, jclass, jlong self, jlong image_nativeObj)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::read(Mat image)";
|
||||||
try {
|
try {
|
||||||
LOGD("highgui::VideoCapture_n_1read()");
|
LOGD("%s", method_name);
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
Mat& image = *((Mat*)image_nativeObj);
|
Mat& image = *((Mat*)image_nativeObj);
|
||||||
bool _retval_ = me->read( image );
|
bool _retval_ = me->read( image );
|
||||||
|
|
||||||
return _retval_;
|
return _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
LOGD("highgui::VideoCapture_n_1read() catched cv::Exception: %s", e.what());
|
throwJavaException(env, &e, method_name);
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
LOGD("highgui::VideoCapture_n_1read() catched unknown exception (...)");
|
throwJavaException(env, 0, method_name);
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1read()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -244,30 +222,18 @@ JNIEXPORT void JNICALL Java_org_opencv_highgui_VideoCapture_n_1release
|
|||||||
JNIEXPORT void JNICALL Java_org_opencv_highgui_VideoCapture_n_1release
|
JNIEXPORT void JNICALL Java_org_opencv_highgui_VideoCapture_n_1release
|
||||||
(JNIEnv* env, jclass, jlong self)
|
(JNIEnv* env, jclass, jlong self)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::release()";
|
||||||
try {
|
try {
|
||||||
|
LOGD("%s", method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1release()");
|
|
||||||
|
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
me->release( );
|
me->release( );
|
||||||
|
|
||||||
return;
|
|
||||||
} catch(cv::Exception e) {
|
|
||||||
|
|
||||||
LOGD("highgui::VideoCapture_n_1release() catched cv::Exception: %s", e.what());
|
|
||||||
|
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return;
|
return;
|
||||||
|
} catch(const std::exception &e) {
|
||||||
|
throwJavaException(env, &e, method_name);
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
throwJavaException(env, 0, method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1release() catched unknown exception (...)");
|
|
||||||
|
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1release()}");
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -282,31 +248,19 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJI
|
|||||||
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJI
|
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJI
|
||||||
(JNIEnv* env, jclass, jlong self, jlong image_nativeObj, jint channel)
|
(JNIEnv* env, jclass, jlong self, jlong image_nativeObj, jint channel)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::retrieve(Mat image, int channel)";
|
||||||
try {
|
try {
|
||||||
|
LOGD("%s", method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1retrieve__JJI()");
|
|
||||||
|
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
Mat& image = *((Mat*)image_nativeObj);
|
Mat& image = *((Mat*)image_nativeObj);
|
||||||
bool _retval_ = me->retrieve( image, channel );
|
bool _retval_ = me->retrieve( image, channel );
|
||||||
|
|
||||||
return _retval_;
|
return _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
|
throwJavaException(env, &e, method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1retrieve__JJI() catched cv::Exception: %s", e.what());
|
|
||||||
|
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
throwJavaException(env, 0, method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1retrieve__JJI() catched unknown exception (...)");
|
|
||||||
|
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1retrieve__JJI()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -317,31 +271,19 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJ
|
|||||||
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJ
|
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJ
|
||||||
(JNIEnv* env, jclass, jlong self, jlong image_nativeObj)
|
(JNIEnv* env, jclass, jlong self, jlong image_nativeObj)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::retrieve(Mat image)";
|
||||||
try {
|
try {
|
||||||
|
LOGD("%s", method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1retrieve__JJ()");
|
|
||||||
|
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
Mat& image = *((Mat*)image_nativeObj);
|
Mat& image = *((Mat*)image_nativeObj);
|
||||||
bool _retval_ = me->retrieve( image );
|
bool _retval_ = me->retrieve( image );
|
||||||
|
|
||||||
return _retval_;
|
return _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
|
throwJavaException(env, &e, method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1retrieve__JJ() catched cv::Exception: %s", e.what());
|
|
||||||
|
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
throwJavaException(env, 0, method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1retrieve__JJ() catched unknown exception (...)");
|
|
||||||
|
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1retrieve__JJ()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -356,62 +298,44 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1set
|
|||||||
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1set
|
JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1set
|
||||||
(JNIEnv* env, jclass, jlong self, jint propId, jdouble value)
|
(JNIEnv* env, jclass, jlong self, jint propId, jdouble value)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::set(int propId, double value)";
|
||||||
try {
|
try {
|
||||||
|
LOGD("%s", method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1set()");
|
|
||||||
|
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
bool _retval_ = me->set( propId, value );
|
bool _retval_ = me->set( propId, value );
|
||||||
|
|
||||||
return _retval_;
|
return _retval_;
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
|
throwJavaException(env, &e, method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1set() catched cv::Exception: %s", e.what());
|
|
||||||
|
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return 0;
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
throwJavaException(env, 0, method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1set() catched unknown exception (...)");
|
|
||||||
|
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1set()}");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// string VideoCapture::getSupportedPreviewSizes(...)
|
||||||
|
//
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_org_opencv_highgui_VideoCapture_n_1getSupportedPreviewSizes
|
JNIEXPORT jstring JNICALL Java_org_opencv_highgui_VideoCapture_n_1getSupportedPreviewSizes
|
||||||
(JNIEnv *env, jclass, jlong self);
|
(JNIEnv *env, jclass, jlong self);
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_org_opencv_highgui_VideoCapture_n_1getSupportedPreviewSizes
|
JNIEXPORT jstring JNICALL Java_org_opencv_highgui_VideoCapture_n_1getSupportedPreviewSizes
|
||||||
(JNIEnv *env, jclass, jlong self)
|
(JNIEnv *env, jclass, jlong self)
|
||||||
{
|
{
|
||||||
|
static const char method_name[] = "highgui::VideoCapture::getSupportedPreviewSizes(...)";
|
||||||
try {
|
try {
|
||||||
|
LOGD("%s", method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1set()");
|
|
||||||
|
|
||||||
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
|
||||||
union {double prop; const char* name;} u;
|
union {double prop; const char* name;} u;
|
||||||
u.prop = me->get(CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING);
|
u.prop = me->get(CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING);
|
||||||
return env->NewStringUTF(u.name);
|
return env->NewStringUTF(u.name);
|
||||||
} catch(cv::Exception e) {
|
} catch(const std::exception &e) {
|
||||||
|
throwJavaException(env, &e, method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1getSupportedPreviewSizes() catched cv::Exception: %s", e.what());
|
|
||||||
|
|
||||||
jclass je = env->FindClass("org/opencv/core/CvException");
|
|
||||||
if(!je) je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, e.what());
|
|
||||||
return env->NewStringUTF("");
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
throwJavaException(env, 0, method_name);
|
||||||
LOGD("highgui::VideoCapture_n_1getSupportedPreviewSizes() catched unknown exception (...)");
|
|
||||||
|
|
||||||
jclass je = env->FindClass("java/lang/Exception");
|
|
||||||
env->ThrowNew(je, "Unknown exception in JNI code {highgui::VideoCapture_n_1getSupportedPreviewSizes()}");
|
|
||||||
return env->NewStringUTF("");
|
|
||||||
}
|
}
|
||||||
|
return env->NewStringUTF("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user