RBPlayerGstFilter

RBPlayerGstFilter — player interface for inserting filter elements

Types and Values

Object Hierarchy

    GInterface
    ╰── RBPlayerGstFilter

Includes

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

Description

This interface allows a caller to add filter elements to the GStreamer playback pipeline.

Functions

rb_player_gst_filter_add_filter ()

gboolean
rb_player_gst_filter_add_filter (RBPlayerGstFilter *player,
                                 GstElement *element);

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

Parameters

player

RBPlayerGstFilter implementation

 

element

new filter element (or bin) to add

 

Returns

TRUE if the filter will be added


rb_player_gst_filter_remove_filter ()

gboolean
rb_player_gst_filter_remove_filter (RBPlayerGstFilter *player,
                                    GstElement *element);

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

Parameters

player

RBPlayerGstFilter implementation

 

element

the filter element (or bin) to remove

 

Returns

TRUE if the filter was found and will be removed

Types and Values

RBPlayerGstFilter

typedef struct _RBPlayerGstFilter RBPlayerGstFilter;

struct RBPlayerGstFilterIface

struct RBPlayerGstFilterIface {
	GTypeInterface g_iface;

	/* virtual functions */
	gboolean (*add_filter)		(RBPlayerGstFilter *player, GstElement *element);
	gboolean (*remove_filter) (RBPlayerGstFilter *player, GstElement *element);

	/* signals */
	void		(*filter_inserted) (RBPlayerGstFilter *player, GstElement *filter);
	void		(*filter_pre_remove) (RBPlayerGstFilter *player, GstElement *filter);
};

Signal Details

The “filter-inserted” signal

void
user_function (RBPlayerGstFilter *player,
               GObject           *filter,
               gpointer           user_data)

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

Parameters

player

the RBPlayerGstFilter implementation

 

filter

the element which has been inserted

 

user_data

user data set when the signal handler was connected.

 

Flags: No Recursion


The “filter-pre-remove” signal

void
user_function (RBPlayerGstFilter *player,
               GObject           *filter,
               gpointer           user_data)

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

Parameters

player

the RBPlayerGstFilter implementation

 

filter

the element which is about to be removed

 

user_data

user data set when the signal handler was connected.

 

Flags: No Recursion