6#define DUVCC_API __declspec(dllexport)
27 return static_cast<int>(
g_devices.size());
35 if (index < 0 || index >=
static_cast<int>(
g_devices.size()))
return nullptr;
44 if (index < 0 || index >=
static_cast<int>(
g_devices.size()))
return nullptr;
53 if (index < 0 || index >=
static_cast<int>(
g_devices.size()))
return 0;
66 if (index < 0 || index >=
static_cast<int>(
g_devices.size()))
return 0;
69 if (outMin) *outMin = r.
min;
70 if (outMax) *outMax = r.max;
71 if (outStep) *outStep = r.step;
72 if (outDef) *outDef = r.default_val;
82 if (index < 0 || index >=
static_cast<int>(
g_devices.size()))
return 0;
85 if (outValue) *outValue = s.
value;
95 if (index < 0 || index >=
static_cast<int>(
g_devices.size()))
return 0;
106 if (index < 0 || index >=
static_cast<int>(
g_devices.size()))
return 0;
109 if (outMin) *outMin = r.
min;
110 if (outMax) *outMax = r.max;
111 if (outStep) *outStep = r.step;
112 if (outDef) *outDef = r.default_val;
122 if (index < 0 || index >=
static_cast<int>(
g_devices.size()))
return 0;
125 if (outValue) *outValue = s.
value;
135 if (index < 0 || index >=
static_cast<int>(
g_devices.size()))
return 0;
int duvc_vid_set(int index, int vidProp, int value, int modeAuto)
int duvc_cam_get(int index, int camProp, int *outValue, int *outModeAuto)
int duvc_vid_get(int index, int vidProp, int *outValue, int *outModeAuto)
void duvc_refresh_devices()
const wchar_t * duvc_get_device_name(int index)
int duvc_cam_set(int index, int camProp, int value, int modeAuto)
int duvc_cam_get_range(int index, int camProp, int *outMin, int *outMax, int *outStep, int *outDef, int *outModeAuto)
int duvc_get_device_count()
const wchar_t * duvc_get_device_path(int index)
static std::mutex g_devices_mutex
static std::vector< duvc::Device > g_devices
int duvc_is_device_connected(int index)
int duvc_vid_get_range(int index, int vidProp, int *outMin, int *outMax, int *outStep, int *outDef, int *outModeAuto)
bool get(const Device &, CamProp, PropSetting &)
Get a camera control property value.
bool set(const Device &, CamProp, const PropSetting &)
Set a camera control property value.
bool get_range(const Device &, CamProp, PropRange &)
Get the valid range for a camera control property.
VidProp
Video processing properties (IAMVideoProcAmp interface)
void clear_connection_cache()
std::vector< Device > list_devices()
Enumerate all available video input devices.
@ Auto
Automatic control by camera.
@ Manual
Manual control by application.
CamProp
Camera control properties (IAMCameraControl interface)
bool is_device_connected(const Device &dev)
Check if a device is currently connected and accessible.
Property range and default information.
int min
Minimum supported value.
Property setting with value and control mode.