mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Gets builds working on Windows (VS 2015) (#37)
Def files will be updated after the latest PR with new definitions gets added.
This commit is contained in:
committed by
Peter Johnson
parent
f225c4773a
commit
b91ab0b44f
185
cscore-jni.def
185
cscore-jni.def
@@ -1,122 +1,71 @@
|
||||
LIBRARY CAMERASERVER
|
||||
LIBRARY CSCORE
|
||||
EXPORTS
|
||||
CS_GetPropertyType @1
|
||||
CS_GetPropertyName @2
|
||||
CS_GetBooleanProperty @3
|
||||
CS_SetBooleanProperty @4
|
||||
CS_GetDoubleProperty @5
|
||||
CS_SetDoubleProperty @6
|
||||
CS_GetDoublePropertyMin @7
|
||||
CS_GetDoublePropertyMax @8
|
||||
CS_GetStringProperty @9
|
||||
CS_SetStringProperty @10
|
||||
CS_GetEnumProperty @11
|
||||
CS_SetEnumProperty @12
|
||||
CS_GetEnumPropertyChoices @13
|
||||
CS_CreateUSBSourceDev @14
|
||||
CS_CreateUSBSourcePath @15
|
||||
CS_CreateHTTPSource @16
|
||||
CS_CreateCvSource @17
|
||||
CS_GetSourceName @18
|
||||
CS_GetSourceDescription @19
|
||||
CS_GetSourceLastFrameTime @20
|
||||
CS_GetSourceNumChannels @21
|
||||
CS_IsSourceConnected @22
|
||||
CS_GetSourceProperty @23
|
||||
CS_EnumerateSourceProperties @24
|
||||
CS_CopySource @25
|
||||
CS_ReleaseSource @26
|
||||
CS_PutSourceImage @27
|
||||
CS_NotifySourceFrame @28
|
||||
CS_PutSourceFrame @29
|
||||
CS_NotifySourceError @30
|
||||
CS_SetSourceConnected @31
|
||||
CS_CreateSourceProperty @32
|
||||
CS_CreateSourcePropertyCallback @33
|
||||
CS_RemoveSourceProperty @34
|
||||
CS_RemoveSourcePropertyByName @35
|
||||
CS_CreateHTTPSink @36
|
||||
CS_CreateCvSink @37
|
||||
CS_CreateCvSinkCallback @38
|
||||
CS_GetSinkName @39
|
||||
CS_GetSinkDescription @40
|
||||
CS_SetSinkSource @41
|
||||
CS_GetSinkSource @42
|
||||
CS_GetSinkSourceProperty @43
|
||||
CS_CopySink @44
|
||||
CS_ReleaseSink @45
|
||||
CS_SetSinkSourceChannel @46
|
||||
CS_SinkWaitForFrame @47
|
||||
CS_GetSinkImage @48
|
||||
CS_GrabSinkFrame @49
|
||||
CS_GetSinkError @50
|
||||
CS_SetSinkEnabled @51
|
||||
CS_AddSourceListener @52
|
||||
CS_RemoveSourceListener @53
|
||||
CS_AddSinkListener @54
|
||||
CS_RemoveSinkListener @55
|
||||
CS_EnumerateUSBCameras @56
|
||||
CS_FreeEnumeratedUSBCameras @57
|
||||
CS_EnumerateSources @58
|
||||
CS_ReleaseEnumeratedSources @59
|
||||
CS_EnumerateSinks @60
|
||||
CS_ReleaseEnumeratedSinks @61
|
||||
CS_FreeString @62
|
||||
CS_FreeEnumPropertyChoices @63
|
||||
CS_FreeEnumeratedProperties @64
|
||||
CS_GrabSinkFrameCpp @65
|
||||
CS_PutSourceFrameCpp @66
|
||||
|
||||
; JNI functions
|
||||
JNI_OnLoad
|
||||
JNI_OnUnload
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getPropertyType
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getPropertyName
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getBooleanProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_setBooleanProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getDoubleProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_setDoubleProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getDoublePropertyMin
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getDoublePropertyMax
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getStringProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_setStringProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getEnumProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_setEnumProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getEnumPropertyChoices
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_createUSBSourceDev
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_createUSBSourcePath
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_createHTTPSource
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_createCvSource
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSourceName
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSourceDescription
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSourceLastFrameTime
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSourceNumChannels
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_isSourceConnected
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSourceProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_enumerateSourceProperties
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_copySource
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_releaseSource
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_notifySourceFrame
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_notifySourceError
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_setSourceConnected
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_createSourceProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_removeSourceProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_removeSourcePropertyByName
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_createHTTPSink
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_createCvSink
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSinkName
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSinkDescription
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_setSinkSource
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSinkSourceProperty
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSinkSource
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_copySink
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_releaseSink
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_setSinkSourceChannel
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_sinkWaitForFrame
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_getSinkError
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_setSinkEnabled
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_removeSourceListener
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_removeSinkListener
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_enumerateUSBCameras
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_enumerateSources
|
||||
Java_edu_wpi_cameraserver_CameraServerJNI_enumerateSinks
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getPropertyKind
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getPropertyName
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getProperty
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setProperty
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getPropertyMin
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getPropertyMax
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getPropertyStep
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getPropertyDefault
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getStringProperty
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setStringProperty
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getEnumPropertyChoices
|
||||
Java_edu_wpi_cscore_CameraServerJNI_createUsbCameraDev
|
||||
Java_edu_wpi_cscore_CameraServerJNI_createUsbCameraPath
|
||||
Java_edu_wpi_cscore_CameraServerJNI_createHttpCamera
|
||||
Java_edu_wpi_cscore_CameraServerJNI_createHttpCameraMulti
|
||||
Java_edu_wpi_cscore_CameraServerJNI_createCvSource
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSourceKind
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSourceName
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSourceDescription
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSourceLastFrameTime
|
||||
Java_edu_wpi_cscore_CameraServerJNI_isSourceConnected
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSourceProperty
|
||||
Java_edu_wpi_cscore_CameraServerJNI_enumerateSourceProperties
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSourceVideoMode
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSourceVideoMode
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSourcePixelFormat
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSourceResolution
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSourceFPS
|
||||
Java_edu_wpi_cscore_CameraServerJNI_enumerateSourceVideoModes
|
||||
Java_edu_wpi_cscore_CameraServerJNI_enumerateSourceSinks
|
||||
Java_edu_wpi_cscore_CameraServerJNI_copySource
|
||||
Java_edu_wpi_cscore_CameraServerJNI_releaseSource
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getUsbCameraPath
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getHttpCameraKind
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setHttpCameraUrls
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getHttpCameraUrls
|
||||
Java_edu_wpi_cscore_CameraServerJNI_putSourceFrame
|
||||
Java_edu_wpi_cscore_CameraServerJNI_notifySourceError
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSourceConnected
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSourceDescription
|
||||
Java_edu_wpi_cscore_CameraServerJNI_createSourceProperty
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSourceEnumPropertyChoices
|
||||
Java_edu_wpi_cscore_CameraServerJNI_createMjpegServer
|
||||
Java_edu_wpi_cscore_CameraServerJNI_createCvSink
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSinkKind
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSinkName
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSinkDescription
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSinkSource
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSinkSourceProperty
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSinkSource
|
||||
Java_edu_wpi_cscore_CameraServerJNI_copySink
|
||||
Java_edu_wpi_cscore_CameraServerJNI_releaseSink
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getMjpegServerListenAddress
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getMjpegServerPort
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSinkDescription
|
||||
Java_edu_wpi_cscore_CameraServerJNI_grabSinkFrame
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getSinkError
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setSinkEnabled
|
||||
Java_edu_wpi_cscore_CameraServerJNI_addListener
|
||||
Java_edu_wpi_cscore_CameraServerJNI_removeListener
|
||||
Java_edu_wpi_cscore_CameraServerJNI_setLogger
|
||||
Java_edu_wpi_cscore_CameraServerJNI_enumerateUsbCameras
|
||||
Java_edu_wpi_cscore_CameraServerJNI_enumerateSources
|
||||
Java_edu_wpi_cscore_CameraServerJNI_enumerateSinks
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getHostname
|
||||
Java_edu_wpi_cscore_CameraServerJNI_getNetworkInterfaces
|
||||
68
cscore.def
68
cscore.def
@@ -1,68 +1,2 @@
|
||||
LIBRARY CAMERASERVER
|
||||
LIBRARY CSCORE
|
||||
EXPORTS
|
||||
CS_GetPropertyType @1
|
||||
CS_GetPropertyName @2
|
||||
CS_GetBooleanProperty @3
|
||||
CS_SetBooleanProperty @4
|
||||
CS_GetDoubleProperty @5
|
||||
CS_SetDoubleProperty @6
|
||||
CS_GetDoublePropertyMin @7
|
||||
CS_GetDoublePropertyMax @8
|
||||
CS_GetStringProperty @9
|
||||
CS_SetStringProperty @10
|
||||
CS_GetEnumProperty @11
|
||||
CS_SetEnumProperty @12
|
||||
CS_GetEnumPropertyChoices @13
|
||||
CS_CreateUSBSourceDev @14
|
||||
CS_CreateUSBSourcePath @15
|
||||
CS_CreateHTTPSource @16
|
||||
CS_CreateCvSource @17
|
||||
CS_GetSourceName @18
|
||||
CS_GetSourceDescription @19
|
||||
CS_GetSourceLastFrameTime @20
|
||||
CS_GetSourceNumChannels @21
|
||||
CS_IsSourceConnected @22
|
||||
CS_GetSourceProperty @23
|
||||
CS_EnumerateSourceProperties @24
|
||||
CS_CopySource @25
|
||||
CS_ReleaseSource @26
|
||||
CS_PutSourceImage @27
|
||||
CS_NotifySourceFrame @28
|
||||
CS_PutSourceFrame @29
|
||||
CS_NotifySourceError @30
|
||||
CS_SetSourceConnected @31
|
||||
CS_CreateSourceProperty @32
|
||||
CS_CreateSourcePropertyCallback @33
|
||||
CS_RemoveSourceProperty @34
|
||||
CS_RemoveSourcePropertyByName @35
|
||||
CS_CreateHTTPSink @36
|
||||
CS_CreateCvSink @37
|
||||
CS_CreateCvSinkCallback @38
|
||||
CS_GetSinkName @39
|
||||
CS_GetSinkDescription @40
|
||||
CS_SetSinkSource @41
|
||||
CS_GetSinkSource @42
|
||||
CS_GetSinkSourceProperty @43
|
||||
CS_CopySink @44
|
||||
CS_ReleaseSink @45
|
||||
CS_SetSinkSourceChannel @46
|
||||
CS_SinkWaitForFrame @47
|
||||
CS_GetSinkImage @48
|
||||
CS_GrabSinkFrame @49
|
||||
CS_GetSinkError @50
|
||||
CS_SetSinkEnabled @51
|
||||
CS_AddSourceListener @52
|
||||
CS_RemoveSourceListener @53
|
||||
CS_AddSinkListener @54
|
||||
CS_RemoveSinkListener @55
|
||||
CS_EnumerateUSBCameras @56
|
||||
CS_FreeEnumeratedUSBCameras @57
|
||||
CS_EnumerateSources @58
|
||||
CS_ReleaseEnumeratedSources @59
|
||||
CS_EnumerateSinks @60
|
||||
CS_ReleaseEnumeratedSinks @61
|
||||
CS_FreeString @62
|
||||
CS_FreeEnumPropertyChoices @63
|
||||
CS_FreeEnumeratedProperties @64
|
||||
CS_GrabSinkFrameCpp @65
|
||||
CS_PutSourceFrameCpp @66
|
||||
|
||||
180
cscore.gradle
180
cscore.gradle
@@ -52,94 +52,96 @@ def cscoreSetupModel = { project ->
|
||||
def cscoreSetupExamplesModel = { project ->
|
||||
project.model {
|
||||
components {
|
||||
enum_usb(NativeExecutableSpec) {
|
||||
if (project.isArm) {
|
||||
targetPlatform 'arm'
|
||||
} else {
|
||||
//targetPlatform 'x86'
|
||||
targetPlatform 'x64'
|
||||
}
|
||||
setupDefines(project, binaries)
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir "${rootDir}/examples/enum_usb"
|
||||
include '**/*.cpp'
|
||||
if (!OperatingSystem.current().isWindows() && !project.isArm) {
|
||||
enum_usb(NativeExecutableSpec) {
|
||||
if (project.isArm) {
|
||||
targetPlatform 'arm'
|
||||
} else {
|
||||
//targetPlatform 'x86'
|
||||
targetPlatform 'x64'
|
||||
}
|
||||
setupDefines(project, binaries)
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir "${rootDir}/examples/enum_usb"
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs = ["${rootDir}/include", "${rootDir}/wpiutil/include"]
|
||||
include '**/*.h'
|
||||
}
|
||||
lib library: 'cscore', linkage: 'static'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs = ["${rootDir}/include", "${rootDir}/wpiutil/include"]
|
||||
include '**/*.h'
|
||||
}
|
||||
lib library: 'cscore', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
usbstream(NativeExecutableSpec) {
|
||||
if (project.isArm) {
|
||||
targetPlatform 'arm'
|
||||
} else {
|
||||
//targetPlatform 'x86'
|
||||
targetPlatform 'x64'
|
||||
}
|
||||
setupDefines(project, binaries)
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir "${rootDir}/examples/usbstream"
|
||||
include '**/*.cpp'
|
||||
usbstream(NativeExecutableSpec) {
|
||||
if (project.isArm) {
|
||||
targetPlatform 'arm'
|
||||
} else {
|
||||
//targetPlatform 'x86'
|
||||
targetPlatform 'x64'
|
||||
}
|
||||
setupDefines(project, binaries)
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir "${rootDir}/examples/usbstream"
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs = ["${rootDir}/include", "${rootDir}/wpiutil/include"]
|
||||
include '**/*.h'
|
||||
}
|
||||
lib library: 'cscore', linkage: 'static'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs = ["${rootDir}/include", "${rootDir}/wpiutil/include"]
|
||||
include '**/*.h'
|
||||
}
|
||||
lib library: 'cscore', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
usbcvstream(NativeExecutableSpec) {
|
||||
if (project.isArm) {
|
||||
targetPlatform 'arm'
|
||||
} else {
|
||||
//targetPlatform 'x86'
|
||||
targetPlatform 'x64'
|
||||
}
|
||||
setupDefines(project, binaries)
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir "${rootDir}/examples/usbcvstream"
|
||||
include '**/*.cpp'
|
||||
usbcvstream(NativeExecutableSpec) {
|
||||
if (project.isArm) {
|
||||
targetPlatform 'arm'
|
||||
} else {
|
||||
//targetPlatform 'x86'
|
||||
targetPlatform 'x64'
|
||||
}
|
||||
setupDefines(project, binaries)
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir "${rootDir}/examples/usbcvstream"
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs = ["${rootDir}/include", "${rootDir}/wpiutil/include", project.openCvInclude]
|
||||
include '**/*.h'
|
||||
}
|
||||
lib library: 'cscore', linkage: 'static'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs = ["${rootDir}/include", "${rootDir}/wpiutil/include", project.openCvInclude]
|
||||
include '**/*.h'
|
||||
}
|
||||
lib library: 'cscore', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
settings(NativeExecutableSpec) {
|
||||
if (project.isArm) {
|
||||
targetPlatform 'arm'
|
||||
} else {
|
||||
//targetPlatform 'x86'
|
||||
targetPlatform 'x64'
|
||||
}
|
||||
setupDefines(project, binaries)
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir "${rootDir}/examples/settings"
|
||||
include '**/*.cpp'
|
||||
settings(NativeExecutableSpec) {
|
||||
if (project.isArm) {
|
||||
targetPlatform 'arm'
|
||||
} else {
|
||||
//targetPlatform 'x86'
|
||||
targetPlatform 'x64'
|
||||
}
|
||||
setupDefines(project, binaries)
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir "${rootDir}/examples/settings"
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs = ["${rootDir}/include", "${rootDir}/wpiutil/include", project.openCvInclude]
|
||||
include '**/*.h'
|
||||
}
|
||||
lib library: 'cscore', linkage: 'static'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs = ["${rootDir}/include", "${rootDir}/wpiutil/include", project.openCvInclude]
|
||||
include '**/*.h'
|
||||
}
|
||||
lib library: 'cscore', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -298,25 +300,23 @@ if (buildArm) {
|
||||
}
|
||||
|
||||
project(':native') {
|
||||
if (!OperatingSystem.current().isWindows()) {
|
||||
apply plugin: 'cpp'
|
||||
apply plugin: 'cpp'
|
||||
|
||||
apply from: "${rootDir}/toolchains/native.gradle"
|
||||
apply from: "${rootDir}/toolchains/native.gradle"
|
||||
|
||||
//if (!project.hasProperty("withoutTests")) {
|
||||
// apply from: "${rootDir}/test/tests.gradle"
|
||||
//}
|
||||
//if (!project.hasProperty("withoutTests")) {
|
||||
// apply from: "${rootDir}/test/tests.gradle"
|
||||
//}
|
||||
|
||||
if (includeJava) {
|
||||
apply from: "${rootDir}/java/java.gradle"
|
||||
}
|
||||
|
||||
cscoreSetupModel(project)
|
||||
cscoreSetupExamplesModel(project)
|
||||
cscoreZipTask(project)
|
||||
useWpiUtil(project)
|
||||
useOpenCv(project)
|
||||
if (includeJava) {
|
||||
apply from: "${rootDir}/java/java.gradle"
|
||||
}
|
||||
|
||||
cscoreSetupModel(project)
|
||||
cscoreSetupExamplesModel(project)
|
||||
cscoreZipTask(project)
|
||||
useWpiUtil(project)
|
||||
useOpenCv(project)
|
||||
}
|
||||
|
||||
task cscoreSourceZip(type: Zip) {
|
||||
|
||||
@@ -26,6 +26,7 @@ static JClass videoModeCls;
|
||||
static JClass videoEventCls;
|
||||
static JException videoEx;
|
||||
static JException nullPointerEx;
|
||||
static JException unsupportedEx;
|
||||
// Thread-attached environment for listener callbacks.
|
||||
static JNIEnv *listenerEnv = nullptr;
|
||||
|
||||
@@ -74,6 +75,9 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
nullPointerEx = JException(env, "java/lang/NullPointerException");
|
||||
if (!nullPointerEx) return JNI_ERR;
|
||||
|
||||
unsupportedEx = JException(env, "java/lang/UnsupportedOperationException");
|
||||
if (!unsupportedEx) return JNI_ERR;
|
||||
|
||||
// Initial configuration of listener start/exit
|
||||
cs::SetListenerOnStart(ListenerOnStart);
|
||||
cs::SetListenerOnExit(ListenerOnExit);
|
||||
@@ -91,6 +95,7 @@ JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved) {
|
||||
videoEventCls.free(env);
|
||||
videoEx.free(env);
|
||||
nullPointerEx.free(env);
|
||||
unsupportedEx.free(env);
|
||||
jvm = nullptr;
|
||||
}
|
||||
|
||||
@@ -381,6 +386,10 @@ JNIEXPORT jobjectArray JNICALL Java_edu_wpi_cscore_CameraServerJNI_getEnumProper
|
||||
JNIEXPORT jint JNICALL Java_edu_wpi_cscore_CameraServerJNI_createUsbCameraDev
|
||||
(JNIEnv *env, jclass, jstring name, jint dev)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
unsupportedEx.Throw(env, "USB is not supported yet");
|
||||
return 0;
|
||||
#else
|
||||
if (!name) {
|
||||
nullPointerEx.Throw(env, "name cannot be null");
|
||||
return 0;
|
||||
@@ -389,6 +398,7 @@ JNIEXPORT jint JNICALL Java_edu_wpi_cscore_CameraServerJNI_createUsbCameraDev
|
||||
auto val = cs::CreateUsbCameraDev(JStringRef{env, name}, dev, &status);
|
||||
CheckStatus(env, status);
|
||||
return val;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -399,6 +409,10 @@ JNIEXPORT jint JNICALL Java_edu_wpi_cscore_CameraServerJNI_createUsbCameraDev
|
||||
JNIEXPORT jint JNICALL Java_edu_wpi_cscore_CameraServerJNI_createUsbCameraPath
|
||||
(JNIEnv *env, jclass, jstring name, jstring path)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
unsupportedEx.Throw(env, "USB is not supported yet");
|
||||
return 0;
|
||||
#else
|
||||
if (!name) {
|
||||
nullPointerEx.Throw(env, "name cannot be null");
|
||||
return 0;
|
||||
@@ -412,6 +426,7 @@ JNIEXPORT jint JNICALL Java_edu_wpi_cscore_CameraServerJNI_createUsbCameraPath
|
||||
JStringRef{env, path}, &status);
|
||||
CheckStatus(env, status);
|
||||
return val;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -750,10 +765,15 @@ JNIEXPORT void JNICALL Java_edu_wpi_cscore_CameraServerJNI_releaseSource
|
||||
JNIEXPORT jstring JNICALL Java_edu_wpi_cscore_CameraServerJNI_getUsbCameraPath
|
||||
(JNIEnv *env, jclass, jint source)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
unsupportedEx.Throw(env, "USB is not supported yet");
|
||||
return 0;
|
||||
#else
|
||||
CS_Status status = 0;
|
||||
auto str = cs::GetUsbCameraPath(source, &status);
|
||||
if (!CheckStatus(env, status)) return nullptr;
|
||||
return MakeJString(env, str);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1239,6 +1259,10 @@ JNIEXPORT void JNICALL Java_edu_wpi_cscore_CameraServerJNI_removeListener
|
||||
JNIEXPORT jobjectArray JNICALL Java_edu_wpi_cscore_CameraServerJNI_enumerateUsbCameras
|
||||
(JNIEnv *env, jclass)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
unsupportedEx.Throw(env, "USB is not supported yet");
|
||||
return 0;
|
||||
#else
|
||||
CS_Status status = 0;
|
||||
auto arr = cs::EnumerateUsbCameras(&status);
|
||||
if (!CheckStatus(env, status)) return nullptr;
|
||||
@@ -1250,6 +1274,7 @@ JNIEXPORT jobjectArray JNICALL Java_edu_wpi_cscore_CameraServerJNI_enumerateUsbC
|
||||
env->SetObjectArrayElement(jarr, i, jelem);
|
||||
}
|
||||
return jarr;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -25,9 +25,7 @@ task clean(type: Delete) {
|
||||
|
||||
outputVersions.mustRunAfter clean
|
||||
|
||||
if (!OperatingSystem.current().isWindows()) {
|
||||
project(':native').build.dependsOn outputVersions
|
||||
}
|
||||
project(':native').build.dependsOn outputVersions
|
||||
if (project.buildArm) {
|
||||
project(':arm').build.dependsOn outputVersions
|
||||
}
|
||||
@@ -45,13 +43,10 @@ publishing {
|
||||
def nat = project('native')
|
||||
if (!project.hasProperty('skipJava')) {
|
||||
java(MavenPublication) {
|
||||
if (!OperatingSystem.current().isWindows()) {
|
||||
artifact nat.jar
|
||||
if (!project.buildArm) {
|
||||
artifact nat.cscoreJavaSource
|
||||
artifact nat.cscoreJavadoc
|
||||
}
|
||||
|
||||
artifact nat.jar
|
||||
if (!project.buildArm) {
|
||||
artifact nat.cscoreJavaSource
|
||||
artifact nat.cscoreJavadoc
|
||||
}
|
||||
if (project.buildArm) {
|
||||
def camArm = project('arm')
|
||||
@@ -66,11 +61,9 @@ publishing {
|
||||
artifact camArm.cscoreJavaSource
|
||||
artifact camArm.cscoreJavadoc
|
||||
}
|
||||
if (!OperatingSystem.current().isWindows()) {
|
||||
if (project.hasProperty('makeDesktop')) {
|
||||
artifact nat.jar, {
|
||||
classifier = 'desktop'
|
||||
}
|
||||
if (project.hasProperty('makeDesktop')) {
|
||||
artifact nat.jar, {
|
||||
classifier = 'desktop'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,9 +73,7 @@ publishing {
|
||||
}
|
||||
}
|
||||
cpp(MavenPublication) {
|
||||
if (!OperatingSystem.current().isWindows()) {
|
||||
artifact nat.cscoreZip
|
||||
}
|
||||
artifact nat.cscoreZip
|
||||
artifact cscoreSourceZip
|
||||
if (project.buildArm) {
|
||||
artifact project(':arm').cscoreZip
|
||||
@@ -92,11 +83,9 @@ publishing {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!OperatingSystem.current().isWindows()) {
|
||||
if (project.hasProperty('makeDesktop')) {
|
||||
artifact nat.cscoreZip, {
|
||||
classifier = 'desktop'
|
||||
}
|
||||
if (project.hasProperty('makeDesktop')) {
|
||||
artifact nat.cscoreZip, {
|
||||
classifier = 'desktop'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -51,12 +51,14 @@ void HttpCameraImpl::Start() {
|
||||
m_settingsThread = std::thread(&HttpCameraImpl::SettingsThreadMain, this);
|
||||
}
|
||||
|
||||
#ifndef _WIN32
|
||||
static inline void DoFdSet(int fd, fd_set* set, int* nfds) {
|
||||
if (fd >= 0) {
|
||||
FD_SET(fd, set);
|
||||
if ((fd + 1) > *nfds) *nfds = fd + 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void HttpCameraImpl::StreamThreadMain() {
|
||||
while (m_active) {
|
||||
|
||||
10
src/Image.h
10
src/Image.h
@@ -25,10 +25,18 @@ class Image {
|
||||
friend class Frame;
|
||||
|
||||
public:
|
||||
|
||||
#ifdef _WIN32
|
||||
explicit Image(std::size_t capacity) {
|
||||
m_data.reserve(capacity);
|
||||
}
|
||||
#else
|
||||
explicit Image(std::size_t capacity)
|
||||
: m_data{capacity, default_init_allocator<char>{}} {
|
||||
: m_data{capacity, default_init_allocator<uchar>{}} {
|
||||
m_data.resize(0);
|
||||
}
|
||||
#endif
|
||||
|
||||
Image(const Image&) = delete;
|
||||
Image& operator=(const Image&) = delete;
|
||||
|
||||
|
||||
@@ -132,7 +132,9 @@ class UsbCameraImpl : public SourceImpl {
|
||||
#endif
|
||||
// Number of buffers to ask OS for
|
||||
static constexpr int kNumBuffers = 4;
|
||||
#ifdef __linux__
|
||||
std::array<UsbCameraBuffer, kNumBuffers> m_buffers;
|
||||
#endif
|
||||
|
||||
//
|
||||
// Path never changes, so not protected by mutex.
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
|
||||
namespace cs {
|
||||
|
||||
#ifdef __linux__
|
||||
|
||||
static llvm::StringRef GetUsbNameFromFile(int vendor, int product,
|
||||
llvm::SmallVectorImpl<char>& buf) {
|
||||
int fd = open("/var/lib/usbutils/usb.ids", O_RDONLY);
|
||||
@@ -110,8 +112,6 @@ llvm::StringRef GetUsbNameFromId(int vendor, int product,
|
||||
return os.str();
|
||||
}
|
||||
|
||||
#ifdef __linux__
|
||||
|
||||
int CheckedIoctl(int fd, unsigned long req, void* data, const char* name,
|
||||
const char* file, int line, bool quiet) {
|
||||
int retval = ioctl(fd, req, data);
|
||||
|
||||
@@ -13,10 +13,11 @@
|
||||
|
||||
namespace cs {
|
||||
|
||||
#ifdef __linux__
|
||||
|
||||
llvm::StringRef GetUsbNameFromId(int vendor, int product,
|
||||
llvm::SmallVectorImpl<char>& buf);
|
||||
|
||||
#ifdef __linux__
|
||||
int CheckedIoctl(int fd, unsigned long req, void* data, const char* name,
|
||||
const char* file, int line, bool quiet);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user