Skip to content

Commit

Permalink
Merge pull request #1222 from prominenceai/v0.30.alpha
Browse files Browse the repository at this point in the history
v0.30.alpha Release
  • Loading branch information
rjhowell44 authored May 29, 2024
2 parents 9e5b49c + d77faf5 commit 6943b3a
Show file tree
Hide file tree
Showing 115 changed files with 9,292 additions and 1,084 deletions.
3 changes: 2 additions & 1 deletion .codelite/deepstream-services-library.project
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,8 @@
<File Name="../examples/cpp/encode_and_save_frame_to_jpeg_from_custom_pph.cpp" ExcludeProjConfig="Debug;"/>
</VirtualDirectory>
<VirtualDirectory Name="python">
<File Name="../examples/python/1file_ptis_iou_tracker_2stis_osd_window.py"/>
<File Name="../examples/python/pipeline_with_custom_gst_bin_and_elements.py"/>
<File Name="../examples/python/parallel_inference_on_selective_streams.py"/>
<File Name="../examples/python/1v4l2_pgie_iou_tracker_osd_window.py"/>
<File Name="../examples/python/2uri_file_pgie_iou_tracker_2sgie_tiler_osd_custom_pph_window.py"/>
Expand Down Expand Up @@ -320,7 +322,6 @@
<File Name="../examples/python/interpipe_multiple_pipelines_listening_to_single_sink.py"/>
<File Name="../examples/python/1csi_live_pgie_osd_window.py"/>
<File Name="../examples/python/1file_ptis_dcf_tracker_osd_window.py"/>
<File Name="../examples/python/1file_ptis_iou_tracker_3stis_osd_window.py"/>
<File Name="../examples/python/1file_ptis_iou_tracker_osd_window.py"/>
<File Name="../examples/python/1file_preproc_pgie_iou_tracker_osd_window.py"/>
<File Name="../examples/python/1uri_file_pgie_iou_tracker_osd_custom_pph_window.py"/>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 25 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# The MIT License
#
# Copyright (c) 2019-2023, Prominence AI, Inc.
# Copyright (c) 2019-2024, Prominence AI, Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
Expand Down Expand Up @@ -39,12 +39,11 @@ else
endif

CXX_VERSION:=c++17
DSL_VERSION:='L"v0.29.alpha"'
DSL_VERSION:='L"v0.30.alpha"'
GLIB_VERSION:=2.0

# Update GStreamer sub-version to 20 to enabled the WebRtcSink
GSTREAMER_VERSION:=1.0
GSTREAMER_SUB_VERSION:=18
GSTREAMER_SUB_VERSION:=20
GSTREAMER_SDP_VERSION:=1.0
GSTREAMER_WEBRTC_VERSION:=1.0
LIBSOUP_VERSION:=2.4
Expand All @@ -60,6 +59,14 @@ BUILD_WITH_OPENCV:=false
# - set BUILD_INTER_PIPE:=true
BUILD_INTER_PIPE:=false

# To enable the WebRTC Sink component (requires GStreamer >= 1.20)
# - set BUILD_WEBRTC:=true
BUILD_WEBRTC:=false

# To enable the LiveKit WebRTC Sink component (requires GStreamer >= 1.22)
# - set BUILD_LIVEKIT_WEBRTC:=true
BUILD_LIVEKIT_WEBRTC:=false

