## tee

tee — 1-to-N pipe fitting

## 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

## 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 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

## 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

## See Also

GstIdentity