GST_ELEMENT_FLAG_SINK not set

Tim Müller tim at centricular.com
Thu May 21 05:13:18 PDT 2015


On Thu, 2015-05-21 at 13:24 +0200, Christian Sell wrote:

Hi,

> I have an element derived from GstBaseParse. Now, whenever I perform a
> seek operation on the pipeline, the seek fails, and I see a log
> messate stating "child <element> is not a sink". Digging into the code
> that emits the log message, I see that a flag GST_ELEMENT_FLAG_SINK is
> queried, which is not set on the element, although it clearly has a
> sink pad.
>  
> My question: who is responsible for setting it? Is this described
> somewhere?

Only sink elements,i.e elements that *only* have a sink pad, should have
that flag set. In any case it's just an optimisation so if it's not set
that should not affect behaviour. GstBin looks at that.

The log messages are normal. When a seek is sent to the top-level
pipeline it travels down the pipeline bin/element hierarchy via the
GstElement::send_event vfunc. Depending on whether the event is an
upstream event or a downstream event the GstBin/pipeline will seek to go
down the pipeline hierarchy until it finds a sink or source element,
which will then inject the element into the data flow and push it
upstream/downstream. So it's entirely normal.

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list