Commit Graph

179 Commits

Author SHA1 Message Date
Peter Johnson
205d3b1d04 Some cameras don't provide the JFIF header, so don't require it.
This fixes DHT not being inserted on some images.
2016-12-23 22:21:11 -08:00
Peter Johnson
1575fff07a MjpegServer: Limit the number of simultaneous clients to 10.
This prevents client issues from swamping the network.
2016-12-23 22:01:35 -08:00
Peter Johnson
3d28275675 UsbCamera: Simplify the message passing implementation. 2016-12-23 10:58:11 -08:00
Peter Johnson
6f41b3cde7 UsbCamera: Implement LifeCam HD-3000 exposure quirk.
On Linux, the V4L exposure setting is logarithmic and only accepts
certain exact values.
2016-12-22 23:44:40 -08:00
Peter Johnson
9ffc09a11b Fix settings example if there's no "--" in arg list. 2016-12-22 22:50:07 -08:00
Peter Johnson
ced2608afd Move ExtCtrlIoctl to UsbCameraProperty::DeviceQuery. 2016-12-22 22:44:46 -08:00
Peter Johnson
adbca532c0 Break up UsbCameraImpl::DeviceProcessCommands(). 2016-12-22 22:36:07 -08:00
Peter Johnson
5e38d8f28a Refactor UsbCameraProperty. 2016-12-22 22:11:54 -08:00
Peter Johnson
d6ef2c04a5 Start refactoring source property implementations. 2016-12-22 21:19:50 -08:00
Peter Johnson
ce69783871 UsbCamera: Scale some properties to make them constently percentages.
The "raw" version of these properties are still available, just prefixed
with "raw_".
2016-12-22 20:51:04 -08:00
Peter Johnson
10b13da3da Refactor USB vendor/product to product string to UsbUtil.h.
Also implement reading of /var/lib/usbutils/usb.ids for systems that
have it (e.g. desktop Linux).
2016-12-21 10:56:40 -08:00
Peter Johnson
88afefe464 Avoid crash in SourceImpl constructor.
The Frame constructor calls back into SourceImpl (the passed this reference),
and when in-place constructed in the SourceImpl constructor, SourceImpl
is only partially constructed.
2016-12-21 10:56:40 -08:00
Peter Johnson
80abf6bf24 Support per-stream resolution settings.
The code now automatically resizes as required.

This change also disconnects camera resolution settings from MJPEG
stream connections; setting the camera resolution can now only be done
via code.
2016-12-20 20:48:31 -08:00
Peter Johnson
8501b7c9e2 CvSourceImpl::CreateProperty(): Use lock_guard instead of unique_lock. 2016-12-18 09:13:52 -08:00
Peter Johnson
0ce0855a6f Java: check for null and use new jni_util features. 2016-12-18 09:13:51 -08:00
Peter Johnson
e1dabbc2d5 cscore_cpp.cpp: Fix include order. 2016-12-18 09:13:01 -08:00
Peter Johnson
c08a489e27 Improve error message for VIDIOC_STREAMON "no space left on device". 2016-12-18 09:13:01 -08:00
Peter Johnson
28a2ba4bf8 Add external logger interface. 2016-12-18 09:13:01 -08:00
Peter Johnson
2b8b8e7403 Improve logging consistency by using source/sink name throughout. 2016-12-18 09:12:59 -08:00
Peter Johnson
bdaf60b2d6 Replace tabs with spaces in gradle files. 2016-12-18 09:05:03 -08:00
Peter Johnson
7c2f994a66 Refactor source IsConnected() and connected notification. 2016-12-18 09:05:03 -08:00
Peter Johnson
81fd0eefac usbcvstream example: Print error from GrabFrame. 2016-12-04 21:45:37 -08:00
Peter Johnson
b5fd15e052 CvSink::GrabFrame(): Add delays like MjpegServer to avoid consuming CPU. 2016-12-04 21:45:37 -08:00
Peter Johnson
ecfc684174 MjpegServer: Increase bad frame wait from 10 to 20 ms. 2016-12-04 21:45:37 -08:00
Peter Johnson
4600ea135c Frame: Make Data struct public. 2016-12-04 21:45:37 -08:00
Peter Johnson
3b82ba8945 Refactor JPEG functions to JpegUtil. 2016-12-04 21:45:37 -08:00
Peter Johnson
c32fc57ce1 Refactor HTTP utilities. 2016-12-04 21:45:37 -08:00
Peter Johnson
9a8f66e3e5 SourceImpl: Add no-copy PutFrame. 2016-12-04 21:45:37 -08:00
Peter Johnson
ef39713219 Revert "Don't output \r\n before boundary. This throws off some clients."
This reverts commit ae8c8ec230.
2016-12-04 21:45:37 -08:00
Thad House
da68fea081 Fixes shared wpiutil switch on athena (#24) 2016-12-04 21:44:06 -08:00
Peter Johnson
1f93a4ab4f Change acronym class names to use MixedCase (UsbCamera, MjpegServer). (#22) 2016-12-04 00:08:47 -08:00
Thad House
7a587390ba Fixes OpenCV on windows when we get to it. (#23) 2016-12-04 00:08:26 -08:00
Thad House
3625f11e08 Adds C methods that take a cv::Mat* (#21)
Some implementations of OpenCV use cv::Mat as their native pointer
rather then CvMat, so we need to support both in the C interface
2016-11-30 22:00:44 -08:00
Thad House
1332ba3ad2 Adds JNI symbol check to ensure we don't miss any definitions (#19) 2016-11-27 23:17:26 -08:00
Thad House
a19b1b9341 Adds data accessor functions to JNI (#18) 2016-11-19 19:02:20 -08:00
Peter Johnson
ae8c8ec230 Don't output \r\n before boundary. This throws off some clients. 2016-11-18 19:52:22 -08:00
Peter Johnson
ec8c0eb3c2 Fix FPS setting and crash in reapplying settings. 2016-11-18 19:23:35 -08:00
Peter Johnson
3d898dd8f7 MJPEGServer: Fix URI %xx-decoding. 2016-11-18 19:03:35 -08:00
Peter Johnson
df18e178ee MJPEGServer: Provide a bare-bones HTML root page. 2016-11-18 18:58:03 -08:00
Peter Johnson
71a6e08988 MJPEGServer: Make a couple of tweaks for Axis camera compatibility. 2016-11-18 18:33:49 -08:00
Peter Johnson
a05636d9a6 Add data accessors for USBCamera and MJPEGServer.
USBCamera: getPath()

MJPEGServer: getListenAddress() and getPort()
2016-11-18 17:21:03 -08:00
Peter Johnson
5eecbfd9bf Implement immediate notify on network interfaces event. 2016-11-18 16:27:26 -08:00
Peter Johnson
65514b3028 USBCamera: Update description on reconnect. 2016-11-18 16:16:04 -08:00
Peter Johnson
881d55f858 VideoListener: Add move assignment operator. 2016-11-18 15:10:37 -08:00
Peter Johnson
cc20d9d0fe Add no-parameter constructors for specific sources/sinks. 2016-11-18 14:33:47 -08:00
Peter Johnson
35aa544415 VideoEvent: Make sourceHandle and sinkHandle public. 2016-11-18 13:20:50 -08:00
Peter Johnson
bad4ca4666 Add event for network interfaces change. 2016-11-18 12:41:08 -08:00
Peter Johnson
5fecc57e8a Add methods to get the hostname and network interfaces. 2016-11-18 12:41:08 -08:00
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