# To enable the Non Maximum Processor (NMP) Pad Probe Handler (PPH)
# - set BUILD_NMP_PPH:=true and NUM_CPP_PATH:=<path-to-numcpp-include-folder>
BUILD_NMP_PPH:=false
Expand Down Expand Up @@ -92,6 +99,10 @@ ifeq ($(BUILD_INTER_PIPE),true)
SRCS+= $(wildcard ./test/interpipe/*.cpp)
endif

ifeq ($(BUILD_LIVEKIT_WEBRTC),true)
SRCS+= $(wildcard ./test/livekitwebrtc/*.cpp)
endif

ifeq ($(BUILD_NMP_PPH),true)
SRCS+= $(wildcard ./src/nmp/*.cpp)
SRCS+= $(wildcard ./test/nmp/*.cpp)
Expand All @@ -111,7 +122,7 @@ INCS+= $(wildcard ./test/*.hpp)
TEST_OBJS+= $(wildcard ./test/api/*.o)
TEST_OBJS+= $(wildcard ./test/unit/*.o)

ifeq ($(shell test $(GSTREAMER_SUB_VERSION) -gt 18; echo $$?),0)
ifeq ($(BUILD_WEBRTC),true)
SRCS+= $(wildcard ./src/webrtc/*.cpp)
SRCS+= $(wildcard ./test/webrtc/*.cpp)
INCS+= $(wildcard ./src/webrtc/*.h)
Expand Down Expand Up @@ -145,8 +156,9 @@ CFLAGS+= -I$(INC_INSTALL_DIR) \
-DDSL_LOGGER_IMP='"DslLogGst.h"'\
-DBUILD_WITH_FFMPEG=$(BUILD_WITH_FFMPEG) \
-DBUILD_WITH_OPENCV=$(BUILD_WITH_OPENCV) \
-DGSTREAMER_SUB_VERSION=$(GSTREAMER_SUB_VERSION) \
-DBUILD_INTER_PIPE=$(BUILD_INTER_PIPE) \
-DBUILD_WEBRTC=$(BUILD_WEBRTC) \
-DBUILD_LIVEKIT_WEBRTC=$(BUILD_LIVEKIT_WEBRTC) \
-DBUILD_NMP_PPH=$(BUILD_NMP_PPH) \
-DBUILD_MESSAGE_SINK=$(BUILD_MESSAGE_SINK) \
-DNVDS_MOT_LIB='"$(LIB_INSTALL_DIR)/libnvds_nvmultiobjecttracker.so"' \
Expand All @@ -168,7 +180,11 @@ CFLAGS+= -I /usr/include/opencv4 \
-I./test/avfile
endif

ifeq ($(shell test $(GSTREAMER_SUB_VERSION) -gt 18; echo $$?),0)
ifeq ($(BUILD_LIVEKIT_WEBRTC),true)
CFLAGS+= -I./test/livekitwebrtc
endif

ifeq ($(BUILD_WEBRTC),true)
CFLAGS+= -I/usr/include/libsoup-$(LIBSOUP_VERSION) \
-I/usr/include/json-glib-$(JSON_GLIB_VERSION) \
-I./src/webrtc
Expand Down Expand Up @@ -207,7 +223,7 @@ LIBS+= -L$(LIB_INSTALL_DIR) \
-L/usr/local/cuda/lib64/ -lcudart \
-Wl,-rpath,$(LIB_INSTALL_DIR)

ifeq ($(shell test $(GSTREAMER_SUB_VERSION) -gt 18; echo $$?),0)
ifeq ($(BUILD_WEBRTC),true)
LIBS+= -Lgstreamer-sdp-$(GSTREAMER_SDP_VERSION) \
-Lgstreamer-webrtc-$(GSTREAMER_WEBRTC_VERSION) \
-Llibsoup-$(LIBSOUP_VERSION) \
Expand All @@ -229,7 +245,7 @@ PKGS:= gstreamer-$(GSTREAMER_VERSION) \
gstreamer-rtsp-server-$(GSTREAMER_VERSION) \
x11

ifeq ($(shell test $(GSTREAMER_SUB_VERSION) -gt 18; echo $$?),0)
ifeq ($(BUILD_WEBRTC),true)
PKGS+= gstreamer-sdp-$(GSTREAMER_SDP_VERSION) \
gstreamer-webrtc-$(GSTREAMER_WEBRTC_VERSION) \
libsoup-$(LIBSOUP_VERSION) \
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,16 @@ Come join us on [Discord](https://discord.gg/MJvY9jjpAK), an informal place to c
* [Remuxer](/docs/api-remuxer.md)
* [On-Screen Display](/docs/api-osd.md)
* [Sink](/docs/api-sink.md)
* [Branch](/docs/api-branch.md)
* [Component](/docs/api-component.md)
* [Custom Component](/docs/api-gst.md)
* [Pad Probe Handler](/docs/api-pph.md)
* [ODE Trigger](/docs/api-ode-trigger.md)
* [ODE Accumulator](/docs/api-ode-accumulator.md)
* [ODE Acton](/docs/api-ode-action.md)
* [ODE Area](/docs/api-ode-area.md)
* [ODE Heat-Mapper](/docs/api-ode-heat-mapper.md)
* [Display Type](/docs/api-display-type.md)
* [Branch](/docs/api-branch.md)
* [Component](/docs/api-component.md)
* [Mailer](/docs/api-mailer.md)
* [WebSocket Server](/docs/api-ws-server.md)
* [Message Broker](/docs/api-msg-broker.md)
Expand Down
1 change: 1 addition & 0 deletions Release Notes/dsl-releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

| Release | Date |
| --------------------------------------------------- | ----------- |
| [v0.30.alpha](/Release%20Notes/v0.30.alpha.md) | 05/28/2024 |
| [v0.29.alpha](/Release%20Notes/v0.29.alpha.md) | 03/23/2024 |
| [v0.28.alpha](/Release%20Notes/v0.28.alpha.md) | 01/29/2024 |
| [v0.27.b.alpha](/Release%20Notes/v0.27.b.alpha.md) | 11/08/2023 |
Expand Down
118 changes: 118 additions & 0 deletions Release Notes/v0.30.alpha.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# v0.30.alpha Release Notes
## Highlights
* New GStreamer (GST) API used to created Custom DSL Pipeline Components. See [#1174](https://github.com/prominenceai/deepstream-services-library/issues/1174).
* Pipeline Components can now be linked together by one of two methods. See [#1176](https://github.com/prominenceai/deepstream-services-library/issues/1176) and [#1212](https://github.com/prominenceai/deepstream-services-library/issues/1212).
* By-position - allows Pipelines to be assemebled over subsequent calls - the default link method in all previous releases.
* By-add-order - allows full user control over the order of linking - new and now default method of linking.
* New ODE Actions:
* Snap-Label-To-Grid Action. See [#1191](https://github.com/prominenceai/deepstream-services-library/issues/1191).
* Connect-Label-To-BBox Action. See [#1192](https://github.com/prominenceai/deepstream-services-library/issues/1191).
* New Examples and Overview Section on "Working with Buffer-Surfaces and OpenCV". See [#1209](https://github.com/prominenceai/deepstream-services-library/issues/1209)
* A number of critical bugs have been resolved, see the list below.

## Issues closed in this release
### Bugs closed in this release
* RTSP Source API Reference - constructor section is missing the drop_frame_interval [#1175](https://github.com/prominenceai/deepstream-services-library/issues/1175)
* Remove input queue from branch - unnecessary, as first component will have its own input queue. [#1180](https://github.com/prominenceai/deepstream-services-library/issues/1180)
* dsl_ode_action_label_offset_new is missing from dsl.py [#1188](https://github.com/prominenceai/deepstream-services-library/issues/1188)
* Pipeline with Secondary Inference components and a Message Sink fail to fully transition to a playing state [#1202](https://github.com/prominenceai/deepstream-services-library/issues/1202)
* WebRTC Sink Inatallation Instructions missing dependencies for DS 6.4/7.0 GST 1.20 [#1217](https://github.com/prominenceai/deepstream-services-library/issues/1217)
* V4L2 Source is failing to play when running on dGPU - currently using wrong plugin [#1219](https://github.com/prominenceai/deepstream-services-library/issues/1219)

### Enhancements closed in this release
* Implement new GStreamer Element and Bin APIs - allow clients to create custom DSL Pipeline Components [#1174](https://github.com/prominenceai/deepstream-services-library/issues/1174)
* Extend Pipelines/Branches to be able to link components by both position and by add-order. [#1176](https://github.com/prominenceai/deepstream-services-library/issues/1176)
* Update Triton Inference Service examples to use new traficcamnet models. [#1184](https://github.com/prominenceai/deepstream-services-library/issues/1176)
* Tracking algorithm for all Triggers is incorrect/insufficient for how the Tracker libs actually work. [#1186](https://github.com/prominenceai/deepstream-services-library/issues/1176)
* Implement new snap-label-to-grid ODE Action - dsl_ode_action_label_snap_to_grid_new [#1191](https://github.com/prominenceai/deepstream-services-library/issues/1191)
* Implement new connect-label-bbox ODE Action - dsl_ode_action_label_connect_to_bbox_new [#1192](https://github.com/prominenceai/deepstream-services-library/issues/1191)
* ODE Actions need to include classifier meta labels when printing, logging, filing, and messaging object data. [#1195](https://github.com/prominenceai/deepstream-services-library/issues/1195)
* Implement dsl_sink_message_payload_debug_dir_get/set services to dump Message Converter payloads. [#1199](https://github.com/prominenceai/deepstream-services-library/issues/1199)
* Remove unnecessary tee and fake sink from the IoT Message Sink Component. [#1203](https://github.com/prominenceai/deepstream-services-library/issues/1203)
* Make message-converter-config-file optional for IoT Message Sink [#1204](https://github.com/prominenceai/deepstream-services-library/issues/1204)
* Add examples and overview to cover how to work with opencv in an Custom Pad Probe Handler [#1209](https://github.com/prominenceai/deepstream-services-library/issues/1209)
* Set DSL_PIPELINE_LINK_METHOD_DEFAULT to DSL_PIPELINE_LINK_METHOD_BY_ADD_ORDER [#1212](https://github.com/prominenceai/deepstream-services-library/issues/1212)
* Update conditional WebRTC Sink build inclussion - make boolean vs tied to gstreamer version [#1216](https://github.com/prominenceai/deepstream-services-library/issues/1216)

### New Symbolic Constants in this release
**New GStreamer (GST) Element API Return Values**
```c
#define DSL_RESULT_GST_ELEMENT_RESULT 0x00D00000
#define DSL_RESULT_GST_ELEMENT_NAME_NOT_UNIQUE 0x00D00001
#define DSL_RESULT_GST_ELEMENT_NAME_NOT_FOUND 0x00D00002
#define DSL_RESULT_GST_ELEMENT_THREW_EXCEPTION 0x00D00003
#define DSL_RESULT_GST_ELEMENT_IN_USE 0x00D00004
#define DSL_RESULT_GST_ELEMENT_SET_FAILED 0x00D00005
#define DSL_RESULT_GST_ELEMENT_HANDLER_ADD_FAILED 0x00D00006
#define DSL_RESULT_GST_ELEMENT_HANDLER_REMOVE_FAILED 0x00D00007
#define DSL_RESULT_GST_ELEMENT_PAD_TYPE_INVALID 0x00D00008
```
**New GStreamer (GST) Bin API Return Values**
```c
#define DSL_RESULT_GST_BIN_RESULT 0x00E00000
#define DSL_RESULT_GST_BIN_NAME_NOT_UNIQUE 0x00E00001
#define DSL_RESULT_GST_BIN_NAME_NOT_FOUND 0x00E00002
#define DSL_RESULT_GST_BIN_NAME_BAD_FORMAT 0x00E00003
#define DSL_RESULT_GST_BIN_THREW_EXCEPTION 0x00E00004
#define DSL_RESULT_GST_BIN_IS_IN_USE 0x00E00005
#define DSL_RESULT_GST_BIN_SET_FAILED 0x00E00006
#define DSL_RESULT_GST_BIN_ELEMENT_ADD_FAILED 0x00E00007
#define DSL_RESULT_GST_BIN_ELEMENT_REMOVE_FAILED 0x00E00008
#define DSL_RESULT_GST_BIN_ELEMENT_NOT_IN_USE 0x00E00009
```

**Methods of linking Pipeline components**
```c
#define DSL_PIPELINE_LINK_METHOD_BY_POSITION 0
#define DSL_PIPELINE_LINK_METHOD_BY_ADD_ORDER 1
#define DSL_PIPELINE_LINK_METHOD_DEFAULT DSL_PIPELINE_LINK_METHOD_BY_ADD_ORDER
```

### New Services in this release
**New GStreamer (GST) API:**
* [`dsl_gst_element_new`](/docs/api-gst.md#dsl_gst_element_new)
* [`dsl_gst_bin_new`](docs/api-gst.md#dsl_gst_bin_new)
* [`dsl_gst_bin_new_element_add_many`](docs/api-gst.md#dsl_gst_bin_new_element_add_many)
* [`dsl_gst_element_delete`](docs/api-gst.md#dsl_gst_element_delete)
* [`dsl_gst_element_delete_many`](docs/api-gst.md#dsl_gst_element_delete_many)
* [`dsl_gst_element_delete_all`](docs/api-gst.md#dsl_gst_element_delete_all)
* [`dsl_gst_element_property_boolean_get`](/docs/api-gst.md#dsl_gst_element_property_boolean_get)
* [`dsl_gst_element_property_boolean_set`](/docs/api-gst.md#dsl_gst_element_property_boolean_set)
* [`dsl_gst_element_property_float_get`](/docs/api-gst.md#dsl_gst_element_property_float_get)
* [`dsl_gst_element_property_float_set`](/docs/api-gst.md#dsl_gst_element_property_float_set)
* [`dsl_gst_element_property_uint_get`](/docs/api-gst.md#dsl_gst_element_property_uint_get)
* [`dsl_gst_element_property_uint_set`](/docs/api-gst.md#dsl_gst_element_property_uint_set)
* [`dsl_gst_element_property_int_get`](/docs/api-gst.md#dsl_gst_element_property_int_get)
* [`dsl_gst_element_property_int_set`](/docs/api-gst.md#dsl_gst_element_property_int_set)
* [`dsl_gst_element_property_uint64_get`](/docs/api-gst.md#dsl_gst_element_property_uint64_get)
* [`dsl_gst_element_property_uint64_set`](/docs/api-gst.md#dsl_gst_element_property_uint64_set)
* [`dsl_gst_element_property_int64_get`](/docs/api-gst.md#dsl_gst_element_property_int64_get)
* [`dsl_gst_element_property_int64_set`](/docs/api-gst.md#dsl_gst_element_property_int64_set)
* [`dsl_gst_element_property_string_get`](/docs/api-gst.md#dsl_gst_element_property_string_get)
* [`dsl_gst_element_property_string_set`](/docs/api-gst.md#dsl_gst_element_property_string_set)
* [`dsl_gst_element_list_size`](/docs/api-gst.md#dsl_gst_element_list_size)
* [`dsl_gst_element_pph_add`](/docs/api-gst.md#dsl_gst_element_pph_add)
* [`dsl_gst_element_pph_remove`](/docs/api-gst.md#dsl_gst_element_pph_remove)
* [`dsl_gst_bin_element_add`](/docs/api-gst.md#dsl_gst_bin_element_add)
* [`dsl_gst_bin_element_add_many`](/docs/api-gst.md#dsl_gst_bin_element_add_many)
* [`dsl_gst_bin_element_remove`](/docs/api-gst.md#dsl_gst_bin_element_remove)
* [`dsl_gst_bin_element_remove_many`](/docs/api-gst.md#dsl_gst_bin_element_remove_many)

**New Pipeline Link Method Services**
* [`dsl_pipeline_link_method_get`](/docs/api-pipeline.md#dsl_pipeline_link_method_get)
* [`dsl_pipeline_link_method_set`](/docs/api-pipeline.md#dsl_pipeline_link_method_set)

**New ODE Actions**
* [`dsl_ode_action_label_connect_to_bbox_new`](/docs/api-ode-action.md#dsl_ode_action_label_connect_to_bbox_new)
* [`dsl_ode_action_label_snap_to_grid_new`](/docs/api-ode-action.md#dsl_ode_action_label_snap_to_grid_new)

**New Sink Services**
* [`dsl_sink_message_payload_debug_dir_get`](/docs/api-sink.md#dsl_sink_message_payload_debug_dir_get)
* [`dsl_sink_message_payload_debug_dir_set`](/docs/api-sink.md#dsl_sink_message_payload_debug_dir_set)

### New Examples in this release
* [pipeline_with_custom_gst_bin_and_elements.py](/examples/python/pipeline_with_custom_gst_bin_and_elements.py)
* [pipeline_with_custom_gst_bin_and_elements.cpp](/examples/python/pipeline_with_custom_gst_bin_and_elements.cpp)
* [4file_custom_pph_using_opencv.py](/examples/python/4file_custom_pph_using_opencv.py)
* [4file_custom_pph_using_opencv.cpp](/examples/python/4file_custom_pph_using_opencv.cpp)

5 changes: 3 additions & 2 deletions docs/api-branch.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,15 +231,16 @@ retval = dsl_branch_component_remove_all('my-branch')
* [Remuxer](/docs/api-remuxer.md)
* [On-Screen Display](/docs/api-osd.md)
* [Sink](/docs/api-sink.md)
* **Branch**
* [Component](/docs/api-component.md)
* [Custom Component](/docs/api-gst.md)
* [Pad Probe Handler](/docs/api-pph.md)
* [ODE Trigger](/docs/api-ode-trigger.md)
* [ODE Accumulator](/docs/api-ode-accumulator.md)
* [ODE Acton](/docs/api-ode-action.md)
* [ODE Area](/docs/api-ode-area.md)
* [ODE Heat-Mapper](/docs/api-ode-heat-mapper.md)
* [Display Type](/docs/api-display-type.md)
* **Branch**
* [Component](/docs/api-component.md)
* [Mailer](/docs/api-mailer.md)
* [WebSocket Server](/docs/api-ws-server.md)
* [Message Broker](/docs/api-msg-broker.md)
Expand Down
6 changes: 4 additions & 2 deletions docs/api-component.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ The Pipeline Component API provides the common services that apply to multiple P
* [On Screen Displays](/docs/api-osd.md)
* [Sinks](/docs/api-sink.md)
* [Branches](/docs/api-branch.md)
* [Custom Components](/docs/api-gst.md)

---

Expand Down Expand Up @@ -277,15 +278,16 @@ retval = dsl_component_nvbuf_mem_type_set_many(
* [Remuxer](/docs/api-remxer.md)
* [On-Screen Display](/docs/api-osd.md)
* [Sink](/docs/api-sink.md)
* [Branch](/docs/api-branch.md)
* **Component**
* [Custom Component](/docs/api-gst.md)
* [Pad Probe Handler](/docs/api-pph.md)
* [ODE Trigger](/docs/api-ode-trigger.md)
* [ODE Accumulator](/docs/api-ode-accumulator.md)
* [ODE Acton](/docs/api-ode-action.md)
* [ODE Area](/docs/api-ode-area.md)
* [ODE Heat-Mapper](/docs/api-ode-heat-mapper.md)
* [Display Type](/docs/api-display-type.md)
* [Branch](/docs/api-branch.md)
* **Component**
* [Mailer](/docs/api-mailer.md)
* [WebSocket Server](/docs/api-ws-server.md)
* [Message Broker](/docs/api-msg-broker.md)
Expand Down
5 changes: 3 additions & 2 deletions docs/api-dewarper.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,15 +234,16 @@ retval = dsl_dewarper_num_batch_buffers_set('my-dewarper', 4)
* [Remuxer](/docs/api-remuxer.md)
* [On-Screen Display](/docs/api-osd.md)
* [Sink](/docs/api-sink.md)
* [Branch](/docs/api-branch.md)
* [Component](/docs/api-component.md)
* [Custom Component](/docs/api-gst.md)
* [Pad Probe Handler](/docs/api-pph.md)
* [ODE Trigger](/docs/api-ode-trigger.md)
* [ODE Accumulator](/docs/api-ode-accumulator.md)
* [ODE Acton](/docs/api-ode-action.md)
* [ODE Area](/docs/api-ode-area.md)
* [ODE Heat-Mapper](/docs/api-ode-heat-mapper.md)
* [Display Type](/docs/api-display-type.md)
* [Branch](/docs/api-branch.md)
* [Component](/docs/api-component.md)
* [Mailer](/docs/api-mailer.md)
* [WebSocket Server](/docs/api-ws-server.md)
* [Message Broker](/docs/api-msg-broker.md)
Expand Down
5 changes: 3 additions & 2 deletions docs/api-display-type.md
Original file line number Diff line number Diff line change
Expand Up @@ -1010,15 +1010,16 @@ retval = dsl_display_type_meta_add('blue-circle', buffer, frame_meta)
* [Remuxer](/docs/api-remuxer.md)
* [On-Screen Display](/docs/api-osd.md)
* [Sink](/docs/api-sink.md)
* [Branch](/docs/api-branch.md)
* [Component](/docs/api-component.md)
* [Custom Component](/docs/api-gst.md)
* [Pad Probe Handler](/docs/api-pph.md)
* [ODE-Trigger](/docs/api-ode-trigger.md)
* [ODE Accumulator](/docs/api-ode-accumulator.md)
* [ODE Action](/docs/api-ode-action.md)
* [ODE Area](/docs/api-ode-area.md)
* [ODE Heat-Mapper](/docs/api-ode-heat-mapper.md)
* **Display Type**
* [Branch](/docs/api-branch.md)
* [Component](/docs/api-component.md)
* [Mailer](/docs/api-mailer.md)
* [WebSocket Server](/docs/api-ws-server.md)
* [Message Broker](/docs/api-msg-broker.md)
Expand Down
Loading

0 comments on commit 6943b3a

Please sign in to comment.