How can I tell if all elements received the EOS?

yoyosuper8 yoyosuper8 at yahoo.com
Thu Jul 24 14:05:04 PDT 2014


Hi, I'm trying to figure out if the EOS event I send thru the pipeline is
actually accepted by all the elements in the pipeline.

Here is the pipeline code:
GstElement *pipeline;
pipeline = gs_parse_launch ("v4l2src ! videoconvert ! eglglessink
name=videosink");


When I close the application, I send an EOS thru the pipeline as such:
gst_element_send_event(pipeline, gst_event_new_eos());
sleep(5);
g_free(pipeline);

After the EOS is sent, I execute a sleep(5) to pause for 5 seconds before
freeing the pipeline resources.
I know this is not the best way to do it, but it actually works. However,
I'd like to find a way to detect if v4l2src does get the EOS and stops
streaming, and if it does, then free the pipeline resources, otherwise wait
until v4l2src gets the EOS event.

Any thoughts :)



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/How-can-I-tell-if-all-elements-received-the-EOS-tp4668055.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list