Multiple RTSP Stream Aggregation gets Aborted

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU): DGX A100
• DeepStream Version nvcr.io/nvidia/deepstream:7.0-triton-multiarch
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only) 535.183.02
• Issue Type( questions, new requirements, bugs) questions
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

Hii, I am trying to create multiple CCTV Stream aggregator via RTS Protocol. What I am trying to do is to collect the frames, resize them and extract the region of interest from them then push the processes frame into a shared queue (for now I am just using a python list). For debugging I added a print statement for printing the element that is being pushed into shared queue.

But, after executing my python script I got Aborted or sometimes Segmentation Fault.

Following is my python script

import gi
import pyds
gi.require_version('Gst', '1.0')
from gi.repository import Gst, GLib

import numpy as np
import cv2
from parameters import IP_CAMS, KAFKA_TOPIC_NAME_PREFIX, DARKNESS_DETECTION
from confluent_kafka import Producer

# Initialize GStreamer
Gst.init(None)

ADAPTIVE_LIGHTING_THRESHOLD = 80
shared_buffer = []

# Initialize the Kafka Producer
kafka_config = {
    'bootstrap.servers': '192.168.15.14:9092',
    'client.id': 'camera-status-producer',
}
producer = Producer(kafka_config)

def roi_coordinates(roi_width: int, roi_height: int, frame_width: int, frame_height: int, x: int = 0, y: int = 0):
    frame_x_center = frame_width // 2
    roi_width_half = roi_width // 2
    roi_left = frame_x_center - roi_width_half + x
    roi_right = frame_x_center + roi_width_half + x
    roi_bottom = frame_height - y
    roi_top = roi_bottom - (roi_height + y)
    return roi_left, roi_top, roi_right, roi_bottom

def create_mask(frame: np.ndarray, left: int, top: int, right: int, bottom: int):
    mask = np.zeros_like(frame)
    mask[top:bottom, left:right] = 1
    return mask

def is_too_dark(frame, adaptive=True, threshold=ADAPTIVE_LIGHTING_THRESHOLD):
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    if adaptive:
        mean_intensity = cv2.mean(gray)[0]
        return mean_intensity < threshold
    else:
        avg_intensity = np.mean(gray)
        return avg_intensity < threshold

def delivery_report(err, msg):
    if err is not None:
        print(f"Message delivery failed: {err}")
    else:
        print(f"Message delivered to {msg.topic()} [{msg.partition()}]")

def send_kafka_message(cam_name, status, message):
    topic_name = f"{KAFKA_TOPIC_NAME_PREFIX}_{cam_name}"
    producer.produce(topic_name, key=status, value=message.encode('utf-8'), callback=delivery_report)
    producer.poll(1)

def osd_sink_pad_buffer_probe(pad, info, u_data):
    gst_buffer = info.get_buffer()
    if not gst_buffer:
        print("Unable to get GstBuffer")
        return Gst.PadProbeReturn.OK

    batch_meta = pyds.gst_buffer_get_nvds_batch_meta(hash(gst_buffer))
    l_frame = batch_meta.frame_meta_list
    while l_frame is not None:
        try:
            frame_meta = pyds.NvDsFrameMeta.cast(l_frame.data)
        except StopIteration:
            break

        user_meta_list = frame_meta.frame_user_meta_list
        cam_name = None
        while user_meta_list is not None:
            try:
                user_meta = pyds.NvDsUserMeta.cast(user_meta_list.data)
            except StopIteration:
                break
            if user_meta and user_meta.user_meta_data:
                cam_name = user_meta.user_meta_data
            try:
                user_meta_list = user_meta_list.next
            except StopIteration:
                break

        if not cam_name:
            cam_name = "unknown"

        frame = pyds.get_nvds_buf_surface(hash(gst_buffer), frame_meta.batch_id)

        roi_width, roi_height, roi_x, roi_y = IP_CAMS[cam_name][1]
        roi_left, roi_top, roi_right, roi_bottom = roi_coordinates(
            roi_width,
            roi_height,
            frame.shape[1],
            frame.shape[0],
            roi_x,
            roi_y
        )
        mask = create_mask(frame, roi_left, roi_top, roi_right, roi_bottom)
        roi_frame = frame * mask

        shared_buffer.append((roi_frame, cam_name, IP_CAMS[cam_name][0]))

        l_frame = l_frame.next

    return Gst.PadProbeReturn.OK

