Implement new dsl_tap_record_max_size_get/set and dsl_sink_record_max_size_get/set services
rjhowell44 opened this issue · 0 comments
rjhowell44 commented
The client application need to be able to control the maximum size of the smart recording. Note: the actual property name for the smart record bin is defaultDuration
which is misleading.
New default settings:
/**
* @brief Default maximum size for any Tap/Sink smart record in seconds.
* start + duration < max-size
*/
#define DSL_DEFAULT_VIDEO_RECORD_MAX_SIZE_IN_SEC 600
/**
* @brief Default cache size for any Tap/Sink smart record in seconds.
* start < cache-size
*/
#define DSL_DEFAULT_VIDEO_RECORD_CACHE_SIZE_IN_SEC 60
The relationship between properties
max-size > start + duration
cache-size > start
New Record Tap services
/**
* @brief Returns the video recording max size in units of seconds.
* The default max size is set to DSL_DEFAULT_VIDEO_RECORD_MAX_SIZE_IN_SEC.
* @param[in] name name of the Record Tap to query.
* @param[out] max_size current max size setting in units of seconds.
* @return DSL_RESULT_SUCCESS on success, one of DSL_RESULT_TAP_RESULT on failure.
*/
DslReturnType dsl_tap_record_max_size_get(const wchar_t* name, uint* max_size);
/**
* @brief Sets the video recording max size in units of seconds.
* The default cache size is set to DSL_DEFAULT_VIDEO_RECORD_CACHE_SIZE_IN_SEC
* @param[in] name name of the Record Tap to update.
* @param[in] max_size new cache size setting to use in units of seconds.
* @return DSL_RESULT_SUCCESS on success, one of DSL_RESULT_TAP_RESULT on failure.
*/
DslReturnType dsl_tap_record_max_size_set(const wchar_t* name, uint max_size);
New Record Sink services
/**
* @brief returns the video recording max size in units of seconds
* The max size is fixed when the Pipeline is linked and played.
* The default max size is set to DSL_DEFAULT_VIDEO_RECORD_MAX_SIZE_IN_SEC
* @param[in] name name of the Record Sink to query
* @param[out] max_size current max size setting in units of seconds.
* @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SINK_RESULT
*/
DslReturnType dsl_sink_record_max_size_get(const wchar_t* name, uint* max_size);
/**
* @brief sets the video recording max size in units of seconds.
* The default max size is set to DSL_DEFAULT_VIDEO_RECORD_MAX_SIZE_IN_SEC
* @param[in] name name of the Record Sink to query
* @param[in] max_size new max size setting in units of seconds.
* @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SINK_RESULT
*/
DslReturnType dsl_sink_record_max_size_set(const wchar_t* name, uint max_size);