- Both Jetson and GPU
- DeepStream 6.2 & 6.3, probably other versions too
- JetPack Version - Not Applicable
- TensorRT Version - Not Applicable
- NVIDIA GPU Driver Version - Not Applicable
- Issue Type: bug
- How to reproduce the issue: dynamically append / remove
nvdsosd
element into GStreamer pipeline many times.
I want to dynamically insert and remove nvdsosd
elements when needed. Sometimes I have segfault in nvll_osd_set_params
when GStreamer’s GstBaseTransform
(parent class of nvdsosd
) tries to set up children caps before invoking children start
virtual method (which is completely okay for GstBaseTransform
): in
deepstream-6.2/sources/gst-plugins/gst-nvdsosd/gstnvdsosd.c
if gst_nvds_osd_transform_caps
is called before gst_nvds_osd_start
, application will crash because nvll_osd context may not be initialized.
Possible solutions (up to you):
- initialize OSD context earlier and refrain from releasing it in
gst_nvds_osd_stop
, keeping it longer. - store width, height but postpone call to
nvll_osd_set_params
if context is not yet initialized.