WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
cscore_c.h
Go to the documentation of this file.
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5#pragma once
6
7#include <stddef.h> // NOLINT
8#include <stdint.h>
9
11#include "wpi/util/string.h"
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17/**
18 * @defgroup cscore_c_api cscore C API
19 *
20 * Handle-based interface for C.
21 *
22 * <p>Sources and sinks are reference counted internally to the library.
23 * Any time a source or sink handle is returned or provided to a callback,
24 * the reference count is incremented.
25 *
26 * <p>Calling CS_ReleaseSource() or CS_ReleaseSink() decrements the reference
27 * count, and when the reference count reaches zero, the object is destroyed.
28 *
29 * <p>Connecting a source to a sink increments the reference count of the
30 * source, and when the sink is destroyed (its reference count reaches zero),
31 * the source reference count is decremented.
32 *
33 * @{
34 */
35
36/**
37 * @defgroup cscore_typedefs Typedefs
38 * @{
39 */
40typedef int CS_Bool;
41typedef int CS_Status;
42
43typedef int CS_Handle;
49/** @} */
50
51/**
52 * Status values
53 */
68
69/**
70 * Logging levels
71 */
83
84/**
85 * Video mode
86 */
87typedef struct CS_VideoMode {
89 int width;
90 int height;
91 int fps;
93
94/**
95 * Property kinds
96 */
104
105/**
106 * Source kinds
107 */
115
116/**
117 * HTTP Camera kinds
118 */
124
125/**
126 * Sink kinds
127 */
134
135/**
136 * Listener event kinds
137 */
160
161/**
162 * Telemetry kinds
163 */
168
169/** Connection strategy */
171 /**
172 * Automatically connect or disconnect based on whether any sinks are
173 * connected to this source. This is the default behavior.
174 */
176
177 /**
178 * Try to keep the connection open regardless of whether any sinks are
179 * connected.
180 */
182
183 /**
184 * Never open the connection. If this is set when the connection is open,
185 * close the connection.
186 */
188};
189
190/**
191 * Listener event
192 */
193struct CS_Event {
195
196 // Valid for CS_SOURCE_* and CS_SINK_* respectively
199
200 // Source/sink/property name
202
203 // Fields for CS_SOURCE_VIDEOMODE_CHANGED event
205
206 // Fields for CS_SOURCE_PROPERTY_* events
209 int value;
211
212 // Listener that was triggered
214};
215
216/**
217 * USB camera information
218 */
228
229/**
230 * @defgroup cscore_property_cfunc Property Functions
231 * @{
232 */
234 CS_Status* status);
236 CS_Status* status);
237int CS_GetProperty(CS_Property property, CS_Status* status);
238void CS_SetProperty(CS_Property property, int value, CS_Status* status);
243void CS_GetStringProperty(CS_Property property, struct WPI_String* value,
244 CS_Status* status);
245void CS_SetStringProperty(CS_Property property, const struct WPI_String* value,
246 CS_Status* status);
248 CS_Status* status);
249/** @} */
250
251/**
252 * @defgroup cscore_source_create_cfunc Source Creation Functions
253 * @{
254 */
256 CS_Status* status);
258 const struct WPI_String* path,
259 CS_Status* status);
261 const struct WPI_String* url,
262 enum CS_HttpCameraKind kind, CS_Status* status);
264 const struct WPI_String* urls, int count,
265 enum CS_HttpCameraKind kind,
266 CS_Status* status);
268 const CS_VideoMode* mode, CS_Status* status);
269/** @} */
270
271/**
272 * @defgroup cscore_source_cfunc Source Functions
273 * @{
274 */
277 CS_Status* status);
279 CS_Status* status);
282 enum CS_ConnectionStrategy strategy,
283 CS_Status* status);
287 const struct WPI_String* name,
288 CS_Status* status);
290 CS_Status* status);
292 CS_Status* status);
294 CS_Status* status);
296 enum WPI_PixelFormat pixelFormat,
297 int width, int height, int fps,
298 CS_Status* status);
300 enum WPI_PixelFormat pixelFormat,
301 CS_Status* status);
303 CS_Status* status);
306 const struct WPI_String* config,
307 CS_Status* status);
309 CS_Status* status);
311 CS_Status* status);
313 CS_Status* status);
316/** @} */
317
318/**
319 * @defgroup cscore_source_prop_cfunc Camera Source Common Property Functions
320 * @{
321 */
323 CS_Status* status);
328 CS_Status* status);
332/** @} */
333
334/**
335 * @defgroup cscore_usbcamera_cfunc UsbCamera Source Functions
336 * @{
337 */
339 CS_Status* status);
341 CS_Status* status);
343 CS_Status* status);
344/** @} */
345
346/**
347 * @defgroup cscore_httpcamera_cfunc HttpCamera Source Functions
348 * @{
349 */
351 CS_Status* status);
353 int count, CS_Status* status);
355 CS_Status* status);
356/** @} */
357
358/**
359 * @defgroup cscore_frame_source_cfunc Frame Source Functions
360 * @{
361 */
363 CS_Status* status);
365 CS_Status* status);
367 const struct WPI_String* description,
368 CS_Status* status);
370 const struct WPI_String* name,
371 enum CS_PropertyKind kind, int minimum,
372 int maximum, int step, int defaultValue,
373 int value, CS_Status* status);
375 const struct WPI_String* choices,
376 int count, CS_Status* status);
377/** @} */
378
379/**
380 * @defgroup cscore_sink_create_cfunc Sink Creation Functions
381 * @{
382 */
384 const struct WPI_String* listenAddress, int port,
385 CS_Status* status);
387 enum WPI_PixelFormat pixelFormat, CS_Status* status);
389 enum WPI_PixelFormat pixelFormat, void* data,
390 void (*processFrame)(void* data, uint64_t time),
391 CS_Status* status);
392/** @} */
393
394/**
395 * @defgroup cscore_sink_cfunc Sink Functions
396 * @{
397 */
399void CS_GetSinkName(CS_Sink sink, struct WPI_String* name, CS_Status* status);
400void CS_GetSinkDescription(CS_Sink sink, struct WPI_String* description,
401 CS_Status* status);
403 CS_Status* status);
405 CS_Status* status);
408 const struct WPI_String* name,
409 CS_Status* status);
411 CS_Status* status);
412void CS_GetSinkConfigJson(CS_Sink sink, struct WPI_String* config,
413 CS_Status* status);
416void CS_ReleaseSink(CS_Sink sink, CS_Status* status);
417/** @} */
418
419/**
420 * @defgroup cscore_mjpegserver_cfunc MjpegServer Sink Functions
421 * @{
422 */
424 struct WPI_String* listenAddress,
425 CS_Status* status);
427/** @} */
428
429/**
430 * @defgroup cscore_frame_sink_cfunc Frame Sink Functions
431 * @{
432 */
433void CS_SetSinkDescription(CS_Sink sink, const struct WPI_String* description,
434 CS_Status* status);
435void CS_GetSinkError(CS_Sink sink, struct WPI_String* error, CS_Status* status);
436void CS_SetSinkEnabled(CS_Sink sink, CS_Bool enabled, CS_Status* status);
437/** @} */
438
439/**
440 * @defgroup cscore_listener_cfunc Listener Functions
441 * @{
442 */
443void CS_SetListenerOnStart(void (*onStart)(void* data), void* data);
444void CS_SetListenerOnExit(void (*onExit)(void* data), void* data);
446 void* data, void (*callback)(void* data, const struct CS_Event* event),
447 int eventMask, CS_Bool immediateNotify, CS_Status* status);
448
450
454 CS_Bool immediateNotify, CS_Status* status);
455struct CS_Event* CS_PollListener(CS_ListenerPoller poller, int* count);
457 double timeout, CS_Bool* timedOut);
458void CS_FreeEvents(struct CS_Event* arr, int count);
460/** @} */
461
463
464/**
465 * @defgroup cscore_telemetry_cfunc Telemetry Functions
466 * @{
467 */
468void CS_SetTelemetryPeriod(double seconds);
471 CS_Status* status);
473 CS_Status* status);
474/** @} */
475
476/**
477 * @defgroup cscore_logging_cfunc Logging Functions
478 * @{
479 */
480typedef void (*CS_LogFunc)(void* data, unsigned int level,
481 const struct WPI_String* file, unsigned int line,
482 const struct WPI_String* msg);
483void CS_SetLogger(CS_LogFunc func, void* data, unsigned int min_level);
484void CS_SetDefaultLogger(unsigned int min_level);
485/** @} */
486
487/**
488 * @defgroup cscore_shutdown_cfunc Library Shutdown Function
489 * @{
490 */
491void CS_Shutdown(void);
492/** @} */
493
494/**
495 * @defgroup cscore_utility_cfunc Utility Functions
496 * @{
497 */
498
501
503void CS_ReleaseEnumeratedSources(CS_Source* sources, int count);
504
505CS_Sink* CS_EnumerateSinks(int* count, CS_Status* status);
506void CS_ReleaseEnumeratedSinks(CS_Sink* sinks, int count);
507
509
510void CS_FreeEnumeratedProperties(CS_Property* properties, int count);
512
513void CS_GetHostname(struct WPI_String* hostName);
514
516/** @} */
517
518/** @} */
519
520#ifdef __cplusplus
521} // extern "C"
522#endif
WPI_PixelFormat
Pixel formats.
Definition PixelFormat.h:10
then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file
Definition ThirdPartyNotices.txt:204
and restrictions which apply to each piece of software is included later in this file and or inside of the individual applicable source files The disclaimer of warranty in the WPILib license above applies to all code in and nothing in any of the other licenses gives permission to use the names of FIRST nor the names of the WPILib contributors to endorse or promote products derived from this software The following pieces of software have additional or alternate and or glfw and nanopb were modified for use in Google Inc All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Google Inc nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT OR EVEN IF ADVISED OF THE POSSIBILITY OF SUCH January AND DISTRIBUTION Definitions License shall mean the terms and conditions for and distribution as defined by Sections through of this document Licensor shall mean the copyright owner or entity authorized by the copyright owner that is granting the License Legal Entity shall mean the union of the acting entity and all other entities that control are controlled by or are under common control with that entity For the purposes of this definition control direct or to cause the direction or management of such whether by contract or including but not limited to software source documentation source
Definition ThirdPartyNotices.txt:123
@ name
Definition base.h:690
CS_EventKind
Listener event kinds.
Definition cscore_c.h:138
CS_LogLevel
Logging levels.
Definition cscore_c.h:72
CS_ConnectionStrategy
Connection strategy.
Definition cscore_c.h:170
CS_HttpCameraKind
HTTP Camera kinds.
Definition cscore_c.h:119
CS_PropertyKind
Property kinds.
Definition cscore_c.h:97
int CS_NotifierDestroyed(void)
CS_TelemetryKind
Telemetry kinds.
Definition cscore_c.h:164
CS_SinkKind
Sink kinds.
Definition cscore_c.h:128
CS_SourceKind
Source kinds.
Definition cscore_c.h:108
CS_StatusValue
Status values.
Definition cscore_c.h:54
@ CS_SOURCE_PROPERTY_CREATED
Definition cscore_c.h:145
@ CS_SOURCE_VIDEOMODES_UPDATED
Definition cscore_c.h:143
@ CS_SINK_PROPERTY_VALUE_UPDATED
Definition cscore_c.h:156
@ CS_SOURCE_CONNECTED
Definition cscore_c.h:141
@ CS_TELEMETRY_UPDATED
Definition cscore_c.h:154
@ CS_SINK_ENABLED
Definition cscore_c.h:151
@ CS_USB_CAMERAS_CHANGED
Definition cscore_c.h:158
@ CS_SOURCE_CREATED
Definition cscore_c.h:139
@ CS_SINK_DESTROYED
Definition cscore_c.h:150
@ CS_SINK_PROPERTY_CREATED
Definition cscore_c.h:155
@ CS_SINK_PROPERTY_CHOICES_UPDATED
Definition cscore_c.h:157
@ CS_NETWORK_INTERFACES_CHANGED
Definition cscore_c.h:153
@ CS_SOURCE_VIDEOMODE_CHANGED
Definition cscore_c.h:144
@ CS_SINK_SOURCE_CHANGED
Definition cscore_c.h:148
@ CS_SOURCE_PROPERTY_VALUE_UPDATED
Definition cscore_c.h:146
@ CS_SOURCE_DISCONNECTED
Definition cscore_c.h:142
@ CS_SOURCE_DESTROYED
Definition cscore_c.h:140
@ CS_SINK_CREATED
Definition cscore_c.h:149
@ CS_SOURCE_PROPERTY_CHOICES_UPDATED
Definition cscore_c.h:147
@ CS_SINK_DISABLED
Definition cscore_c.h:152
@ CS_LOG_WARNING
Definition cscore_c.h:75
@ CS_LOG_DEBUG
Definition cscore_c.h:77
@ CS_LOG_DEBUG1
Definition cscore_c.h:78
@ CS_LOG_CRITICAL
Definition cscore_c.h:73
@ CS_LOG_INFO
Definition cscore_c.h:76
@ CS_LOG_DEBUG2
Definition cscore_c.h:79
@ CS_LOG_DEBUG4
Definition cscore_c.h:81
@ CS_LOG_ERROR
Definition cscore_c.h:74
@ CS_LOG_DEBUG3
Definition cscore_c.h:80
@ CS_CONNECTION_AUTO_MANAGE
Automatically connect or disconnect based on whether any sinks are connected to this source.
Definition cscore_c.h:175
@ CS_CONNECTION_KEEP_OPEN
Try to keep the connection open regardless of whether any sinks are connected.
Definition cscore_c.h:181
@ CS_CONNECTION_FORCE_CLOSE
Never open the connection.
Definition cscore_c.h:187
@ CS_HTTP_MJPGSTREAMER
Definition cscore_c.h:121
@ CS_HTTP_CSCORE
Definition cscore_c.h:122
@ CS_HTTP_UNKNOWN
Definition cscore_c.h:120
@ CS_PROP_ENUM
Definition cscore_c.h:102
@ CS_PROP_NONE
Definition cscore_c.h:98
@ CS_PROP_INTEGER
Definition cscore_c.h:100
@ CS_PROP_BOOLEAN
Definition cscore_c.h:99
@ CS_PROP_STRING
Definition cscore_c.h:101
@ CS_SOURCE_FRAMES_RECEIVED
Definition cscore_c.h:166
@ CS_SOURCE_BYTES_RECEIVED
Definition cscore_c.h:165
@ CS_SINK_MJPEG
Definition cscore_c.h:130
@ CS_SINK_RAW
Definition cscore_c.h:132
@ CS_SINK_CV
Definition cscore_c.h:131
@ CS_SINK_UNKNOWN
Definition cscore_c.h:129
@ CS_SOURCE_USB
Definition cscore_c.h:110
@ CS_SOURCE_HTTP
Definition cscore_c.h:111
@ CS_SOURCE_UNKNOWN
Definition cscore_c.h:109
@ CS_SOURCE_RAW
Definition cscore_c.h:113
@ CS_SOURCE_CV
Definition cscore_c.h:112
@ CS_WRONG_HANDLE_SUBTYPE
Definition cscore_c.h:58
@ CS_BAD_URL
Definition cscore_c.h:64
@ CS_PROPERTY_WRITE_FAILED
Definition cscore_c.h:55
@ CS_WRONG_PROPERTY_TYPE
Definition cscore_c.h:60
@ CS_UNSUPPORTED_MODE
Definition cscore_c.h:66
@ CS_INVALID_HANDLE
Definition cscore_c.h:57
@ CS_EMPTY_VALUE
Definition cscore_c.h:63
@ CS_OK
Definition cscore_c.h:56
@ CS_INVALID_PROPERTY
Definition cscore_c.h:59
@ CS_READ_FAILED
Definition cscore_c.h:61
@ CS_TELEMETRY_NOT_ENABLED
Definition cscore_c.h:65
@ CS_SOURCE_IS_DISCONNECTED
Definition cscore_c.h:62
void CS_SetSinkEnabled(CS_Sink sink, CS_Bool enabled, CS_Status *status)
void CS_SetSinkDescription(CS_Sink sink, const struct WPI_String *description, CS_Status *status)
void CS_GetSinkError(CS_Sink sink, struct WPI_String *error, CS_Status *status)
CS_Property CS_CreateSourceProperty(CS_Source source, const struct WPI_String *name, enum CS_PropertyKind kind, int minimum, int maximum, int step, int defaultValue, int value, CS_Status *status)
void CS_SetSourceEnumPropertyChoices(CS_Source source, CS_Property property, const struct WPI_String *choices, int count, CS_Status *status)
void CS_SetSourceConnected(CS_Source source, CS_Bool connected, CS_Status *status)
void CS_SetSourceDescription(CS_Source source, const struct WPI_String *description, CS_Status *status)
void CS_NotifySourceError(CS_Source source, const struct WPI_String *msg, CS_Status *status)
void CS_SetHttpCameraUrls(CS_Source source, const struct WPI_String *urls, int count, CS_Status *status)
struct WPI_String * CS_GetHttpCameraUrls(CS_Source source, int *count, CS_Status *status)
enum CS_HttpCameraKind CS_GetHttpCameraKind(CS_Source source, CS_Status *status)
CS_Listener CS_AddPolledListener(CS_ListenerPoller poller, int eventMask, CS_Bool immediateNotify, CS_Status *status)
CS_ListenerPoller CS_CreateListenerPoller(void)
void CS_SetListenerOnExit(void(*onExit)(void *data), void *data)
void CS_DestroyListenerPoller(CS_ListenerPoller poller)
void CS_SetListenerOnStart(void(*onStart)(void *data), void *data)
void CS_RemoveListener(CS_Listener handle, CS_Status *status)
void CS_CancelPollListener(CS_ListenerPoller poller)
struct CS_Event * CS_PollListenerTimeout(CS_ListenerPoller poller, int *count, double timeout, CS_Bool *timedOut)
CS_Listener CS_AddListener(void *data, void(*callback)(void *data, const struct CS_Event *event), int eventMask, CS_Bool immediateNotify, CS_Status *status)
struct CS_Event * CS_PollListener(CS_ListenerPoller poller, int *count)
void CS_FreeEvents(struct CS_Event *arr, int count)
void(* CS_LogFunc)(void *data, unsigned int level, const struct WPI_String *file, unsigned int line, const struct WPI_String *msg)
Definition cscore_c.h:480
void CS_SetDefaultLogger(unsigned int min_level)
void CS_SetLogger(CS_LogFunc func, void *data, unsigned int min_level)
void CS_GetMjpegServerListenAddress(CS_Sink sink, struct WPI_String *listenAddress, CS_Status *status)
int CS_GetMjpegServerPort(CS_Sink sink, CS_Status *status)
struct WPI_String * CS_GetEnumPropertyChoices(CS_Property property, int *count, CS_Status *status)
int CS_GetPropertyStep(CS_Property property, CS_Status *status)
void CS_GetPropertyName(CS_Property property, struct WPI_String *name, CS_Status *status)
int CS_GetPropertyMin(CS_Property property, CS_Status *status)
void CS_GetStringProperty(CS_Property property, struct WPI_String *value, CS_Status *status)
enum CS_PropertyKind CS_GetPropertyKind(CS_Property property, CS_Status *status)
int CS_GetProperty(CS_Property property, CS_Status *status)
void CS_SetProperty(CS_Property property, int value, CS_Status *status)
void CS_SetStringProperty(CS_Property property, const struct WPI_String *value, CS_Status *status)
int CS_GetPropertyDefault(CS_Property property, CS_Status *status)
int CS_GetPropertyMax(CS_Property property, CS_Status *status)
void CS_Shutdown(void)
CS_Source CS_GetSinkSource(CS_Sink sink, CS_Status *status)
CS_Bool CS_SetSinkConfigJson(CS_Sink sink, const struct WPI_String *config, CS_Status *status)
void CS_ReleaseSink(CS_Sink sink, CS_Status *status)
CS_Property CS_GetSinkSourceProperty(CS_Sink sink, const struct WPI_String *name, CS_Status *status)
void CS_GetSinkName(CS_Sink sink, struct WPI_String *name, CS_Status *status)
CS_Sink CS_CopySink(CS_Sink sink, CS_Status *status)
CS_Property CS_GetSinkProperty(CS_Sink sink, const struct WPI_String *name, CS_Status *status)
void CS_SetSinkSource(CS_Sink sink, CS_Source source, CS_Status *status)
void CS_GetSinkDescription(CS_Sink sink, struct WPI_String *description, CS_Status *status)
enum CS_SinkKind CS_GetSinkKind(CS_Sink sink, CS_Status *status)
CS_Property * CS_EnumerateSinkProperties(CS_Sink sink, int *count, CS_Status *status)
void CS_GetSinkConfigJson(CS_Sink sink, struct WPI_String *config, CS_Status *status)
CS_Sink CS_CreateMjpegServer(const struct WPI_String *name, const struct WPI_String *listenAddress, int port, CS_Status *status)
CS_Sink CS_CreateCvSinkCallback(const struct WPI_String *name, enum WPI_PixelFormat pixelFormat, void *data, void(*processFrame)(void *data, uint64_t time), CS_Status *status)
CS_Sink CS_CreateCvSink(const struct WPI_String *name, enum WPI_PixelFormat pixelFormat, CS_Status *status)
CS_Bool CS_SetSourcePixelFormat(CS_Source source, enum WPI_PixelFormat pixelFormat, CS_Status *status)
CS_Bool CS_IsSourceEnabled(CS_Source source, CS_Status *status)
void CS_SetSourceConnectionStrategy(CS_Source source, enum CS_ConnectionStrategy strategy, CS_Status *status)
CS_Bool CS_SetSourceResolution(CS_Source source, int width, int height, CS_Status *status)
void CS_GetSourceDescription(CS_Source source, struct WPI_String *description, CS_Status *status)
void CS_ReleaseSource(CS_Source source, CS_Status *status)
CS_Bool CS_SetSourceVideoModeDiscrete(CS_Source source, enum WPI_PixelFormat pixelFormat, int width, int height, int fps, CS_Status *status)
CS_Bool CS_IsSourceConnected(CS_Source source, CS_Status *status)
CS_Sink * CS_EnumerateSourceSinks(CS_Source source, int *count, CS_Status *status)
CS_Bool CS_SetSourceConfigJson(CS_Source source, const struct WPI_String *config, CS_Status *status)
CS_Source CS_CopySource(CS_Source source, CS_Status *status)
CS_Bool CS_SetSourceVideoMode(CS_Source source, const CS_VideoMode *mode, CS_Status *status)
void CS_GetSourceConfigJson(CS_Source source, struct WPI_String *config, CS_Status *status)
uint64_t CS_GetSourceLastFrameTime(CS_Source source, CS_Status *status)
CS_VideoMode * CS_EnumerateSourceVideoModes(CS_Source source, int *count, CS_Status *status)
void CS_GetSourceVideoMode(CS_Source source, CS_VideoMode *mode, CS_Status *status)
CS_Property CS_GetSourceProperty(CS_Source source, const struct WPI_String *name, CS_Status *status)
CS_Property * CS_EnumerateSourceProperties(CS_Source source, int *count, CS_Status *status)
void CS_GetSourceName(CS_Source source, struct WPI_String *name, CS_Status *status)
CS_Bool CS_SetSourceFPS(CS_Source source, int fps, CS_Status *status)
enum CS_SourceKind CS_GetSourceKind(CS_Source source, CS_Status *status)
CS_Source CS_CreateHttpCameraMulti(const struct WPI_String *name, const struct WPI_String *urls, int count, enum CS_HttpCameraKind kind, CS_Status *status)
CS_Source CS_CreateCvSource(const struct WPI_String *name, const CS_VideoMode *mode, CS_Status *status)
CS_Source CS_CreateHttpCamera(const struct WPI_String *name, const struct WPI_String *url, enum CS_HttpCameraKind kind, CS_Status *status)
CS_Source CS_CreateUsbCameraDev(const struct WPI_String *name, int dev, CS_Status *status)
CS_Source CS_CreateUsbCameraPath(const struct WPI_String *name, const struct WPI_String *path, CS_Status *status)
void CS_SetCameraWhiteBalanceHoldCurrent(CS_Source source, CS_Status *status)
void CS_SetCameraExposureHoldCurrent(CS_Source source, CS_Status *status)
void CS_SetCameraExposureManual(CS_Source source, int value, CS_Status *status)
void CS_SetCameraWhiteBalanceManual(CS_Source source, int value, CS_Status *status)
void CS_SetCameraExposureAuto(CS_Source source, CS_Status *status)
void CS_SetCameraWhiteBalanceAuto(CS_Source source, CS_Status *status)
void CS_SetCameraBrightness(CS_Source source, int brightness, CS_Status *status)
int CS_GetCameraBrightness(CS_Source source, CS_Status *status)
double CS_GetTelemetryElapsedTime(void)
double CS_GetTelemetryAverageValue(CS_Handle handle, enum CS_TelemetryKind kind, CS_Status *status)
int64_t CS_GetTelemetryValue(CS_Handle handle, enum CS_TelemetryKind kind, CS_Status *status)
void CS_SetTelemetryPeriod(double seconds)
CS_Handle CS_Source
Definition cscore_c.h:48
int CS_Status
Definition cscore_c.h:41
CS_Handle CS_ListenerPoller
Definition cscore_c.h:46
CS_Handle CS_Property
Definition cscore_c.h:44
CS_Handle CS_Sink
Definition cscore_c.h:47
int CS_Handle
Definition cscore_c.h:43
int CS_Bool
Definition cscore_c.h:40
CS_Handle CS_Listener
Definition cscore_c.h:45
void CS_SetUsbCameraPath(CS_Source source, const struct WPI_String *path, CS_Status *status)
void CS_GetUsbCameraInfo(CS_Source source, CS_UsbCameraInfo *info, CS_Status *status)
void CS_GetUsbCameraPath(CS_Source source, struct WPI_String *path, CS_Status *status)
void CS_ReleaseEnumeratedSources(CS_Source *sources, int count)
CS_UsbCameraInfo * CS_EnumerateUsbCameras(int *count, CS_Status *status)
CS_Sink * CS_EnumerateSinks(int *count, CS_Status *status)
void CS_FreeUsbCameraInfo(CS_UsbCameraInfo *info)
void CS_FreeEnumeratedVideoModes(CS_VideoMode *modes, int count)
void CS_ReleaseEnumeratedSinks(CS_Sink *sinks, int count)
struct WPI_String * CS_GetNetworkInterfaces(int *count)
void CS_GetHostname(struct WPI_String *hostName)
CS_Source * CS_EnumerateSources(int *count, CS_Status *status)
void CS_FreeEnumeratedUsbCameras(CS_UsbCameraInfo *cameras, int count)
void CS_FreeEnumeratedProperties(CS_Property *properties, int count)
Listener event.
Definition cscore_c.h:193
struct WPI_String valueStr
Definition cscore_c.h:210
CS_Property property
Definition cscore_c.h:207
CS_VideoMode mode
Definition cscore_c.h:204
struct WPI_String name
Definition cscore_c.h:201
enum CS_PropertyKind propertyKind
Definition cscore_c.h:208
int value
Definition cscore_c.h:209
CS_Listener listener
Definition cscore_c.h:213
enum CS_EventKind kind
Definition cscore_c.h:194
CS_Source source
Definition cscore_c.h:197
CS_Sink sink
Definition cscore_c.h:198
USB camera information.
Definition cscore_c.h:219
int vendorId
Definition cscore_c.h:225
struct WPI_String path
Definition cscore_c.h:221
int otherPathsCount
Definition cscore_c.h:223
int dev
Definition cscore_c.h:220
struct WPI_String name
Definition cscore_c.h:222
struct WPI_String * otherPaths
Definition cscore_c.h:224
int productId
Definition cscore_c.h:226
Video mode.
Definition cscore_c.h:87
int width
Definition cscore_c.h:89
int pixelFormat
Definition cscore_c.h:88
int fps
Definition cscore_c.h:91
int height
Definition cscore_c.h:90
A const UTF8 string.
Definition string.h:12