def create_deepstream_pipeline():
    pipeline = Gst.Pipeline()

    streammux = Gst.ElementFactory.make("nvstreammux", "stream-muxer")
    streammux.set_property("width", 640)
    streammux.set_property("height", 360)
    streammux.set_property("batch-size", len(IP_CAMS))
    streammux.set_property("batched-push-timeout", 40000)
    pipeline.add(streammux)

    for i, (cam_name, cam_details) in enumerate(IP_CAMS.items()):
        cam_ip = cam_details[0]
        source_bin = create_source_bin(i, cam_name, f"rtsp://{cam_ip}:554/stream1")
        pipeline.add(source_bin)
        source_bin.link(streammux)

    osd_sink_pad = streammux.get_static_pad("src")
    if not osd_sink_pad:
        print("Unable to get src pad")
    else:
        osd_sink_pad.add_probe(Gst.PadProbeType.BUFFER, osd_sink_pad_buffer_probe, 0)

    return pipeline

def attach_cam_name_to_metadata(pad, info, cam_name):
    gst_buffer = info.get_buffer()
    if not gst_buffer:
        print("Unable to get GstBuffer")
        return Gst.PadProbeReturn.OK

    batch_meta = pyds.gst_buffer_get_nvds_batch_meta(hash(gst_buffer))
    frame_meta_list = batch_meta.frame_meta_list

    while frame_meta_list is not None:
        frame_meta = pyds.NvDsFrameMeta.cast(frame_meta_list.data)
        user_meta = pyds.NvDsUserMeta.cast(pyds.nvds_acquire_user_meta_from_pool(batch_meta))
        user_meta.user_meta_data = cam_name
        pyds.nvds_add_user_meta_to_frame(frame_meta, user_meta)

        try:
            frame_meta_list = frame_meta_list.next
        except StopIteration:
            break

    return Gst.PadProbeReturn.OK

def on_pad_added(uridecodebin, pad, cam_name):
    if pad.get_current_caps().to_string().startswith("video/"):
        bin = pad.get_parent_element().get_parent()
        ghost_pad = bin.get_static_pad("src")
        if ghost_pad.set_target(pad):
            pad.add_probe(Gst.PadProbeType.BUFFER, attach_cam_name_to_metadata, cam_name)

def create_source_bin(index, cam_name, uri):
    bin_name = "source-bin-%02d" % index
    nbin = Gst.Bin.new(bin_name)

    uridecodebin = Gst.ElementFactory.make("uridecodebin", "uridecodebin")
    uridecodebin.set_property("uri", uri)
    uridecodebin.connect("pad-added", on_pad_added, cam_name)

    nbin.add(uridecodebin)
    bin_pad = Gst.GhostPad.new_no_target("src", Gst.PadDirection.SRC)
    nbin.add_pad(bin_pad)

    return nbin

def on_message(bus, message, loop):
    msg_type = message.type
    if msg_type == Gst.MessageType.EOS:
        print("End of stream")
        loop.quit()
    elif msg_type == Gst.MessageType.ERROR:
        err, debug = message.parse_error()
        print("Error: ", err, debug)
        loop.quit()
    return True

def main():
    loop = GLib.MainLoop()
    pipeline = create_deepstream_pipeline()

    bus = pipeline.get_bus()
    bus.add_signal_watch()
    bus.connect("message", on_message, loop)

    pipeline.set_state(Gst.State.PLAYING)

    try:
        loop.run()
    except Exception as e:
        print(f"Exception: {e}")
    finally:
        pipeline.set_state(Gst.State.NULL)

