update OrbbecSDK version to 2.7.7

This commit is contained in:
ob-yalian
2026-03-16 15:33:56 +08:00
parent e2ae1540b9
commit ae3480c2a2
20 changed files with 174 additions and 13 deletions
@@ -81,6 +81,29 @@ OB_EXPORT void ob_enable_net_device_enumeration(ob_context *context, bool enable
*/
OB_EXPORT bool ob_force_ip_config(const char *macAddress, ob_net_ip_config config, ob_error **error);
/**
* @brief Set the GVCP port scheme used for network device discovery and control.
*
* @param[in] context Pointer to the context object.
* @param[in] scheme Target GVCP port scheme.
* Return error if the specified scheme is invalid or unsupported.
* @param[out] error Pointer to an error object that will be populated if an error occurs.
*
* @note This change affects only the current session and is not persisted.
* @note Switching to a different scheme will force disconnection of all currently connected network devices.
*/
OB_EXPORT void ob_set_gvcp_port_scheme(ob_context *context, ob_gvcp_port_scheme scheme, ob_error **error);
/**
* @brief Get the current GVCP port scheme.
*
* @param[in] context Pointer to the context object
* @param[out] error Pointer to an error object that will be populated if an error occurs.
*
* @return Current GVCP port scheme.
*/
OB_EXPORT ob_gvcp_port_scheme ob_get_gvcp_port_scheme(ob_context *context, ob_error **error);
/**
* @brief Create a network device object
*
@@ -110,7 +133,7 @@ OB_EXPORT ob_device *ob_create_net_device_ex(ob_context *context, const char *ad
/**
* @brief Set a device plug-in callback function
*
*
* @deprecated This function is deprecated. Please use ob_register_device_changed_callback() instead.
*
* @attention The added and removed device lists returned through the callback interface need to be released manually
@@ -701,6 +701,34 @@ OB_EXPORT uint8_t ob_device_list_get_device_local_subnet_length(const ob_device_
*/
OB_EXPORT const char *ob_device_list_get_device_local_gateway(const ob_device_list *list, uint32_t index, ob_error **error);
/**
* @brief Get the name of the host network interface corresponding to the device.
*
* @attention Primarily for network devices. Returns "unknown" for USB or other non-network devices.
*
* @param[in] list Device list object.
* @param[in] index Device index.
* @param[out] error Pointer to an error object that will be set if an error occurs.
*
* @return const char* The host network interface name (e.g., "eth0", "en0"). Returns "unknown" for non-network devices.
*/
OB_EXPORT const char *ob_device_list_get_device_local_net_if_name(const ob_device_list *list, uint32_t index, ob_error **error);
/**
* @brief Get the current GVCP IP configuration status of the device at the specified index.
*
* @attention This function is valid primarily for Ethernet Vision devices.
* For non-Ethernet devices (e.g., USB), it will return OB_IP_SOURCE_NONE.
*
* @param[in] list The device list object.
* @param[in] index The index of the device in the list.
* @param[out] error Pointer to an error object that will be set if an error occurs.
*
* @return The active IP configuration mode (e.g., DHCP, LLA, Persistent IP).
* Returns OB_IP_SOURCE_NONE if the device is not a Ethernet device.
*/
OB_EXPORT ob_ip_source_type ob_device_list_get_device_ip_source_type(const ob_device_list *list, uint32_t index, ob_error **error);
/**
* @brief Create a device.
*
@@ -124,6 +124,15 @@ typedef struct ob_error {
ob_exception_type exception_type; ///< The description is the specific error type of the SDK
} ob_error;
/**
* @brief GVCP port scheme
*/
typedef enum {
OB_GVCP_PORT_SCHEME_STANDARD = 0, /**< Standard GVCP port (3956) */
OB_GVCP_PORT_SCHEME_B = 1, /**< Vendor-defined GVCP port scheme */
} OBGvcpPortScheme,
ob_gvcp_port_scheme;
/**
* @brief Enumeration value describing the sensor type
*/
@@ -1861,6 +1870,14 @@ typedef enum {
} ob_device_access_mode,
OBDeviceAccessMode;
typedef enum {
OB_IP_SOURCE_NONE = 0, ///< No IP configuration active (e.g. USB device).
OB_IP_SOURCE_LLA = 1, ///< LLA (Link-Local Address / Auto IP).
OB_IP_SOURCE_DHCP = 2, ///< DHCP (Dynamic Host Configuration Protocol).
OB_IP_SOURCE_PERSISTENT = 3, ///< Persistent IP (Static IP stored in memory).
} ob_ip_source_type,
OBIpSourceType;
/**
* @brief Callback for file transfer
*