What happens to just-requested tee srcpad in PLAYING pipeline?

Sebastian Dröge sebastian at centricular.com
Fri Jan 10 03:21:50 PST 2014


On Fr, 2014-01-10 at 13:14 +0200, Andrey Utkin wrote:
> When new requestable srcpad of tee element is created, it is
> immediately activated, so pushed data and events from upstream
> consider passing through it. Is this statement correct?

Yes

> When data tries to pass through unlinked pad, it raises an error and
> pauses pushing task (i.e. GstBaseSrc's or GstQueue's one) . Is this
> statement correct?

No, because tee combines the different flow returns. not-linked is only
considered an error if all of tee's srcpads are not linked.

> If both above statements are correct, then how should we safely attach
> another branch to tee in a pipeline in PLAYING state?

For example by always having a dummy branch on tee that goes to a
fakesink, or only having the pipeline run if there are consumers of the
data, or blocking upstream of tee :) It depends a bit on your use case.

> Another question. How can API user force GstBaseSrc's or GstQueue's
> task to get back from paused state to running state? Which events can
> lead to that? Is setting a pipeline to PLAYING state is right and sure
> way to do that?

Yes, but probably not what you want in the above mentioned case with
tee.

-- 
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140110/848be702/attachment.pgp>


More information about the gstreamer-devel mailing list