GstMultiProcTrans

GstMultiProcTrans — Base class for multiple process transformers

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstMultiProcTrans
                    ╰── GstMultiProcPipe

Includes

#include <gstmultiproctrans.h>

Description

This is a base class for elements that process and/or transform data by having another program/process do the actual processing for each buffer. That is, for each incoming individual piece of data, a new process is spawned and presented the data on its stdin, and the element will send out what it receives from the process' stdout as a single buffer. It provides for most of the details such as setting up sink and src pads, state changes, etc. An inheriting element need only concern about providing for the proper pad templates and (optionally but recommended) implementing a custom set_caps, which is called during (each) caps negotiation. This typically gives the inheritor a chance to provide the right arguments to the program for the circumstances and specifics of data at hand. Also note that these arguments for the program may vary across each invocation.

Functions

GST_MULTI_PROC_TRANS_SINK_PAD()

#define GST_MULTI_PROC_TRANS_SINK_PAD(obj)        (GST_MULTI_PROC_TRANS_CAST (obj)->sinkpad)

Gives the pointer to the sink GstPad object of the element.

Parameters

obj

process transform instance

 

GST_MULTI_PROC_TRANS_SRC_PAD()

#define GST_MULTI_PROC_TRANS_SRC_PAD(obj)         (GST_MULTI_PROC_TRANS_CAST (obj)->srcpad)

Gives the pointer to the source GstPad object of the element.

Parameters

obj

process transform instance

 

Types and Values

struct GstMultiProcTrans

struct GstMultiProcTrans;

The opaque GstMultiProcTrans data structure.

Members


struct GstMultiProcTransClass

struct GstMultiProcTransClass {
  GstElementClass parent_class;

  /* virtual methods for subclasses */

  gboolean      (*set_caps)     (GstMultiProcTrans *trans, GstCaps *incaps,
                                 GstCaps **outcaps);
};

Members

GstElementClass parent_class;

   

set_caps ()

Optional. Notify the subclass of new incaps, we should try to set outcaps on source pad upon return. Note that incaps can be NULL, and *outcaps can also be left NULL in which case no caps are set.

 

GST_MULTI_PROC_TRANS_SINK_NAME

#define GST_MULTI_PROC_TRANS_SINK_NAME    "sink"

the name of the templates for the sink pad


GST_MULTI_PROC_TRANS_SRC_NAME

#define GST_MULTI_PROC_TRANS_SRC_NAME     "src"

the name of the templates for the source pad