How to force a GstBufferPool flush?

Jorge Fernandez Monteagudo jorgefm at cirsa.com
Tue Apr 25 10:49:35 UTC 2017


Hi all!


I'm using an old 1.4.5 gstreamer release. I have sometimes a deadlock in the 'default_acquire_buffer()' method from gstbufferpool.c when a video playing is

already ended. The code has a comment:


    /* now we release the control socket, we wait for a buffer release or
     * flushing */
    gst_poll_read_control (pool->priv->poll);
    GST_LOG_OBJECT (pool, "waiting for free buffers or flushing");
    gst_poll_wait (priv->poll, GST_CLOCK_TIME_NONE);
    gst_poll_write_control (pool->priv->poll);


and I would like to know how to force a flush in order to get the control back to my application.

In the same file is the 'gst_buffer_pool_set_flushing' method. What's the way to get a flush done?

With gst_event_new_flush_start()/stop() methods? With 'gst_bus_set_flushing()'?


Thanks!

Jorge
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170425/6bc4332b/attachment-0003.html>


More information about the gstreamer-devel mailing list