Appsink blocking gst_element_set_state

Pietro Bonfa' pietro_bonfa at yahoo.it
Thu Dec 31 07:18:56 PST 2015


Dear All,

I found a subtle case in which appsink causes gst_element_set_state to hang.

I think it is similar to this:
http://gstreamer-devel.966125.n4.nabble.com/appsink-and-EOS-td4656194.html

I'm playing two videos, one with n frame and the other with n+1 frames.
Each time a couple of frames are given to two pipelines ending with two
appsink elements. At the end of the playback just one appsink receives EOS.
What happens is that I cannot set the pipeline not reaching EOS to NULL
state since gst_element_set_state hangs.

The relevant part of the log (appsink:5) is here http://pastie.org/10662910

With reference to the link above, pipeline 1 will block code execution
since appsink1 says:

<appsink1> receiving EOS

but it is not in EOS as testified by this line:

gstappsink.c:930:gst_app_sink_is_eos:<appsink1> we are not yet EOS

This problem only arises in this case. If I stop the pipelines before
EOS or if I use videos with different number of frames everything works
as expected.

I'll try to produce a compact code to reproduce the problem.


Best regards,
Pietro



More information about the gstreamer-devel mailing list