Commit Graph

131 Commits

Author SHA1 Message Date
Peter Johnson
e1f4e3d2d7 Fix mapping into Java enums.
The values are bitmask not contiguous, so we need to use a switch instead
of an array.
2016-11-18 12:41:08 -08:00
Peter Johnson
5ace9e4189 Renumber event kind values. 2016-11-18 12:41:08 -08:00
Peter Johnson
9945459a41 Notify sink enable and disable events. 2016-11-18 12:41:08 -08:00
Peter Johnson
22c11fad36 Notify source property events. 2016-11-18 12:41:08 -08:00
Peter Johnson
c6b527d452 Notify source connect, disconnect, and video mode changes. 2016-11-18 12:41:08 -08:00
Peter Johnson
8e9911d330 Notify on sink source change. 2016-11-18 12:41:08 -08:00
Peter Johnson
b245725941 Notify on source and sink create and destroy. 2016-11-18 12:41:08 -08:00
Peter Johnson
154ae5dcbf Notifier: Take Impl rather than handle in notification functions.
Also take CS_EventKind rather than RawEvent::Kind.

Still provide the handle methods for the basic events (this is particularly
useful for create and destroy events).

This makes these functions easier to use from within the implementation.
2016-11-18 12:41:08 -08:00
Peter Johnson
bae2037086 Handle: Add methods to get Data struct from Impl pointer.
Also make a number of methods in UnlimitedHandleResource inline.
2016-11-18 12:41:08 -08:00
Peter Johnson
c0bc8d7028 Change examples to start at port 8081 rather than 8080.
Port 8080 is too commonly used for other purposes.
2016-11-18 12:41:08 -08:00
Peter Johnson
736b5ff424 Java: throw VideoException on error. 2016-11-18 12:41:08 -08:00
Peter Johnson
29cd2b11be enum_usb example: output the property type. 2016-11-18 12:41:08 -08:00
Peter Johnson
dcf773c3ef Add USBCamera setting functions similar to the old WPILib nivision ones. 2016-11-18 12:41:08 -08:00
Peter Johnson
791cabbc26 Rename Type to Kind. 2016-11-18 12:41:08 -08:00
Peter Johnson
3c7d8063f6 VideoProperty: rename type() to getType(). 2016-11-18 12:41:08 -08:00
Peter Johnson
3381340eb5 Add method to get source/sink type.
Also provide convenience method to enumerate all sinks connected to a source.
2016-11-18 12:41:08 -08:00
Peter Johnson
6446b9ef10 Add sink source changed event. 2016-11-18 12:41:08 -08:00
Peter Johnson
6c19eb59b2 VideoSource, VideoSink: Provide equality operation.
* Provide hashCode implementation for Java.

* Provide getHandle for both C++ and Java.
2016-11-18 12:41:08 -08:00
Peter Johnson
797d049f31 Use java.util.function.Consumer for event listener. 2016-11-18 12:41:08 -08:00
Peter Johnson
0bcafedebf MJPEGServerImpl: Refactor NeedsDHT. 2016-11-18 12:40:31 -08:00
Peter Johnson
7e0e8286eb SourceImpl: Refactor frame allocation into AllocFrame. 2016-11-18 12:40:31 -08:00
Peter Johnson
5ae1162378 Move MJPEG DHT insertion from SourceImpl to MJPEGServerImpl.
OpenCV imdecode supports images with no DHT, so it's not necessary to
add it on the source side.
2016-11-18 12:40:31 -08:00
Peter Johnson
c80c4ae55c MJPEGServer: Use worker thread model.
Also make the worker thread a class for future per-client configuration use.

Depends on wpiutil #153.
2016-11-18 12:40:31 -08:00
Peter Johnson
254b88bdbe Start adding support for non-MJPEG frame types.
Not yet supported by MJPEGServer.
2016-11-18 12:40:31 -08:00
Thad House
41dd9e4f06 Loads OpenCV JNI Library in Java (#15) 2016-11-11 21:55:13 -08:00
Thad House
468cac543f Fixes JNI 2016-11-06 19:28:14 -08:00
Thad House
d4b48216e8 Renames uberzip to athena-uberzip, and doesn't include static library in it 2016-11-06 17:42:34 -08:00
Peter Johnson
f83ff41e47 Rename from cameraserver to cscore.
This is primarily to avoid header naming conflicts with wpilib.
2016-11-05 22:11:55 -07:00
Thad House
891ce06312 Adds opencv headers to uberzip (#11) 2016-11-05 21:37:47 -07:00
Thad House
0658ba6f77 Adds javadocs and sources to published windows builds (#10) 2016-11-05 21:37:24 -07:00
Peter Johnson
29d8d1d74c Implement listener interfaces. 2016-11-05 13:19:02 -07:00
Peter Johnson
8d2efb2838 Improve listener interface.
Now a structure is passed back, enabling combining the existing source
and sink listeners and adding property listeners as well.
2016-11-05 13:19:02 -07:00
Thad House
e07a40a16d Adds an UberZip that preincludes the opencv libraries
Helps eclipse a lot
2016-11-05 12:01:16 -07:00
Thad House
38a3eda6a7 Switches CameraServer on Arm to use non-included native library 2016-11-05 11:37:12 -07:00
Thad House
6d1ab7606b Enables temporary publishing on windows 2016-11-05 11:36:30 -07:00
Peter Johnson
46085824ae Add DHT data to MJPEG source images if not present. 2016-11-02 21:32:13 -07:00
Thad House
7067179b28 Ignores the vscode directory. (#6) 2016-11-01 00:37:10 -07:00
Peter Johnson
4828a69867 Update versioning plugin. 2016-10-31 20:15:42 -07:00
Peter Johnson
3fcc808e99 Use zlib built into OpenCV. 2016-10-31 20:00:14 -07:00
Peter Johnson
15cdd661a4 Simplify OpenCV dependencies.
Depends on https://github.com/wpilibsuite/opencv/pull/6
2016-10-30 23:58:33 -07:00
Thad House
f87baaa4fc Moves dependencies to their own gradle file, and adds capabilities to link to ntcore and wpilib (#4) 2016-10-29 22:36:04 -07:00
Peter Johnson
87c7a9db54 Add USB and OpenCV processed dual stream example. 2016-10-28 00:54:28 -07:00
Peter Johnson
fa2ce40084 Add OpenCV library links to example executables. 2016-10-28 00:53:44 -07:00
Peter Johnson
4eac3fe9a0 Disable x86 platform for now until we get OpenCV working with it. 2016-10-28 00:52:41 -07:00
Peter Johnson
d7efd62511 build.gradle: Fix OpenCV library order.
Also include OpenCV-built liblibjpeg.a and liblibpng.a.
2016-10-28 00:51:28 -07:00
Peter Johnson
e10b399f51 CvSource: Implement NotifyError. 2016-10-28 00:47:18 -07:00
Peter Johnson
39a8195386 CvSourceImpl: Add stub for CreateProperty(callback). 2016-10-28 00:46:43 -07:00
Peter Johnson
43331419f6 MJPEGServer: Output boundary at start of image instead of end.
This avoids hiccups/timeouts causing the next image being seen as a
completely new file rather than a continuation of a multi-part.
2016-10-26 23:58:22 -07:00
Peter Johnson
c66a55d81a Implement CvSink.
* Make CvSink constructor explicit.

* Add SetDescription function.
2016-10-26 23:37:00 -07:00
Peter Johnson
9a44a38141 Fix source and sink refcounting. 2016-10-26 23:34:44 -07:00