Add method to get source/sink type.

Also provide convenience method to enumerate all sinks connected to a source.
This commit is contained in:
Peter Johnson
2016-11-15 22:18:32 -08:00
parent 6446b9ef10
commit 3381340eb5
17 changed files with 253 additions and 34 deletions

View File

@@ -398,6 +398,20 @@ JNIEXPORT jint JNICALL Java_edu_wpi_cscore_CameraServerJNI_createCvSource
return val;
}
/*
* Class: edu_wpi_cscore_CameraServerJNI
* Method: getSourceType
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_edu_wpi_cscore_CameraServerJNI_getSourceType
(JNIEnv *env, jclass, jint source)
{
CS_Status status = 0;
auto val = cs::GetSourceType(source, &status);
CheckStatus(env, status);
return val;
}
/*
* Class: edu_wpi_cscore_CameraServerJNI
* Method: getSourceName
@@ -582,6 +596,21 @@ JNIEXPORT jobjectArray JNICALL Java_edu_wpi_cscore_CameraServerJNI_enumerateSour
return jarr;
}
/*
* Class: edu_wpi_cscore_CameraServerJNI
* Method: enumerateSourceSinks
* Signature: (I)[I
*/
JNIEXPORT jintArray JNICALL Java_edu_wpi_cscore_CameraServerJNI_enumerateSourceSinks
(JNIEnv *env, jclass, jint source)
{
CS_Status status = 0;
llvm::SmallVector<CS_Sink, 16> buf;
auto arr = cs::EnumerateSourceSinks(source, buf, &status);
if (!CheckStatus(env, status)) return nullptr;
return MakeJIntArray(env, arr);
}
/*
* Class: edu_wpi_cscore_CameraServerJNI
* Method: copySource
@@ -732,6 +761,20 @@ JNIEXPORT jint JNICALL Java_edu_wpi_cscore_CameraServerJNI_createCvSink
return val;
}
/*
* Class: edu_wpi_cscore_CameraServerJNI
* Method: getSinkType
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_edu_wpi_cscore_CameraServerJNI_getSinkType
(JNIEnv *env, jclass, jint sink)
{
CS_Status status = 0;
auto val = cs::GetSinkType(sink, &status);
CheckStatus(env, status);
return val;
}
/*
* Class: edu_wpi_cscore_CameraServerJNI
* Method: getSinkName