duvc-ctl 2.0.0
USB Video Class Camera Control Library
Loading...
Searching...
No Matches
duvc::logitech Namespace Reference

Enumerations

enum class  LogitechProperty : uint32_t {
  RightLight = 1 , RightSound = 2 , FaceTracking = 3 , LedIndicator = 4 ,
  ProcessorUsage = 5 , RawDataBits = 6 , FocusAssist = 7 , VideoStandard = 8 ,
  DigitalZoomROI = 9 , TiltPan = 10
}
 Logitech vendor property IDs. More...
 

Functions

Result< std::vector< uint8_t > > get_logitech_property (const Device &device, LogitechProperty prop)
 Get Logitech vendor property as raw byte vector.
 
Result< voidset_logitech_property (const Device &device, LogitechProperty prop, const std::vector< uint8_t > &data)
 Set Logitech vendor property from raw byte vector.
 
Result< boolsupports_logitech_properties (const Device &device)
 Check if device supports Logitech vendor properties.
 
template<typename T >
Result< T > get_logitech_property_typed (const Device &device, LogitechProperty prop)
 Get typed Logitech property value.
 
template<typename T >
Result< voidset_logitech_property_typed (const Device &device, LogitechProperty prop, const T &value)
 Set typed Logitech property value.
 
template Result< uint32_tget_logitech_property_typed< uint32_t > (const Device &, LogitechProperty)
 
template Result< int32_tget_logitech_property_typed< int32_t > (const Device &, LogitechProperty)
 
template Result< boolget_logitech_property_typed< bool > (const Device &, LogitechProperty)
 
template Result< voidset_logitech_property_typed< uint32_t > (const Device &, LogitechProperty, const uint32_t &)
 
template Result< voidset_logitech_property_typed< int32_t > (const Device &, LogitechProperty, const int32_t &)
 
template Result< voidset_logitech_property_typed< bool > (const Device &, LogitechProperty, const bool &)
 

Variables

constexpr GUID LOGITECH_PROPERTY_SET
 Logitech vendor-specific property set GUID.
 

Enumeration Type Documentation

◆ LogitechProperty

Logitech vendor property IDs.

Enumeration of supported Logitech extension unit properties. Values correspond to property IDs within LOGITECH_PROPERTY_SET.

Enumerator
RightLight 

RightLight auto-exposure and brightness optimization.

RightSound 

RightSound audio processing and noise cancellation.

FaceTracking 

Face tracking enable/disable for auto-framing.

LedIndicator 

LED indicator control (on/off/blink modes)

ProcessorUsage 

Processor usage optimization hints.

RawDataBits 

Raw data bit depth configuration.

FocusAssist 

Focus assist beam control.

VideoStandard 

Video standard selection (NTSC/PAL/etc)

DigitalZoomROI 

Digital zoom region of interest coordinates.

TiltPan 

Combined tilt/pan control (absolute positioning)

Definition at line 40 of file logitech.h.

Function Documentation

◆ get_logitech_property()

Result< std::vector< uint8_t > > duvc::logitech::get_logitech_property ( const Device & device,
LogitechProperty prop )

Get Logitech vendor property as raw byte vector.

Parameters
deviceTarget device to query
propLogitech property ID to read
Returns
Result containing property data buffer on success, or error on failure

Definition at line 23 of file logitech.cpp.

References DUVC_LOG_ERROR, LOGITECH_PROPERTY_SET, duvc::PropertyNotSupported, and duvc::SystemError.

Referenced by get_logitech_property_typed().

Here is the caller graph for this function:

◆ get_logitech_property_typed()

template<typename T >
Result< T > duvc::logitech::get_logitech_property_typed ( const Device & device,
LogitechProperty prop )

Get typed Logitech property value.

Template function that reads property data and reinterprets as specified type. Type T must be trivially copyable and match the property's binary layout.

Template Parameters
TProperty value type (must be trivially copyable)
Parameters
deviceTarget device to query
propLogitech property ID to read
Returns
Result containing typed value on success, or error on failure
Note
Caller must ensure T matches the property's actual data format

Definition at line 90 of file logitech.cpp.

References duvc::Result< T >::error(), get_logitech_property(), duvc::InvalidValue, duvc::Result< T >::is_ok(), duvc::Ok(), and duvc::Result< T >::value().

Here is the call graph for this function:

◆ get_logitech_property_typed< bool >()

◆ get_logitech_property_typed< int32_t >()

◆ get_logitech_property_typed< uint32_t >()

◆ set_logitech_property()

Result< void > duvc::logitech::set_logitech_property ( const Device & device,
LogitechProperty prop,
const std::vector< uint8_t > & data )

Set Logitech vendor property from raw byte vector.

Parameters
deviceTarget device to modify
propLogitech property ID to write
dataProperty data buffer (format depends on property type)
Returns
Result indicating success or error

Definition at line 43 of file logitech.cpp.

References DUVC_LOG_ERROR, LOGITECH_PROPERTY_SET, duvc::PropertyNotSupported, and duvc::SystemError.

Referenced by set_logitech_property_typed().

Here is the caller graph for this function:

◆ set_logitech_property_typed()

template<typename T >
Result< void > duvc::logitech::set_logitech_property_typed ( const Device & device,
LogitechProperty prop,
const T & value )

Set typed Logitech property value.

Template function that writes typed value as raw binary property data. Type T must be trivially copyable and match the property's binary layout.

Template Parameters
TProperty value type (must be trivially copyable)
Parameters
deviceTarget device to modify
propLogitech property ID to write
valueProperty value to set (will be reinterpreted as bytes)
Returns
Result indicating success or error
Note
Caller must ensure T matches the property's expected data format

Definition at line 109 of file logitech.cpp.

References set_logitech_property().

Here is the call graph for this function:

◆ set_logitech_property_typed< bool >()

◆ set_logitech_property_typed< int32_t >()

◆ set_logitech_property_typed< uint32_t >()

◆ supports_logitech_properties()

Result< bool > duvc::logitech::supports_logitech_properties ( const Device & device)

Check if device supports Logitech vendor properties.

Parameters
deviceDevice to check for Logitech extension unit support
Returns
Result containing true if supported, false otherwise, or error on query failure

Definition at line 62 of file logitech.cpp.

References DUVC_LOG_DEBUG, duvc::Result< T >::is_ok(), KSPROPERTY_SUPPORT_GET, KSPROPERTY_SUPPORT_SET, LOGITECH_PROPERTY_SET, duvc::Ok(), RightLight, and duvc::Result< T >::value().

Here is the call graph for this function:

Variable Documentation

◆ LOGITECH_PROPERTY_SET

constexpr GUID duvc::logitech::LOGITECH_PROPERTY_SET
inlineconstexpr
Initial value:
= {
0x82066163,
0x7BD0,
0x43EF,
{0x8A, 0x6F, 0x5B, 0x89, 0x05, 0xC9, 0xA6, 0x4C}}

Logitech vendor-specific property set GUID.

Identifies Logitech's UVC extension unit for all vendor properties. Defined as inline constexpr for C++17 compatibility without ODR violations.

GUID: {82066163-7BD0-43EF-8A6F-5B8905C9A64C}

Definition at line 28 of file logitech.h.

Referenced by get_logitech_property(), set_logitech_property(), and supports_logitech_properties().