How to handle EOS from an appsrc to ensure all frames are played out before pipeline closes?

Jan Alexander Steffens jan.steffens at gmail.com
Sat Mar 21 02:31:46 PDT 2015


On Fri, Mar 20, 2015 at 7:57 AM, Subodh Chiwate
<subodh.chiwate at ufomoviez.com> wrote:
> I raise an EOS event from the appsrc
> "need-data" callback when I run out of data.

On Fri, Mar 20, 2015 at 8:59 AM, Sébastien FENET
<sebastien.fenet at yahoo.fr> wrote:
> I have the same issue. Same kind of pipeline, I send the EOS signal to
> appsrc when I run out of data. I listen to the pipeline's bus to get the EOS
> back when it has gone through all elements. And it appears I get the EOS
> signal on the bus too early (the last bits of data are not played).

How are you sending the EOS? You should use gst_app_src_end_of_stream,
not gst_element_send_event or similar.
The latter can send the EOS event before appsrc has completely drained
its internal queue.


More information about the gstreamer-devel mailing list