Gstreamer seeking deadlock


The file is bigger than 100Mb so I can’t upload it,

But I can reproduce the deadlock with the sleep above and the file generated by your pipeline :

gst-launch-1.0 videotestsrc num-buffers=4500 ! video/x-raw, format=BGR, width=1920, height=1080, framerate=15/1 ! videoconvert ! nvvidconv ! "video/x-raw(memory:NVMM), format=NV12" ! nvv4l2h264enc maxperf-enable=1 control-rate=0 bitrate=8000000 ! h264parse ! matroskamux ! filesink location=video.mkv

Please try to do seeking in GST_STATE_PLAYING state. We don’t see any issue in adding the 100ms sleep if the pipeline is in PLAYING state. Please give it a try.


Unfortunatly, we need to stay on GST_STATE_PAUSED state.

In fact, we need to process video frame by frame and we want to unsure minimal memory usage.

The use-case looks advancing and it may be better to use jetson_multimedia_api. You may refer to


You can get decode YUV data frame by frame in dec_capture_loop_fcn(). It is more flexible for accessing/processing each decoded buffer.

gstreamer is a solution for simple video playback or using DeepStream SDK. If your use-case is advancing, we would suggest use jetson_multimedia_api.

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