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
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
Peter Johnson
5f69cb2a5b
SinkImpl: Refactor GetDescription, add GetError, SetEnabled.
2016-10-26 23:31:48 -07:00
Peter Johnson
a5f63c3ae3
SourceImpl::GetNextFrame(): Avoid spurious wakeups.
2016-10-26 23:31:18 -07:00
Peter Johnson
0053962182
SourceImpl: add PutError().
...
The error message is stored as a normal frame with unknown pixel format.
2016-10-26 23:30:13 -07:00
Peter Johnson
c462d0b249
CvSourceImpl.h: Remove unnecessary include.
2016-10-26 23:26:15 -07:00
Peter Johnson
7ca6c5ef34
Remove RemoveSourceProperty.
2016-10-24 22:29:58 -07:00
Peter Johnson
511d551546
Implement most CvSource functionality.
2016-10-24 20:27:00 -07:00
Peter Johnson
7ea13f7e03
Refactor properties from USBCameraImpl to SourceImpl.
2016-10-23 18:20:56 -07:00
Peter Johnson
9142cbb820
CvSource: Update interface functions.
...
- Add SetDescription
- Supply minimum, maximum, step, defaultValue, and value to CreateProperty
- Add SetEnumPropertyChoices
2016-10-23 08:43:06 -07:00
Peter Johnson
1f6b386325
Implement frame timestamps and use wpi::Now() for generation.
2016-10-22 22:09:47 -07:00
Peter Johnson
218718a063
Add OpenCV dependency and update OpenCV interfaces.
...
This requires the wpilibsuite/opencv packages with PRs 1-3 applied.
2016-10-22 09:57:33 -07:00
Peter Johnson
0a8e0e9746
MJPEGServer: Pass resolution and FPS requests to source.
2016-10-17 20:16:49 -07:00
Peter Johnson
9caa0af4d9
USBCamera, HTTPCamera: Name functions consistent with classes.
2016-10-15 23:07:28 -07:00
Peter Johnson
30f4ecd171
Rename HTTPSink to MJPEGServer.
2016-10-15 22:44:26 -07:00
Peter Johnson
d56c3f9adf
USBCamera: Default to MJPEG and lowest resolution.
2016-10-15 21:27:03 -07:00
Peter Johnson
73a97c1774
USBCamera: Finish implementing mode support.
2016-10-15 17:24:47 -07:00
Peter Johnson
473a87a76b
USBCameraImpl.cpp: Clean up formatting a bit.
2016-10-13 00:32:06 -07:00
Peter Johnson
417545d521
Finish most of USBCameraImpl.
...
The main thing not yet fully implemented is video mode setting.
Also fix a handful of bugs in HTTPSinkImpl.
2016-10-13 00:16:24 -07:00
Peter Johnson
7f88bd15d1
SinkImpl: Keep enabled count rather than just boolean.
...
This allows e.g. multiple HTTP streams to individually call Enable() and
Disable().
2016-10-13 00:13:18 -07:00
Peter Johnson
ee24a6f4fc
Disable support for non-MJPEG formats.
2016-09-29 00:06:31 -07:00
Peter Johnson
70616c48e3
Add support for enumerating and changing USB camera video mode.
2016-09-29 00:04:16 -07:00
Peter Johnson
a5fe605aae
HTTPSink: Add basic property setting support.
2016-09-20 23:27:21 -07:00
Peter Johnson
7818c3bda3
USBCamera: Normalize property names.
2016-09-20 22:28:48 -07:00
Peter Johnson
d5e5755ff4
Collapse boolean/double/enum properties into just integer.
2016-09-20 22:17:12 -07:00
Peter Johnson
8fbc23b1fa
HTTPSinkImpl fixes.
2016-09-20 20:40:58 -07:00
Peter Johnson
d05f0820b2
HTTPSinkImpl: Report property step and default.
2016-09-20 00:01:09 -07:00
Peter Johnson
dad44cc928
Add status parameter to property functions.
2016-09-19 23:50:47 -07:00
Peter Johnson
2c80587d11
Start implementing USBCamera.
2016-09-19 22:11:37 -07:00
Peter Johnson
80eb056432
Fix property handles (and allocate more bits to the property index).
2016-09-19 22:04:45 -07:00
Peter Johnson
6eba04ed8e
Use copy-and-swap idiom for reference-counted classes.
2016-09-18 17:25:48 -07:00
Peter Johnson
c606671d27
Consistently name property max/min functions and add step/default.
2016-09-18 17:25:21 -07:00
Peter Johnson
9bb37d5df0
Remove support for multiple channels.
2016-09-18 17:15:27 -07:00
Peter Johnson
b78592d622
Log.h: Remove unnecessary includes.
2016-09-10 21:54:16 -07:00
Peter Johnson
052f746c68
Use StringRef and ArrayRef return values when buf passed.
...
For functions where a SmallVector is passed to be used as a stack buffer for
the return value, have the return value be the appropriate StringRef or
ArrayRef type. This allows for both more natural usage and enables directly
returning (rather than copying) a permanently stored or constant string.
2016-09-10 21:30:39 -07:00
Peter Johnson
775386d8b3
HTTPSinkImpl: Implement GetDescription.
2016-09-10 12:46:43 -07:00
Peter Johnson
52c8743b36
Finish rename of EnumerateSinks to EnumerateSinkHandles.
...
And similarly for EnumerateSources to EnumerateSourceHandles.
2016-09-09 23:28:57 -07:00
Peter Johnson
ba241cd7f9
Source: Keep track of how many sinks are connected and enabled.
2016-09-08 23:52:23 -07:00
Peter Johnson
ddb97bfafb
Fix SendStream error handling.
2016-09-08 21:00:23 -07:00
Peter Johnson
e415ca66b6
Initial HTTPSink implementation. Untested.
2016-09-08 00:07:20 -07:00
Peter Johnson
85be299da1
Start implementation.
2016-09-08 00:07:20 -07:00
Peter Johnson
e71abedefb
Add logging implementation.
2016-09-08 00:07:20 -07:00
Peter Johnson
ec080118f4
Clean up odd special case of GetSourceProperty().
2016-08-26 09:24:18 -07:00
Peter Johnson
6bcc0e2d82
Correctly prefix CS_EnumerateSourceProperties.
2016-08-26 09:12:55 -07:00