Seek on running HW encoded pipeline gives errors but not on native video pipeline

marc lievens mark.lievens at gmail.com
Fri Nov 5 08:27:18 UTC 2021


Hi



When seeking on  a running pipeline HW encode pipeline, then I get next
errors.


GStreamer-CRITICAL **: 08:30:20.042: gst_segment_do_seek: assertion
'segment->format == format' failed

GStreamer-CRITICAL **: 08:30:50.380: gst_buffer_get_size: assertion
'GST_IS_BUFFER (buffer)' failed

GStreamer-CRITICAL **: 08:30:50.382: gst_qt_mux_send_buffer: assertion 'buf
!= NULL' failed

Could not multiplex stream., debug : ../gst/isomp4/gstqtmux.c(5024):
gst_qt_mux_add_buffer (): /GstPipeline:pipeline0/GstQTMux:muxer: Failed to
push sample.



But when I remove all transcoding elements, then seeking on a running
pipeline is executed.

But only when gst_base_sink_set_last_sample_enabled is set to false,
otherwise seeking didn’t work either.



Seeking is done in  GST_FORMAT_TIME with options
GstSeekFlags(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT |
GST_SEEK_FLAG_SEGMENT);



pipeline :  filesrc ! qtdemux ! h264parse ! d3d11h264dec  ! mfh264enc !
h264parse ! qtmux  fragment-duration=100 ! multisocketsink


 Gstreamer version : 1.18.5


I already tried different options like :

Flushing/non flushing seeks

Sync and Async on multisocketsink

gst_base_src_set_format((GstBaseSrc*)filesrc), GST_FORMAT_TIME);

Different options on the mfh264enc and qtmux



Does anyone have  Idea what I'm doing wrong or I can get seeking working an
a running hardware encoded pipeline?



Cheers marc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20211105/edbfa92a/attachment.htm>


More information about the gstreamer-devel mailing list