blocking the audio and video?

killerrats koreysjunkmail at gmail.com
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,
GST_ELEMENT_FLAG_SINK);*2.*
gst_element_call_async([ELEMENT],(GstElementCallAsyncFunc)send_eos_async,
[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
------------------------------
Windows
--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200220/c34d3e0f/attachment.htm>


More information about the gstreamer-devel mailing list