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
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
7c2f994a66
Refactor source IsConnected() and connected notification.
2016-12-18 09:05:03 -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
Peter Johnson
1f93a4ab4f
Change acronym class names to use MixedCase (UsbCamera, MjpegServer). ( #22 )
2016-12-04 00:08:47 -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
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
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
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
791cabbc26
Rename Type to Kind.
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
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
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
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
Peter Johnson
46085824ae
Add DHT data to MJPEG source images if not present.
2016-11-02 21:32:13 -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