if __name__ == '__main__':
    main()

I tried to debug the process and what I understand that there is some issue with the pipeline due to which it gets aborted.

root@4c21b0e1a926:/opt/nvidia/deepstream/deepstream-7.0# ulimit -c unlimited
root@4c21b0e1a926:/opt/nvidia/deepstream/deepstream-7.0# GST_DEBUG=4 python3 your_s
root@4c21b0e1a926:/opt/nvidia/deepstream/deepstream-7.0# GST_DEBUG=4 python3 deepstam_multicam_stream_producer.py 
0:00:00.000097124 57903 0x5646ba8866b0 INFO                GST_INIT gst.c:592:init_pre: Initializing GStreamer Core Library version 1.20.3
0:00:00.000285697 57903 0x5646ba8866b0 INFO                GST_INIT gst.c:593:init_pre: Using library installed in /usr/lib/x86_64-linux-gnu
0:00:00.000294048 57903 0x5646ba8866b0 INFO                GST_INIT gst.c:611:init_pre: Linux 4c21b0e1a926 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64
0:00:00.000386898 57903 0x5646ba8866b0 INFO                GST_INIT gstmessage.c:129:_priv_gst_message_initialize: init messages
0:00:00.000482853 57903 0x5646ba8866b0 INFO                GST_INIT gstcontext.c:86:_priv_gst_context_initialize: init contexts
0:00:00.000561315 57903 0x5646ba8866b0 INFO      GST_PLUGIN_LOADING gstplugin.c:324:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.000605961 57903 0x5646ba8866b0 INFO      GST_PLUGIN_LOADING gstplugin.c:232:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.000623255 57903 0x5646ba8866b0 INFO      GST_PLUGIN_LOADING gstplugin.c:234:gst_plugin_register_static: added static plugin "staticelements", result: 1
0:00:00.000646619 57903 0x5646ba8866b0 INFO            GST_REGISTRY gstregistry.c:1827:ensure_current_registry: reading registry cache: /.jbdevcontainer/gstreamer-1.0/registry.x86_64.bin
0:00:00.008289530 57903 0x5646ba8866b0 INFO            GST_REGISTRY gstregistrybinary.c:683:priv_gst_registry_binary_read_cache: loaded /.jbdevcontainer/gstreamer-1.0/registry.x86_64.bin in 0.007160 seconds
0:00:00.008348647 57903 0x5646ba8866b0 INFO            GST_REGISTRY gstregistry.c:1693:scan_and_update_registry: Validating plugins from registry cache: /.jbdevcontainer/gstreamer-1.0/registry.x86_64.bin
0:00:00.009504109 57903 0x5646ba8866b0 INFO            GST_REGISTRY gstregistry.c:1785:scan_and_update_registry: Registry cache has not changed
0:00:00.009527926 57903 0x5646ba8866b0 INFO            GST_REGISTRY gstregistry.c:1862:ensure_current_registry: registry reading and updating done, result = 1
0:00:00.009600295 57903 0x5646ba8866b0 INFO                GST_INIT gst.c:833:init_post: GLib runtime version: 2.76.6
0:00:00.009623975 57903 0x5646ba8866b0 INFO                GST_INIT gst.c:835:init_post: GLib headers version: 2.72.1
0:00:00.009629340 57903 0x5646ba8866b0 INFO                GST_INIT gst.c:837:init_post: initialized GStreamer successfully
0:00:00.014538873 57903 0x5646ba8866b0 INFO      GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_multistream.so" loaded
0:00:00.014691643 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "nvstreammux"
0:00:00.014822265 57903 0x5646ba8866b0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstNvStreamMux@0x5646bac863d0> adding pad 'src'
0:00:00.015136326 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "bin"
0:00:00.015785872 57903 0x5646ba8866b0 INFO      GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so" loaded
0:00:00.015849864 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "uridecodebin"
0:00:00.016086782 57903 0x5646ba8866b0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<source-bin-00> adding pad 'src'
0:00:00.016149622 57903 0x5646ba8866b0 INFO        GST_ELEMENT_PADS gstutils.c:1816:gst_element_link_pads_full: trying to link element source-bin-00:(any) to element stream-muxer:(any)
0:00:00.016174133 57903 0x5646ba8866b0 INFO                GST_PADS gstpad.c:4357:gst_pad_peer_query:<src:proxypad0> pad has no peer
0:00:00.016200432 57903 0x5646ba8866b0 ERROR            nvstreammux gstnvstreammux.cpp:1611:gst_nvstreammux_request_new_pad:<stream-muxer> Pad should be named 'sink_%u' when requesting a pad
0:00:00.016281555 57903 0x5646ba8866b0 INFO        GST_ELEMENT_PADS gstutils.c:1270:gst_element_get_compatible_pad:<stream-muxer> Could not find a compatible pad to link to source-bin-00:src
0:00:00.016313123 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "bin"
0:00:00.016342151 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "uridecodebin"
0:00:00.016393920 57903 0x5646ba8866b0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<source-bin-01> adding pad 'src'
0:00:00.016423556 57903 0x5646ba8866b0 INFO        GST_ELEMENT_PADS gstutils.c:1816:gst_element_link_pads_full: trying to link element source-bin-01:(any) to element stream-muxer:(any)
0:00:00.016445727 57903 0x5646ba8866b0 INFO                GST_PADS gstpad.c:4357:gst_pad_peer_query:<src:proxypad1> pad has no peer
0:00:00.016472729 57903 0x5646ba8866b0 ERROR            nvstreammux gstnvstreammux.cpp:1611:gst_nvstreammux_request_new_pad:<stream-muxer> Pad should be named 'sink_%u' when requesting a pad
0:00:00.016478952 57903 0x5646ba8866b0 INFO        GST_ELEMENT_PADS gstutils.c:1270:gst_element_get_compatible_pad:<stream-muxer> Could not find a compatible pad to link to source-bin-01:src
0:00:00.016500157 57903 0x5646ba8866b0 INFO        GST_ELEMENT_PADS gstelement.c:1016:gst_element_get_static_pad: found pad stream-muxer:src
0:00:00.016773062 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<stream-muxer> current NULL pending VOID_PENDING, desired next READY
0:00:00.900518588 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<stream-muxer> completed state change to READY
0:00:00.900564283 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<stream-muxer> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.900660472 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'stream-muxer' changed state to 2(READY) successfully
0:00:00.900696205 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<source-bin-01> current NULL pending VOID_PENDING, desired next READY
0:00:00.900768972 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<uridecodebin> current NULL pending VOID_PENDING, desired next READY
0:00:00.900790312 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<uridecodebin> completed state change to READY
0:00:00.900795791 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<uridecodebin> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.900802622 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<source-bin-01> child 'uridecodebin' changed state to 2(READY) successfully
0:00:00.900828365 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source-bin-01> completed state change to READY
0:00:00.900846844 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source-bin-01> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.900866470 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'source-bin-01' changed state to 2(READY) successfully
0:00:00.900888229 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<source-bin-00> current NULL pending VOID_PENDING, desired next READY
0:00:00.900909093 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<uridecodebin> current NULL pending VOID_PENDING, desired next READY
0:00:00.900928117 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<uridecodebin> completed state change to READY
0:00:00.900946133 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<uridecodebin> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.900966653 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<source-bin-00> child 'uridecodebin' changed state to 2(READY) successfully
0:00:00.900998468 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source-bin-00> completed state change to READY
0:00:00.901016800 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source-bin-00> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.901036874 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'source-bin-00' changed state to 2(READY) successfully
0:00:00.901056506 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2778:gst_element_continue_state:<pipeline0> committing state from NULL to READY, pending PLAYING, next PAUSED
0:00:00.901062183 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed NULL to READY (PLAYING pending)
0:00:00.901080268 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2786:gst_element_continue_state:<pipeline0> continue state change READY to PAUSED, final PLAYING
0:00:00.901101295 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<stream-muxer> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.901134643 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<stream-muxer> completed state change to PAUSED
0:00:00.901157529 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<stream-muxer> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.901164227 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'stream-muxer' changed state to 3(PAUSED) successfully
0:00:00.901169020 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<source-bin-01> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.901201402 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<uridecodebin> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.904724096 57903 0x5646ba8866b0 INFO      GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtsp.so" loaded
0:00:00.905932157 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "rtspsrc"
0:00:00.907044111 57903 0x5646ba8866b0 INFO      GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrealmedia.so" loaded
0:00:00.907082399 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "rtspreal"
0:00:00.907813638 57903 0x5646ba8866b0 INFO      GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstasf.so" loaded
0:00:00.907845287 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "rtspwms"
0:00:00.908091852 57903 0x5646ba8866b0 INFO                    task gsttask.c:516:gst_task_set_lock: setting stream lock 0x5646c2b77258 on task 0x5646c296a4e0
0:00:00.908172667 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2778:gst_element_continue_state:<source> committing state from NULL to READY, pending PAUSED, next PAUSED
0:00:00.908194111 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source> notifying about state-changed NULL to READY (PAUSED pending)
0:00:00.908205800 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2786:gst_element_continue_state:<source> continue state change READY to PAUSED, final PAUSED
0:00:00.924800444 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source> completed state change to PAUSED
0:00:00.924862504 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.924909404 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3397:bin_handle_async_done:<uridecodebin> committing state from READY to PAUSED, old pending PAUSED
0:00:00.924932867 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3420:bin_handle_async_done:<uridecodebin> completed state change, pending VOID
0:00:00.924941153 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<uridecodebin> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.924965323 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2797:gst_element_continue_state:<uridecodebin> nothing pending
0:00:00.924988750 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2971:gst_bin_change_state_func:<source-bin-01> child 'uridecodebin' changed state to 3(PAUSED) successfully without preroll
0:00:00.925003542 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3397:bin_handle_async_done:<source-bin-01> committing state from READY to PAUSED, old pending PAUSED
0:00:00.925023852 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3420:bin_handle_async_done:<source-bin-01> completed state change, pending VOID
0:00:00.925033332 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source-bin-01> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.925056876 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2797:gst_element_continue_state:<source-bin-01> nothing pending
0:00:00.925065547 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2971:gst_bin_change_state_func:<pipeline0> child 'source-bin-01' changed state to 3(PAUSED) successfully without preroll
0:00:00.925091689 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<source-bin-00> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.925127522 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<uridecodebin> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.925435279 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "rtspsrc"
0:00:00.925487913 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "rtspreal"
0:00:00.925517444 57903 0x5646ba8866b0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "rtspwms"
0:00:00.925593619 57903 0x5646ba8866b0 INFO                    task gsttask.c:516:gst_task_set_lock: setting stream lock 0x5646c29315c8 on task 0x5646c2931250
0:00:00.925627555 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2778:gst_element_continue_state:<source> committing state from NULL to READY, pending PAUSED, next PAUSED
0:00:00.925653468 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source> notifying about state-changed NULL to READY (PAUSED pending)
0:00:00.925680708 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2786:gst_element_continue_state:<source> continue state change READY to PAUSED, final PAUSED
0:00:00.925861562 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source> completed state change to PAUSED
0:00:00.925900086 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.925933706 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3397:bin_handle_async_done:<uridecodebin> committing state from READY to PAUSED, old pending PAUSED
0:00:00.925959981 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3420:bin_handle_async_done:<uridecodebin> completed state change, pending VOID
0:00:00.925999326 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<uridecodebin> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.926026108 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2797:gst_element_continue_state:<uridecodebin> nothing pending
0:00:00.926035281 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2971:gst_bin_change_state_func:<source-bin-00> child 'uridecodebin' changed state to 3(PAUSED) successfully without preroll
0:00:00.926064896 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3397:bin_handle_async_done:<source-bin-00> committing state from READY to PAUSED, old pending PAUSED
0:00:00.926086322 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3420:bin_handle_async_done:<source-bin-00> completed state change, pending VOID
0:00:00.926093222 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source-bin-00> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.926115193 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2797:gst_element_continue_state:<source-bin-00> nothing pending
0:00:00.926140871 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2971:gst_bin_change_state_func:<pipeline0> child 'source-bin-00' changed state to 3(PAUSED) successfully without preroll
0:00:00.926167697 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3397:bin_handle_async_done:<pipeline0> committing state from READY to PAUSED, old pending PLAYING
0:00:00.926188882 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:3428:bin_handle_async_done:<pipeline0> continue state change, pending PLAYING
0:00:00.926210931 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed READY to PAUSED (PLAYING pending)
0:00:00.926550718 57903 0x5646ba8866b0 INFO                pipeline gstpipeline.c:533:gst_pipeline_change_state:<pipeline0> pipeline is live
0:00:00.926582826 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2778:gst_element_continue_state:<pipeline0> committing state from PAUSED to PAUSED, pending PLAYING, next PLAYING
0:00:00.926607191 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed PAUSED to PAUSED (PLAYING pending)
0:00:00.926618171 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2786:gst_element_continue_state:<pipeline0> continue state change PAUSED to PLAYING, final PLAYING
0:00:00.926706847 57903 0x5646ba8866b0 INFO               GST_EVENT gstevent.c:1530:gst_event_new_latency: creating latency event 0:00:00.000000000
0:00:00.926736475 57903 0x5646ba8866b0 INFO                     bin gstbin.c:2759:gst_bin_do_latency_func:<pipeline0> configured latency of 0:00:00.000000000
0:00:00.926749186 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<stream-muxer> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.926797954 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<stream-muxer> completed state change to PLAYING
0:00:00.926821113 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<stream-muxer> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.926833586 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'stream-muxer' changed state to 4(PLAYING) successfully
0:00:00.926866519 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source> completed state change to PLAYING
0:00:00.926889131 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.926916397 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<uridecodebin> child 'source' changed state to 4(PLAYING) successfully
0:00:00.926942823 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<uridecodebin> completed state change to PLAYING
0:00:00.926968284 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<uridecodebin> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.926993575 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<source-bin-01> child 'uridecodebin' changed state to 4(PLAYING) successfully
0:00:00.927017240 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source-bin-01> completed state change to PLAYING
0:00:00.927026743 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source-bin-01> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.927052527 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'source-bin-01' changed state to 4(PLAYING) successfully
0:00:00.927147157 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source> completed state change to PLAYING
0:00:00.927171766 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.927183961 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<uridecodebin> child 'source' changed state to 4(PLAYING) successfully
0:00:00.927207800 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<uridecodebin> completed state change to PLAYING
0:00:00.927230507 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<uridecodebin> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.927257549 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<source-bin-00> child 'uridecodebin' changed state to 4(PLAYING) successfully
0:00:00.927282212 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source-bin-00> completed state change to PLAYING
0:00:00.927304792 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<source-bin-00> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.927330335 57903 0x5646ba8866b0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'source-bin-00' changed state to 4(PLAYING) successfully
0:00:00.927354132 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<pipeline0> completed state change to PLAYING
0:00:00.927376107 57903 0x5646ba8866b0 INFO              GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.927473227 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:3224:gst_bin_continue_func:<pipeline0> continue state change PLAYING to PLAYING, final PLAYING
0:00:00.927567318 57903 0x7f69280010d0 INFO               GST_EVENT gstevent.c:1530:gst_event_new_latency: creating latency event 0:00:00.000000000
0:00:00.927597169 57903 0x7f69280010d0 INFO                     bin gstbin.c:2759:gst_bin_do_latency_func:<pipeline0> configured latency of 0:00:00.000000000
0:00:00.927624850 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<stream-muxer> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:00.927987623 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2597:gst_bin_element_set_state:<stream-muxer> skipping transition from PLAYING to  PLAYING
0:00:00.928015011 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'stream-muxer' changed state to 4(PLAYING) successfully
0:00:00.928041451 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<source-bin-01> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:00.928068334 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<uridecodebin> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:00.928078837 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<source> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:00.928101324 57903 0x7f69280010d0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source> completed state change to PLAYING
0:00:00.928124514 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<uridecodebin> child 'source' changed state to 4(PLAYING) successfully
0:00:00.928132244 57903 0x7f69280010d0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<uridecodebin> completed state change to PLAYING
0:00:00.928156744 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<source-bin-01> child 'uridecodebin' changed state to 4(PLAYING) successfully
0:00:00.928179433 57903 0x7f69280010d0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source-bin-01> completed state change to PLAYING
0:00:00.928203244 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'source-bin-01' changed state to 4(PLAYING) successfully
0:00:00.928261714 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<source-bin-00> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:00.928287700 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<uridecodebin> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:00.928298263 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2479:gst_bin_element_set_state:<source> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:00.928320079 57903 0x7f69280010d0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source> completed state change to PLAYING
0:00:00.928329955 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<uridecodebin> child 'source' changed state to 4(PLAYING) successfully
0:00:00.928351109 57903 0x7f69280010d0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<uridecodebin> completed state change to PLAYING
0:00:00.928374619 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<source-bin-00> child 'uridecodebin' changed state to 4(PLAYING) successfully
0:00:00.928397044 57903 0x7f69280010d0 INFO              GST_STATES gstelement.c:2806:gst_element_continue_state:<source-bin-00> completed state change to PLAYING
0:00:00.928446373 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline0> child 'source-bin-00' changed state to 4(PLAYING) successfully
0:00:00.928460199 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:3406:bin_handle_async_done:<pipeline0> setting state from PLAYING to PLAYING, pending PLAYING
0:00:00.928479989 57903 0x7f69280010d0 INFO              GST_STATES gstbin.c:3420:bin_handle_async_done:<pipeline0> completed state change, pending VOID
Aborted
root@4c21b0e1a926:/opt/nvidia/deepstream/deepstream-7.0# gdb python3
GNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
--Type <RET> for more, q to quit, c to continue without paging--
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
--Type <RET> for more, q to quit, c to continue without paging--
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
--Type <RET> for more, q to quit, c to continue without paging--
Reading symbols from python3...
(No debugging symbols found in python3)
(gdb) run deepstream_multicam_stream_producer.py 
Starting program: /usr/bin/python3 deepstream_multicam_stream_producer.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff1dff640 (LWP 58579)]
[New Thread 0x7ffff15fe640 (LWP 58580)]
[New Thread 0x7fffeedfd640 (LWP 58581)]
[New Thread 0x7fffea5fc640 (LWP 58582)]
[New Thread 0x7fffe7dfb640 (LWP 58583)]
[New Thread 0x7fffe55fa640 (LWP 58584)]
[New Thread 0x7fffe2df9640 (LWP 58585)]
[New Thread 0x7fffe05f8640 (LWP 58586)]
[New Thread 0x7fffdddf7640 (LWP 58587)]
[New Thread 0x7fffdb5f6640 (LWP 58588)]
[New Thread 0x7fffd8df5640 (LWP 58589)]
[New Thread 0x7fffd65f4640 (LWP 58590)]
[New Thread 0x7fffd5df3640 (LWP 58591)]
[New Thread 0x7fffd55f2640 (LWP 58592)]
[New Thread 0x7fffcedf1640 (LWP 58593)]
[New Thread 0x7fffc1210640 (LWP 58594)]
[New Thread 0x7fffc0a0f640 (LWP 58595)]
[New Thread 0x7fffbbfff640 (LWP 58596)]
[New Thread 0x7fffad7ff640 (LWP 58597)]
[New Thread 0x7fffa346a640 (LWP 58606)]
[New Thread 0x7fff8d86a640 (LWP 58615)]
[New Thread 0x7fff8d069640 (LWP 58616)]
[New Thread 0x7fff8c868640 (LWP 58617)]
[New Thread 0x7fff7bfff640 (LWP 58618)]
[New Thread 0x7fff7b7fe640 (LWP 58619)]
[New Thread 0x7fff7affd640 (LWP 58620)]
[Thread 0x7fffcedf1640 (LWP 58593) exited]
[Thread 0x7fffd55f2640 (LWP 58592) exited]
[Thread 0x7fffd5df3640 (LWP 58591) exited]
[Thread 0x7fffd65f4640 (LWP 58590) exited]
[Thread 0x7fffd8df5640 (LWP 58589) exited]
[Thread 0x7fffdb5f6640 (LWP 58588) exited]
[Thread 0x7fffdddf7640 (LWP 58587) exited]
[Thread 0x7fffe05f8640 (LWP 58586) exited]
[Thread 0x7fffe2df9640 (LWP 58585) exited]
[Thread 0x7fffe55fa640 (LWP 58584) exited]
[Thread 0x7fffe7dfb640 (LWP 58583) exited]
[Thread 0x7fffea5fc640 (LWP 58582) exited]
[Thread 0x7fffeedfd640 (LWP 58581) exited]
[Thread 0x7ffff15fe640 (LWP 58580) exited]
[Thread 0x7ffff1dff640 (LWP 58579) exited]
[Detaching after fork from child process 58621]
[New Thread 0x7fffcedf1640 (LWP 58622)]
[New Thread 0x7fffd55f2640 (LWP 58623)]
terminate called after throwing an instance of 'std::runtime_error'
  what():  Unable to read configuration

