![]() |
![]() |
![]() |
GStreamer Entrans 0.10 Reference Manual | |
---|---|---|---|---|
Top | Description | Object Hierarchy |
#include <gstmultiproctrans.h> GstMultiProcTrans; GstMultiProcTransClass; #define GST_MULTI_PROC_TRANS_SINK_NAME #define GST_MULTI_PROC_TRANS_SRC_NAME #define GST_MULTI_PROC_TRANS_SINK_PAD (obj) #define GST_MULTI_PROC_TRANS_SRC_PAD (obj)
GObject +----GstObject +----GstElement +----GstMultiProcTrans +----GstMultiProcPipe
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.
typedef struct _GstMultiProcTrans GstMultiProcTrans;
The opaque GstMultiProcTrans data structure.
typedef struct { GstElementClass parent_class; /* virtual methods for subclasses */ gboolean (*set_caps) (GstMultiProcTrans *trans, GstCaps *incaps, GstCaps **outcaps); } GstMultiProcTransClass;
#define GST_MULTI_PROC_TRANS_SINK_NAME "sink"
the name of the templates for the sink pad
#define GST_MULTI_PROC_TRANS_SRC_NAME "src"
the name of the templates for the source 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.
|
process transform instance |