Releases: prominenceai/deepstream-services-library
v0.27.a.alpha
v0.27.alpha
v0.26.a.alpha
v0.26.alpha
v0.25.alpha
v0.25.alpha adds a new Preprocessor component, Infer API updates, and several important bug fixes
Highlights
- New Preprocessor Component providing a custom library interface for preprocessing on input streams. See #785
- New PGIE APIs to enable input-tensor-meta from the new Preprocessor component See #803
- Updated ODE File Action to support the MOT Challenge format. See #799
- New Makefile to build each of the CPP examples into separate executable.
Issues (enhancements) closed in this release
- Implement new Preprocessor component - API and Services #785
- Refactor and update Infer API and InferBintr to support new Preprocessor Component #803
- Create Makefile and README for building and executing the CPP examples #787
- Implement new service for text-based display types - dsl_display_type_rgba_text_shadow_add #797
- Refactor ODE File Action and add format option for MOT Challenge Format. #799
- Implement new services to add/remove a TilerBintr to/from the output of a Pipelines's Stream-Muxer #811
Issues (bugs) closed in this release
- undefined function cv::Mat::Mat() , Error while building #805
- Fix gap in object traces - between previous and current - for ODE Cross Trigger #796
- [critical] ODE Heat-mapper crashes if object's x, or y coordinate is equal to window width or height #809
New Symbolic Constants
New ODE File Action Format for the MOT Challenge format see #799
DSL_EVENT_FILE_FORMAT_MOTC
New Return Codes in this release
The following return codes are used by the new Preprocessor API
DSL_RESULT_PREPROC_RESULT
DSL_RESULT_PREPROC_NAME_NOT_UNIQUE
DSL_RESULT_PREPROC_NAME_NOT_FOUND
DSL_RESULT_PREPROC_CONFIG_FILE_NOT_FOUND
DSL_RESULT_PREPROC_THREW_EXCEPTION
DSL_RESULT_PREPROC_IN_USE
DSL_RESULT_PREPROC_SET_FAILED
DSL_RESULT_PREPROC_IS_NOT_PREPROC
New services in this release
New Preprocessor API:
dsl_preproc_new
dsl_preproc_config_file_get
dsl_preproc_config_file_set
dsl_preproc_enabled_get
dsl_preproc_enabled_set
dsl_preproc_unique_id_get
New Infer services:
dsl_infer_batch_size_get
dsl_infer_batch_size_set
dsl_infer_gie_tensor_meta_settings_get
dsl_infer_gie_tensor_meta_settings_set
New Pipeline-Stream-Muxer services:
dsl_pipeline_streammux_tiler_add
dsl_pipeline_streammux_tiler_remove
New Display-Type service
dsl_display_type_rgba_text_shadow_add
New Examples in this release
v0.24.alpha
v0.24.alpha Introduces new Images Sources, an ODE Cross Trigger, an ODE Accumulator, an ODE Heat-Mapper, and a new ODE Monitor Action.
Highlights
- There are now three (3) Images Sources, Single-Image, Multi-Image, and Image-Stream (Note: the Image-Stream can only be used with an Image Player at this time). See #737.
- The release includes six (6) new RGBA Color Types, most of which are dynamic and can be updated based on certain events or under client control. #745.
- There is a new ODE Cross Trigger for triggering on the occurrence that a Tracked Object crosses the Trigger's Line, Multi-Line, or Polygon Area. See #741.
- A new ODE Accumulator that can be added to any ODE Trigger to accumulate ODE Occurrences over all frames has been developed to replace the single purpose ODE Accumulation Trigger which worked on new object instances only. See #748.
- An ODE Occurrence Heat-Mapper has been added to accumulate, map, and display ODE occurrences based on location within the source frame over time. #761.
- A new ODE Monitor Action, that calls on a client provided callback function with a structure of complete ODE occurrence data can now added to any of the ODE Triggers. See #764
Issues (enhancements) closed in this release
- Implement new ODE Monitor Action to monitor ODE Occurrences with a client callback function. #764
- Implement new ODE Heat-Mapper API - New object to overlay a heat-map of ODE Occurrences #761
- Implement new RGBA Multi-Line Display Type #740
- Implement new ODE Mulit-Line Area created with the new RGBA Multi-Line Display Type. #742
- Add services to the ODE PPH to get/set the number of Display Meta structs to allocate per-frame #743
- Implement new ODE Cross Trigger to trigger on objects crossing an ODE Area #741
- Implement new RGBA Color Display Types - Static and Dynamic #745
- Implement new ODE Accumulator API - New object to accumulate ODE Metrics over consecutive frames #748
- Eliminate/remove the ODE Accumulation Trigger to be replaced by new ODE Accumulator #749
- Extend ODE Trigger components to support new ODE Accumulator implementation #750
- Add Tracker Confidence data to all ODE Actions that output Object Metadata #752
- Implement new ODE Trigger services to get/set minimum tracker confidence as criteria for ODE Occurrence #754
- Rename current Image-Source component to Image-Stream-Source #736
- Create new "Image Source" and "Multi Image Source" components #737
Issues (bugs) closed in this release
- Refactor/fix SinkBintr "sync" attribute get/set services. #775
- Refactor/optimize Player and Pipeline play, stop, and next logic #782
- resolve errors in rtsp_player_to_test_connections.py - remove deprecated param - fix copy/paste error #756
Breaking changes in this release
The previous single RGBA color constructor has been renamed from dsl_display_type_rgba_color_new
to dsl_display_type_rgba_color_custom_new
The following Image-Source services have been renamed to the Image-Stream-Source services listed under new services.
dsl_source_image_new
dsl_source_image_path_get
dsl_source_image_path_set
dsl_source_image_timeout_get
dsl_source_image_timeout_set
The following Sink sync setting services have been replaced with the sync-enabled services listed under new services below. See #775
dsl_sink_sync_settings_get
dsl_sink_sync_settings_set
New RGBA Color Constants
New symbolic constants have been defined to support construction of the new RGBA Color Display Types, see #745
DSL_COLOR_PREDEFINED_<color-name>
- 20 predefined RGB colors.DSL_COLOR_HUE_<color-name>
- 19 Hue constraints used for random color generation.DSL_COLOR_LUMINOSITY_<luminosity-name>
- 5 luminosity constraints used for random color generation.DSL_COLOR_PREDEFINED_PALETTE_<palette-name>
5 predefined RGB color palettes.
New Client Typedefs
The following typedefs have been added for the new ODE Monitor Action, see #764
dsl_ode_occurrence_source_info
dsl_ode_occurrence_object_info
dsl_ode_occurrence_accumulative_info
dsl_ode_occurrence_criteria_info
dsl_ode_occurrence_info
dsl_ode_monitor_occurrence_cb
New callback function for the new RGBA On-Demand Color, see #745
dsl_display_type_rgba_color_provider_cb
New Return Codes in this release
The following return codes have been created for the new ODE Trigger Services in the release.
DSL_RESULT_ODE_TRIGGER_ACCUMULATOR_ADD_FAILED
DSL_RESULT_ODE_TRIGGER_ACCUMULATOR_REMOVE_FAILED
DSL_RESULT_ODE_TRIGGER_HEAT_MAPPER_ADD_FAILED
DSL_RESULT_ODE_TRIGGER_HEAT_MAPPER_REMOVE_FAILED
The following return codes have been created for the new ODE Accumulator API
DSL_RESULT_ODE_ACCUMULATOR_RESULT
DSL_RESULT_ODE_ACCUMULATOR_NAME_NOT_UNIQUE
DSL_RESULT_ODE_ACCUMULATOR_NAME_NOT_FOUND
DSL_RESULT_ODE_ACCUMULATOR_THREW_EXCEPTION
DSL_RESULT_ODE_ACCUMULATOR_IN_USE
DSL_RESULT_ODE_ACCUMULATOR_SET_FAILED
DSL_RESULT_ODE_ACCUMULATOR_IS_NOT_ODE_ACCUMULATOR
DSL_RESULT_ODE_ACCUMULATOR_ACTION_ADD_FAILED
DSL_RESULT_ODE_ACCUMULATOR_ACTION_REMOVE_FAILED
DSL_RESULT_ODE_ACCUMULATOR_ACTION_NOT_IN_USE
The following return codes have been created for the new ODE Heat-Mapper API
DSL_RESULT_ODE_HEAT_MAPPER_RESULT
DSL_RESULT_ODE_HEAT_MAPPER_NAME_NOT_UNIQUE
DSL_RESULT_ODE_HEAT_MAPPER_NAME_NOT_FOUND
DSL_RESULT_ODE_HEAT_MAPPER_THREW_EXCEPTION
DSL_RESULT_ODE_HEAT_MAPPER_IN_USE
DSL_RESULT_ODE_HEAT_MAPPER_SET_FAILED
DSL_RESULT_ODE_HEAT_MAPPER_IS_NOT_ODE_HEAT_MAPPER
New services in this release
New Source Types and Services:
dsl_source_image_new
dsl_source_image_multi_new
dsl_source_image_stream_new
dsl_source_image_stream_path_get
dsl_source_image_stream_path_set
dsl_source_image_stream_timeout_get
dsl_source_image_stream_timeout_set
New RGBA Display Types and Services:
dsl_display_type_rgba_color_custom_new
dsl_display_type_rgba_color_predefined_new
dsl_display_type_rgba_color_random_new
dsl_display_type_rgba_color_on_demand_new
dsl_display_type_rgba_color_palette_new
dsl_display_type_rgba_color_palette_predefined_new
dsl_display_type_rgba_color_palette_random_new
dsl_display_type_rgba_color_palette_index_get
dsl_display_type_rgba_color_palette_index_set
dsl_display_type_rgba_color_next_set
dsl_display_type_rgba_line_multi_new
New Display Metadata Allocation Services:
dsl_pph_ode_display_meta_alloc_size_get
dsl_pph_ode_display_meta_alloc_size_set
New ODE Area and Action types:
dsl_ode_area_line_multi_new
dsl_ode_action_monitor_new
New ODE Trigger Types and Services:
dsl_ode_trigger_cross_new
dsl_ode_trigger_cross_test_settings_get
dsl_ode_trigger_cross_test_settings_set
dsl_ode_trigger_cross_view_settings_get
dsl_ode_trigger_cross_view_settings_set
dsl_ode_trigger_accumulator_add
dsl_ode_trigger_accumulator_remove
dsl_ode_trigger_heat_mapper_add
dsl_ode_trigger_heat_mapper_remove
dsl_ode_trigger_tracker_confidence_min_get
dsl_ode_trigger_tracker_confidence_min_set
New ODE Accumulator API:
dsl_ode_accumulator_new
dsl_ode_accumulator_action_add
dsl_ode_accumulator_action_add_many
dsl_ode_accumulator_action_remove
dsl_ode_accumulator_action_remove_many
dsl_ode_accumulator_action_remove_all
dsl_ode_accumulator_delete
dsl_ode_accumulator_delete_many
dsl_ode_accumulator_delete_all
dsl_ode_accumulator_list_size
New ODE Heat-Mapper API
dsl_ode_heat_mapper_new
dsl_ode_heat_mapper_color_palette_get
dsl_ode_heat_mapper_color_palette_set
dsl_ode_heat_mapper_legend_settings_get
dsl_ode_heat_mapper_legend_settings_set
dsl_ode_heat_mapper_metrics_clear
dsl_ode_heat_mapper_metrics_get
dsl_ode_heat_mapper_metrics_print
dsl_ode_heat_mapper_metrics_log
dsl_ode_heat_mapper_metrics_file
dsl_ode_heat_mapper_delete
dsl_ode_heat_mapper_delete_many
dsl_ode_heat_mapper_delete_all
dsl_ode_heat_mapper_list_size
Refactored Sink sync-enabled services
dsl_sink_sync_enabled_get
dsl_sink_sync_enabled_set
New examples in this release
v0.23.alpha
v0.23.alpha provides new services and support for IoT Messaging and Module Deployment:
Release highlights:
- New ODE Action to add ODE occurrence data as NvDsEventMsgMeta to the NvDsFrameMeta on ODE occurrence (see #700)
- New IoT Message Sink to convert the NvDsEventMsgMeta to an IoT message payload and to send the message to a remote entity using a specific message protocol.
- New "Message Broker API" that supports both unidirectional (device --> client) and bidirectional (device <--> client) messaging (see #703).
- New GitHub repository with Dockerfile and utility scripts to support IoT module deployment (see #709).
- Updates to the make and install process to better facilitate application development and deployment (see #710, #720, #712, #710).
- New "Info Services API" to help monitor and debug deployed Docker images (see 723).
Important the IoT messaging support is very preliminary - released so others can contribute on more testing and setup documentation for the various Messaging Protocol Adapter Libraries. More complex examples such as messaging captured images and custom payloads need to be developed.
Note: the binary attached to this release is built for Jetson on DeepStream 6.0.1
Issues (enhancements) closed in this release
- Implement new Message Sink Component to convert and broker device to server ODE event messages #696
- Implement Message ODE Action to add NvDsEventMsgMeta to the NvDsFrameMeta on ODE occurrence #700
- Implement a new Message Broker API for bidirectional device <--> server messaging. #703
- Investigate and write instructions for setting up the Azure IoT Edge runtime and module deployment #729
- Create new repo with Docker setup, build, and run scripts. - required for Message Broker API #709
- Standardize all Elementr names to improve the logging content. #699
- Remove build dependency on /deepstream/sources/apps/apps-common/includes #710
- Develop new script to generate primary and secondary caffemodel engine files #712
- Update the "Installing DSL Dependencies" and "Building and Importing DSL" documentation. #715
- Deprecate "make lib" for new "sudo make install" option to make and install libdsl.so + dsl.py #720
- Update MakeFile to build the DSL library in compliance with the Shared Library standard. #617
- Implement new DSL Info API with debug logging services. #723
- Rename
dsl_stdout_*
services todsl_info_stdout_
- i.e. move to Info API #724 - Rename
dsl_gpu_type_get
todsl_info_gpu_type_get
- i.e. move to new Info API #725 - Rename
dsl_version_get
todsl_info_version_get
- i.e. move to new Info API #726
Breaking changes in this release
- The Makefile option
make lib
has been replaced withsudo make install
. - The
dsl_stdout_*
services have been renamed todsl_info_stdout_
(see #724). - The
dsl_gpu_type_get
service has been renamed todsl_info_gpu_type_get
(see #725). - The
dsl_version_get
service has been renamed todsl_info_version_get
(see #726)
New Return Codes in this release
DSL_RESULT_BROKER_RESULT
DSL_RESULT_BROKER_NAME_NOT_UNIQUE
DSL_RESULT_BROKER_NAME_NOT_FOUND
DSL_RESULT_BROKER_THREW_EXCEPTION
DSL_RESULT_BROKER_IN_USE
DSL_RESULT_BROKER_SET_FAILED
DSL_RESULT_BROKER_PARAMETER_INVALID
DSL_RESULT_BROKER_SUBSCRIBER_ADD_FAILED
DSL_RESULT_BROKER_SUBSCRIBER_REMOVE_FAILED
DSL_RESULT_BROKER_LISTENER_ADD_FAILED
DSL_RESULT_BROKER_LISTENER_REMOVE_FAILED
DSL_RESULT_BROKER_CONFIG_FILE_NOT_FOUND
DSL_RESULT_BROKER_PROTOCOL_LIB_NOT_FOUND
DSL_RESULT_BROKER_CONNECT_FAILED
DSL_RESULT_BROKER_DISCONNECT_FAILED
DSL_RESULT_BROKER_MESSAGE_SEND_FAILED
New callback typedef in this release
dsl_message_broker_subscriber_cb
dsl_message_broker_connection_listener_cb
dsl_message_broker_send_result_listener_cb
New services in this release
dsl_sink_message_new
dsl_sink_message_converter_settings_get
dsl_sink_message_converter_settings_set
dsl_sink_message_broker_settings_get
dsl_sink_message_broker_settings_set
dsl_ode_action_message_meta_add_new
dsl_message_broker_new
dsl_message_broker_settings_get
dsl_message_broker_settings_set
dsl_message_broker_connect
dsl_message_broker_disconnect
dsl_message_broker_is_connected
dsl_message_broker_message_send_async
dsl_message_broker_subscriber_add
dsl_message_broker_subscriber_remove
dsl_message_broker_connection_listener_add
dsl_message_broker_connection_listener_remove
dsl_message_broker_delete
dsl_message_broker_delete_all
dsl_message_broker_list_size
dsl_info_version_get
dsl_info_gpu_type_get
dsl_info_stdout_get
dsl_info_stdout_redirect
dsl_info_stdout_redirect_with_ts
dsl_info_stdout_restore
dsl_info_log_level_get
dsl_info_log_level_set
dsl_info_log_file_get
dsl_info_log_file_set
dsl_info_log_file_set_with_ts
dsl_info_log_function_restore
New examples in this release
v0.22b.alpha
v0.22b.alpha is a patch release to support the DS 6.0 Tracker lib deprecations.
There are no new DSL services in this release. Note: the libdsl.so binary attached to this release page is built for DS 5.1
Issues closed in this release
- Make NVIDIA tracker lib inclusion compatible for both DeepStream 5.1 and 6.0 #695
v0.22a.alpha
v0.22a.alpha is a patch release that resolves for 4 high-priority bugs.
There are no new services in this release.
Issues (bugs) closed in this release
- dsl_pipeline_stop blocks indefinitely if called in the application's context. #673 - was reopened
- Incorrect location of mutex-lock causing intermittent XWindow I/O error on Pipeline shutdown. #690
- Logic used to globally map source-names to source-ids is invalid for multiple pipelines. #691
- dsl_pipeline_main_loop_run and dsl_pipeline_main_loop_quit need to synchronize on exit #692
v0.22.alpha
v0.21.alpha fixes a critical dsl_pipeline_stop issue, with new pipeline main-loop services, OSD updates, and new Client Listener functions.
Issues (bugs) closed in this release
- dsl_pipeline_stop blocks indefinitely if called in the application's context. #673
- batch-size is incorrectly set to source count when client explicitly sets to less than source count #682
Issues (enhancements) closed in this release
- New services to create Pipelines with their own g_main_context and g_main_loop #625
- Implement new dsl_ode_trigger_infer_get/set services to filter on Inference Component Name #670
- Implement new dsl_ode_trigger_enabled_state_change_listener_add/remove services #672
- Implement new dsl_osd_mask_enabled_get/set services for display-mask OSD property #676
- Implement new dsl_osd_bbox_enabled_get/set services for display-bbox OSD property #678
- Move all default OSD property values to DslApi.h #679
- Update dsl_osd_new constructor to include bbox and mask enabled flags #680
- Implement new dsl_ode_trigger_limit_event_listener_add/remove services #686
- Implement new dsl_ode_action_enabled_state_change_listener_add/remove services #687
Updated services & breaking changes in this release
dsl_osd_new
- newbbox_enabled
andmask_enabled
parameters, see #680
New symbolic constants in this release
DSL_ODE_TRIGGER_LIMIT_EVENT_LIMIT_REACHED
DSL_ODE_TRIGGER_LIMIT_EVENT_LIMIT_CHANGED
DSL_ODE_TRIGGER_LIMIT_EVENT_COUNT_RESET
New callback typedefs
dsl_ode_enabled_state_change_listener_cb
dsl_ode_trigger_limit_event_listener_cb
New services in this release
dsl_pipeline_main_loop_new
dsl_pipeline_main_loop_run
dsl_pipeline_main_loop_quit
dsl_pipeline_main_loop_delete
dsl_osd_bbox_enabled_get
dsl_osd_bbox_enabled_set
dsl_osd_mask_enabled_get
dsl_osd_mask_enabled_set
dsl_ode_trigger_infer_get
dsl_ode_trigger_infer_set
dsl_ode_trigger_limit_event_listener_add
dsl_ode_trigger_limit_event_listener_remove
dsl_ode_trigger_enabled_state_change_listener_add
dsl_ode_trigger_enabled_state_change_listener_remove
dsl_ode_action_enabled_state_change_listener_add
dsl_ode_action_enabled_state_change_listener_remove
New/update examples in this release
- multiple_pipelines.cpp - refactor
- multiple_pipelines.py