Thread 28 "pool-python3" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffcedf1640 (LWP 58622)]
0x00007ffff7cd99fc in pthread_kill () from /usr/lib/x86_64-linux-gnu/libc.so.6
(gdb) backtrace
#0  0x00007ffff7cd99fc in pthread_kill () at /usr/lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff7c85476 in raise () at /usr/lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff7c6b7f3 in abort () at /usr/lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff6893b9e in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff689f20c in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#5  0x00007ffff689e1e9 in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff689e959 in __gxx_personality_v0 ()
    at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007ffff67c0fe9 in __libunwind_Unwind_Resume ()
    at /usr/lib/x86_64-linux-gnu/libunwind.so.8
--Type <RET> for more, q to quit, c to continue without paging--
#8  0x00007ffff1dd886d in  () at /usr/lib/x86_64-linux-gnu/libproxy.so.1
#9  0x00007ffff1de1827 in px_proxy_factory_get_proxies ()
    at /usr/lib/x86_64-linux-gnu/libproxy.so.1
#10 0x00007ffff4df6827 in  ()
    at /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so
--Type <RET> for more, q to quit, c to continue without paging--
#11 0x00007ffff7455644 in g_task_thread_pool_thread
    (thread_data=0x7fff7c012980, pool_data=<optimized out>) at ../gio/gtask.c:1531
#12 0x00007ffff773e384 in g_thread_pool_thread_proxy (data=<optimized out>)
    at ../glib/gthreadpool.c:350
#13 0x00007ffff773dac1 in g_thread_proxy (data=0x7fff840013a0)
--Type <RET> for more, q to quit, c to continue without paging--
    at ../glib/gthread.c:831
#14 0x00007ffff7cd7ac3 in  () at /usr/lib/x86_64-linux-gnu/libc.so.6
#15 0x00007ffff7d69850 in  () at /usr/lib/x86_64-linux-gnu/libc.so.6

please refer to ready-made sample deepstream-preprocess-test, which supports multiple RTSP input and ROI.

Just sharing one of the possible solution, after long hours of debugging, we found that pyds need to import after gstreamer. So, from your code, pyds need to put at the bottom after gi.repository.

from gi.repository import Gst, GLib
import pyds

Sorry for the late reply, Is this still an DeepStream issue to support? Thanks!

for my side, I have solved the issue.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.