blocking the audio and video?

killerrats koreysjunkmail at
Thu Feb 20 18:36:09 UTC 2020

found out that if i use async in sending the eos through the pipeline it will
work. making the filesink property async to FALSE.*1.* unset flag so
filesink will not send eos down the pipeline.GST_OBJECT_FLAG_UNSET(filesink,
[source pad], NULL);*3.*static voidsend_eos_async(GstElement* element,
gpointer user_data){	GstEvent *eos;	GstPad *pad;	GstPad* srcPad =
(GstPad*)user_data;	eos = gst_event_new_eos();		if (!pad)		pad =
gst_pad_get_peer(srcPad);		gst_pad_send_event(pad, eos);
gst_object_unref(pad);}*4.* gst_pad_add_probe(vteePad,
GST_PAD_PROBE_TYPE_BLOCK,video_block_cb, pPipe, nullptr);*5.* do {}while()
to make sure block is finished*6.* while() for seeing flag if eos got
caught. within gst_pad_add_probe(sinkPad,
GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,RtspEventProbe, pPipe, nullptr);*7.*
Unlink record elements*8.* link record elements again*9.* set
GST_STATE_PLAYING on record elements*10.* unblock pads

Gstreamer 1.14.3
Sent from:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list