## RBPlayerGstDataTee RBPlayerGstDataTee — player interface for processing raw data |

## Functions

gboolean | rb_player_gst_data_tee_add_data_tee ()
gboolean | rb_player_gst_data_tee_remove_data_tee ()

## Signals

void | data-tee-inserted | No Recursion
void | data-tee-pre-remove | No Recursion

## Types and Values

| RBPlayerGstDataTee
struct | RBPlayerGstDataTeeIface

## Object Hierarchy

        GInterface
        ╰── RBPlayerGstDataTee

## Includes

    #include <rb-player-gst-data-tee.h>

## Description

This interface allows a caller to add a branch to the GStreamer playback pipeline that receives a copy of the raw data from the playback source element.

This interface is not currently implemented by either playback backend.

## Functions

### rb_player_gst_data_tee_add_data_tee ()

    gboolean
    rb_player_gst_data_tee_add_data_tee (RBPlayerGstDataTee *player,
                                         GstElement *element);

Adds a raw data tee branch to the playback pipeline.

#### Parameters

player | a RBPlayerGstDataTee implementation |
element | data tee branch to add |

#### Returns

TRUE if the tee branch was added successfully

### rb_player_gst_data_tee_remove_data_tee ()

    gboolean
    rb_player_gst_data_tee_remove_data_tee
                                   (RBPlayerGstDataTee *player,
                                    GstElement *element);

Removes a raw data tee branch.

#### Parameters

player | a RBPlayerGstDataTee implementation |
element | data tee branch to add |

#### Returns

TRUE if the tee branch was found and removed

## Types and Values

### RBPlayerGstDataTee

    typedef struct _RBPlayerGstDataTee RBPlayerGstDataTee;

### struct RBPlayerGstDataTeeIface

    struct RBPlayerGstDataTeeIface {
    	GTypeInterface g_iface;

    	/* virtual functions */
    	gboolean (*add_data_tee)		(RBPlayerGstDataTee *player, GstElement *element);
    	gboolean (*remove_data_tee) (RBPlayerGstDataTee *player, GstElement *element);

    	/* signals */
    	void		(*data_tee_inserted) (RBPlayerGstDataTee *player, GstElement *data_tee);
    	void		(*data_tee_pre_remove) (RBPlayerGstDataTee *player, GstElement *data_tee);
    };

## Signal Details

### The `“data-tee-inserted”` signal

    void
    user_function (RBPlayerGstDataTee *player,
                   GObject            *data_tee,
                   gpointer            user_data)

The 'data_tee-inserted' signal is emitted when the tee element has been inserted into the pipeline and fully linked

#### Parameters

player | the RBPlayerGstDataTee implementation |
data_tee | the element which has been inserted |
user_data | user data set when the signal handler was connected. |

Flags: No Recursion

### The `“data-tee-pre-remove”` signal

    void
    user_function (RBPlayerGstDataTee *player,
                   GObject            *data_tee,
                   gpointer            user_data)

The 'data_tee-pre-remove' signal is emitted immediately before the element is unlinked and removed from the pipeline

#### Parameters

player | the RBPlayerGstDataTee implementation |
data_tee | the element which is about to be removed |
user_data | user data set when the signal handler was connected. |

Flags: No Recursion