tee

tee — 1-to-N pipe fitting

Synopsis

struct              GstTee;
enum                GstTeePullMode;

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GstObject
               +----GstElement
                     +----GstTee

Properties

  "has-chain"                gboolean              : Read / Write / Construct
  "has-sink-loop"            gboolean              : Read / Write / Construct
  "last-message"             gchar*                : Read
  "num-src-pads"             gint                  : Read
  "silent"                   gboolean              : Read / Write / Construct
  "pull-mode"                GstTeePullMode        : Read / Write / Construct
  "alloc-pad"                GstPad*               : Read / Write

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 filesrc location=song.ogg ! decodebin2 ! tee name=t ! queue ! autoaudiosink t. ! queue ! audioconvert ! goom ! videoconvert ! autovideosink
Play a song.ogg from local dir and render visualisations using the goom element.

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

Details

struct GstTee

struct GstTee;

Opaque GstTee data structure.


enum GstTeePullMode

typedef enum {
  GST_TEE_PULL_MODE_NEVER,
  GST_TEE_PULL_MODE_SINGLE,
} GstTeePullMode;

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

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 "has-chain" property

  "has-chain"                gboolean              : Read / Write / Construct

If the element can operate in push mode.

Default value: TRUE


The "has-sink-loop" property

  "has-sink-loop"            gboolean              : Read / Write / Construct

If the element should spawn a thread (unimplemented and deprecated).

Default value: FALSE


The "last-message" property

  "last-message"             gchar*                : Read

The message describing current status.

Default value: NULL


The "num-src-pads" property

  "num-src-pads"             gint                  : Read

The number of source pads.

Allowed values: >= 0

Default value: 0


The "silent" property

  "silent"                   gboolean              : Read / Write / Construct

Don't produce last_message events.

Default value: TRUE


The "pull-mode" property

  "pull-mode"                GstTeePullMode        : Read / Write / Construct

Behavior of tee in pull mode.

Default value: Never activate in pull mode


The "alloc-pad" property

  "alloc-pad"                GstPad*               : Read / Write

The pad used for gst_pad_alloc_buffer.

See Also

GstIdentity