Savant
Savant copied to clipboard
AO RTSP RuntimeError and restart input pipeline after EOS
Sending data from the same source (source_id) after EOS causes an error and restarts the input pipeline of the always_on_rtsp.
Add to process_frame in samples/auxiliary_streams/multiple_resolutions.py to send EOS, for example, every 1000th frame
if frame_meta.frame_num % 1000 == 0:
aux_stream.eos()
Run the sample, after EOS in logs
...
always-on-sink-1 | 2025-04-02T19:01:39.671Z INFO insight::savant::savant_rs_video_demux > Created new src pad for source video-360p: src_video-360p_980.
always-on-sink-1 | Traceback (most recent call last):
always-on-sink-1 | File "/opt/savant/adapters/ds/sinks/always_on_rtsp/input_pipeline.py", line 76, in link_added_pad
always-on-sink-1 | assert src_pad.link(sink_pad) == Gst.PadLinkReturn.OK
always-on-sink-1 | File "/usr/lib/python3/dist-packages/gi/overrides/Gst.py", line 189, in link
always-on-sink-1 | raise LinkError(ret)
always-on-sink-1 | gi.overrides.Gst.LinkError: <enum GST_PAD_LINK_WAS_LINKED of type Gst.PadLinkReturn>
always-on-sink-1 | 2025-04-02T19:01:39.830Z ERROR insight::savant::savant_rs_video_demux > Failed to push frame with PTS 40960000000 from source video-360p: <enum GST_FLOW_NOT_LINKED of type Gst.FlowReturn>
...