tee

tee

Properties

GstPad * alloc-pad Read / Write
gboolean has-chain Read / Write / Construct
gchar * last-message Read
gint num-src-pads Read
GstTeePullMode pull-mode Read / Write / Construct
gboolean silent Read / Write / Construct
gboolean allow-not-linked Read / Write / Construct

Types and Values

struct GstTee
enum GstTeePullMode

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstTee

Description

Split data to multiple pads. Branching the data flow is useful when e.g. capturing a video where the video is shown on the screen and also encoded and written to a file. Another example is playing music and hooking up a visualisation module.

One needs to use separate queue elements (or a multiqueue) in each branch to provide separate threads for each branch. Otherwise a blocked dataflow in one branch would stall the other branches.

Example launch line

1
gst-launch-1.0 filesrc location=song.ogg ! decodebin ! tee name=t ! queue ! audioconvert ! audioresample ! autoaudiosink t. ! queue ! audioconvert ! goom ! videoconvert ! autovideosink
Play song.ogg audio file which must be in the current working directory and render visualisations using the goom element (this can be easier done using the playbin element, this is just an example pipeline).

Synopsis

Element Information

plugin

coreelements

author

Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim@fluendo.com>

class

Generic

Element Pads

name

sink

direction

sink

presence

always

details

ANY

name

src_%u

direction

source

presence

request

details

ANY

Functions

Types and Values

struct GstTee

struct GstTee;

Opaque GstTee data structure.


enum GstTeePullMode

The different ways that tee can behave in pull mode. TEE_PULL_MODE_NEVER disables pull mode.

Members

GST_TEE_PULL_MODE_NEVER

Never activate in pull mode.

 

GST_TEE_PULL_MODE_SINGLE

Only one src pad can be active in pull mode.

 

Property Details

The “alloc-pad” property

  “alloc-pad”                GstPad *

The pad ALLOCATION queries will be proxied to (unused).

Flags: Read / Write


The “has-chain” property

  “has-chain”                gboolean

If the element can operate in push mode.

Flags: Read / Write / Construct

Default value: TRUE


The “last-message” property

  “last-message”             gchar *

The message describing current status.

Flags: Read

Default value: NULL


The “num-src-pads” property

  “num-src-pads”             gint

The number of source pads.

Flags: Read

Allowed values: >= 0

Default value: 0


The “pull-mode” property

  “pull-mode”                GstTeePullMode

Behavior of tee in pull mode.

Flags: Read / Write / Construct

Default value: Never activate in pull mode


The “silent” property

  “silent”                   gboolean

Don't produce last_message events.

Flags: Read / Write / Construct

Default value: TRUE


The “allow-not-linked” property

  “allow-not-linked”         gboolean

This property makes sink pad return GST_FLOW_OK even if there are no source pads or any of them is linked.

This is useful to avoid errors when you have a dynamic pipeline and during a reconnection you can have all the pads unlinked or removed.

Flags: Read / Write / Construct

Default value: FALSE

Since: 1.6

See Also

GstIdentity