Environment
- Platform: Jetson AGX Thor
- JetPack: 7.0 (b128)
- L4T: R38.2.0
- DeepStream SDK: 8.0.0
- GStreamer: 1.24.2
- TensorRT: 10.13.3.9 / CUDA 13.0
- Pipeline: Python, pyservicemaker/GStreamer bindings
Setup
Two IP cameras (entry, exit) over RTSP, each fed into the pipeline through its own nvurisrcbin → shared nvstreammux → nvinfer (batch=2). Relevant nvurisrcbin properties:
- select-rtp-protocol = 4 (force TCP)
- rtsp-reconnect-interval set (few seconds)
- Stream: 2688x1520 @ 20 fps, H.264 (confirmed via ffprobe direct connection — camera and network are healthy)
Symptom
Only the exit camera’s stream intermittently stops delivering frames entirely — permanently, not a brief drop. Entry keeps running fine, sometimes even during the same window. Once it happens, it does not recover on its own; frame counters for that source freeze forever until we intervene.
Observed root cause
A short (~3s), completely ordinary network blip triggers nvurisrcbin’s internal watchdog to attempt a reconnect. During that reconnect, its own cleanup step (gst_rtspsrc_pause / gst_rtspsrc_close) fails against the already-broken socket. Because the old RTSP session is never torn down successfully, a new one is never established either — nvurisrcbin is left retrying try_send/pause/close against a dead socket indefinitely, roughly every 4–8s, forever.
Log signature (GST_DEBUG / journal):
GST WARN: gst-stream-error-quark: No data from source since last 3 sec. Trying reconnection (1)
[app] RTSP stream down, reconnecting
[app] RTSP stream recovered ← misleading: one frame slipped through, not real recovery
GST WARN: Could not write to resource. gst_rtspsrc_try_send
GST WARN: Could not write to resource. gst_rtspsrc_pause ← cleanup itself fails
GST WARN: Could not read from resource. gst_rtspsrc_try_send
GST WARN: Could not write to resource. gst_rtspsrc_close ← close also fails
[repeats try_send/pause/close failures every ~4-8s, indefinitely]
Sometimes preceded by the DeepStream-native line: Resetting source -1, attempts: N.
Ruled out
-
Camera/network health — verified via ping (0% loss, <1ms) and a direct ffprobe RTSP connection (instant, clean 2688x1520@20fps) while the production stream was frozen.
-
Hardware decoder (nvv4l2decoder) — the freeze is entirely at the RTSP session layer, before decode is ever reached.
-
GPU/resource contention from other processes on the box.
-
One-off fluke — reproduced 4–5 times in a single day, recurrence intervals ranging from ~9 minutes down to under a minute after a fresh restart.
Note : I have checked with a new camera and with a new lan cable yesterday in the galaxy store it is the same results with the Hardware decoders,
but when I switched back to the CPU decoders and encoders I was not facing a issue .
Question
Is there a known fix, patch, or nvurisrcbin/rtspsrc property (e.g. something in smart-reconfig, latency, or an internal timeout) that avoids the reconnect getting wedged in the first place? Is this a known issue in DS 8.0 on Thor/JetPack 7.0, and is there a tracking bug number we can watch?