update OrbbecSDK version to 2.8.7

This commit is contained in:
ob-yalian
2026-05-23 15:04:11 +08:00
parent edb0ee91a6
commit fbe49dfca5
24 changed files with 409 additions and 14 deletions
@@ -226,9 +226,10 @@ OB_EXPORT bool ob_device_preset_list_has_preset(const ob_device_preset_list *pre
* @return bool Returns true if the device supports the frame interleave feature.
*/
OB_EXPORT bool ob_device_is_frame_interleave_supported(const ob_device *device, ob_error **error);
/**
*
* @brief load the frame interleave mode according to frame interleavee name.
* @brief load the frame interleave mode according to frame interleave name.
*
* @param[in] device The device object.
* @param[in] frame_interleave_name The name should be one of the frame interleave names returned by @ref ob_device_get_available_frame_interleave_list.
@@ -236,6 +237,19 @@ OB_EXPORT bool ob_device_is_frame_interleave_supported(const ob_device *device,
*/
OB_EXPORT void ob_device_load_frame_interleave(ob_device *device, const char *frame_interleave_name, ob_error **error);
/**
*
* @brief Get current frame interleave name.
*
* @param[in] device The device object.
* @param[out] error Pointer to an error object that will be set if an error occurs.
*
* @return const char* return the current frame interleave name.
* Returns an empty string ("") if no interleave is loaded.
* Returns nullptr if an error occurs.
*/
OB_EXPORT const char *ob_device_get_current_frame_interleave_name(const ob_device *device, ob_error **error);
/**
* @brief Get the available frame interleave list.
*
@@ -281,6 +281,30 @@ OB_EXPORT void ob_log_external_message(ob_log_severity severity, const char *mod
*/
OB_EXPORT void ob_set_extensions_directory(const char *directory, ob_error **error);
/**
* @brief Set the host-side timestamp clock type for the current context.
*
* @attention All ob::Context instances share the same underlying SDK runtime and clock type.
* @attention Switching affects frame system and global timestamps; avoid switching during streaming.
* @attention It is recommended to synchronize device timestamps after switching.
*
* @param[in] context Pointer to the context object
* @param[in] clock_type The clock type to use for host-side timestamps
* @param[out] error Pointer to an error object that will be populated if an error occurs
*/
OB_EXPORT void ob_context_set_timestamp_clock_type(ob_context *context, ob_clock_type clock_type, ob_error **error);
/**
* @brief Get the current host-side timestamp clock type for the context.
*
* @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 ob_clock_type The current clock type
*/
OB_EXPORT ob_clock_type ob_context_get_timestamp_clock_type(const ob_context *context, ob_error **error);
// The following interfaces are deprecated and are retained here for compatibility purposes.
#define ob_enable_multi_device_sync ob_enable_device_clock_sync
#define ob_set_logger_callback ob_set_logger_to_callback
@@ -2030,6 +2030,15 @@ typedef enum {
} ob_ip_source_type,
OBIpSourceType;
/**
* @brief Host-side timestamp clock type for device.
*/
typedef enum {
OB_CLOCK_TYPE_REALTIME = 0, /**< Wall clock (system_clock), epoch-based. Default. */
OB_CLOCK_TYPE_MONOTONIC = 1, /**< System monotonic clock, non-epoch. */
} OBClockType,
ob_clock_type;
/**
* @brief Callback for file transfer
*