tee

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

 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).

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──tee

Factory details

Authors: – Erik Walthinsen , Wim Taymans

Classification:Generic

Rank – none

Plugin – coreelements

Package – GStreamer

Pad Templates

sink

ANY

Presencealways

Directionsink

Object typeGstPad


src_%u

ANY

Presencerequest

Directionsrc

Object typeGstPad


Properties

alloc-pad

“alloc-pad” GstPad *

The pad ALLOCATION queries will be proxied to (DEPRECATED, has no effect)

Flags : Read / Write


allow-not-linked

“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


has-chain

“has-chain” gboolean

If the element can operate in push mode

Flags : Read / Write / Construct

Default value : true


last-message

“last-message” gchararray

The message describing current status

Flags : Read

Default value : NULL


num-src-pads

“num-src-pads” gint

The number of source pads

Flags : Read

Default value : 0


pull-mode

“pull-mode” Tee-pull-mode *

Behavior of tee in pull mode

Flags : Read / Write / Construct

Default value : never (0)


silent

“silent” gboolean

Don't produce last_message events

Flags : Read / Write / Construct

Default value : true


Named constants

Tee-pull-mode

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

Members

never (0) – Never activate in pull mode
single (1) – Only one src pad can be active in pull mode

The results of the search are