15class DeviceConnection;
35 explicit Camera(
int device_index);
49 explicit Camera(
const std::wstring &device_path);
119 mutable std::unique_ptr<DeviceConnection> connection_;
149Result<Camera>
open_camera(
const std::wstring &device_path);
RAII camera handle for simplified device management.
~Camera()
Destructor - automatically releases device connection.
Camera(Camera &&) noexcept
Camera(const Device &device)
Create camera handle for device.
Result< PropRange > get_range(CamProp prop)
Get camera property range.
Camera(const Camera &)=delete
bool is_valid() const
Check if camera is valid and connected.
Result< void > set(CamProp prop, const PropSetting &setting)
Set camera property value.
Camera & operator=(const Camera &)=delete
const Device & device() const
Get the underlying device information.
Result< PropSetting > get(CamProp prop)
Get camera property value.
RAII wrapper for DirectShow device connections.
Result type that can contain either a value or an error.
VidProp
Video processing properties (IAMVideoProcAmp interface)
CamProp
Camera control properties (IAMCameraControl interface)
Result< Camera > open_camera(int device_index)
Create camera from device index.
Result/Error type system for duvc-ctl.
Represents a camera device.
Property setting with value and control mode.
Core data types and enumerations for duvc-ctl.