Can not seek pipeline playing mp4 file with appsink
Describe your issue
Pipeline with appsink stuck after seek.
Pipeline is following: filesrc location=test.mp4 ! qtdemux name=d d.video_0 ! h264parse ! mp4mux fragment-duration=1000 ! appsink name=sink drop=false max-buffers=10 After sending gst_element_seek pipeline stucks, no new buffers appear in appsink.
Error logs after seek:
(testapp:25954): GStreamer-CRITICAL **: 20:33:59.265: gst_segment_do_seek: assertion 'segment->format == format' failed
0:00:02.984883355 25954 0x563da694a770 WARN qtmux gstqtmux.c:1931:gst_qt_mux_send_buffer:<mp4mux0> Failed to send buffer (0x7f787803f5a0) size 14099
0:00:02.984908298 25954 0x563da694a770 ERROR qtmux gstqtmux.c:4214:gst_qt_mux_pad_fragment_add_buffer:<mp4mux0> Failed to send fragment
0:00:02.984937775 25954 0x563da694a770 WARN qtmux gstqtmux.c:5024:gst_qt_mux_add_buffer:<mp4mux0> error: Failed to push sample.
Expected Behavior
Playback should continues after seek.
Observed Behavior
Pipeline stuck.
Setup
- Operating System: Linux
- Device: Computer
- GStreamer Version: 1.18.5
- Command line: sample app attached
Steps to reproduce the bug
- create pipline as decribed above
- pull some buffers from appsink
- do flushing seek somewhere(e.g. to position 0)
- try to pull more buffers from appsink
- no new buffers available after seek
How reproducible is the bug?
Always. Run attached app as follow GST_DEBUG=4 ./testapp /path/to/mp4/file.mp4