RBPlayerGstTee

RBPlayerGstTee — player interface for inserting additional sinks

Synopsis


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

                    RBPlayerGstTee;
                    RBPlayerGstTeeIface;
gboolean            rb_player_gst_tee_add_tee           (RBPlayerGstTee *player,
                                                         GstElement *element);
gboolean            rb_player_gst_tee_remove_tee        (RBPlayerGstTee *player,
                                                         GstElement *element);

Object Hierarchy

  GInterface
   +----RBPlayerGstTee

Signals

  "tee-inserted"                                   : Run Last / No Recursion
  "tee-pre-remove"                                 : Run Last / No Recursion

Description

This interface allows a caller to add a new sink to the GStreamer playback pipeline.

Details

RBPlayerGstTee

typedef struct _RBPlayerGstTee RBPlayerGstTee;


RBPlayerGstTeeIface

typedef struct {
	GTypeInterface	g_iface;

	/* virtual functions */
	gboolean	(*add_tee)		(RBPlayerGstTee *player, GstElement *element);
	gboolean	(*remove_tee)		(RBPlayerGstTee *player, GstElement *element);

	/* signals */
	void		(*tee_inserted)		(RBPlayerGstTee *player, GstElement *tee);
	void		(*tee_pre_remove)	(RBPlayerGstTee *player, GstElement *tee);
} RBPlayerGstTeeIface;


rb_player_gst_tee_add_tee ()

gboolean            rb_player_gst_tee_add_tee           (RBPlayerGstTee *player,
                                                         GstElement *element);

Adds a new sink to the playback pipeline. The sink may not be inserted immediately. The 'tee-inserted' signal will be emitted when this actually happens.

player :

RBPlayerGstTee implementation

element :

new sink element (or bin) to add

Returns :

TRUE if the sink will be added

rb_player_gst_tee_remove_tee ()

gboolean            rb_player_gst_tee_remove_tee        (RBPlayerGstTee *player,
                                                         GstElement *element);

Removes a sink from the playback pipeline. The sink may not be removed immediately. The 'tee-pre-remove' signal will be emitted immediately before this actually happens.

player :

RBPlayerGstTee implementation

element :

the sink element (or bin) to remove

Returns :

TRUE if the sink was found and will be removed

Signal Details

The "tee-inserted" signal

void                user_function                      (RBPlayerGstTee *player,
                                                        GObject        *tee,
                                                        gpointer        user_data)      : Run Last / No Recursion

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

player :

the RBPlayerGstTee implementation

tee :

the element which has been inserted

user_data :

user data set when the signal handler was connected.

The "tee-pre-remove" signal

void                user_function                      (RBPlayerGstTee *player,
                                                        GObject        *tee,
                                                        gpointer        user_data)      : Run Last / No Recursion

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

player :

the RBPlayerGstTee implementation

tee :

the element which is about to be removed

user_data :

user data set when the signal handler was connected.