mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
44 lines
1,021 B
Text
44 lines
1,021 B
Text
|
typedef gpointer GstCapsFactoryEntry;
|
||
|
typedef GstCapsFactoryEntry GstCapsFactory[];
|
||
|
typedef GstCapsFactory *GstCapsListFactory[];
|
||
|
|
||
|
typedef gpointer GstPadFactoryEntry;
|
||
|
typedef GstPadFactoryEntry GstPadFactory[];
|
||
|
typedef GstPadFactory *GstPadListFactory[];
|
||
|
|
||
|
#define GST_PADFACTORY_SRC GINT_TO_POINTER (GST_PAD_SRC)
|
||
|
#define GST_PADFACTORY_ALWAYS GINT_TO_POINTER (GST_PAD_ALWAYS)
|
||
|
|
||
|
typedef struct GstPadTemplate {
|
||
|
gchar *name_template;
|
||
|
gint direction;
|
||
|
gint presence;
|
||
|
GList *caps;
|
||
|
};
|
||
|
|
||
|
GstPadFactory mpg123_src_padfactory = {
|
||
|
"src"
|
||
|
GST_PADFACTORY_SRC,
|
||
|
GST_PADFACTORY_ALWAYS,
|
||
|
|
||
|
"audio/raw"
|
||
|
"samplerate", GST_PROPS_INT (44100),
|
||
|
. . .
|
||
|
NULL
|
||
|
};
|
||
|
|
||
|
static GstPadTemplate *srcpadtemplate;
|
||
|
|
||
|
mpg123_new(GstMpg123 *mpg123) {
|
||
|
mpg123->srcpad = gst_pad_new_template("src", srcpadtemplate);
|
||
|
. . .
|
||
|
}
|
||
|
|
||
|
plugin_init() {
|
||
|
GstElementFactory *factory;
|
||
|
|
||
|
factory = gst_elementfactory_new("mpg123",. . .);
|
||
|
srcpadtemplate = gst_padfactory_new(mpg123_src_padfactory);
|
||
|
get_elementfactory_add_padtemplate (srcpadtemplate);
|
||
|
}
|