mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 13:18:52 +00:00
46 lines
1 KiB
Text
46 lines
1 KiB
Text
OUTDATED
|
|
--------
|
|
|
|
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);
|
|
}
|