HTML_DIR=$(datadir)/gstreamer/html
+GST_LIBS += ../../gst/elements/libgstelements.la
+
+
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
tmpl_sources = \
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers=""
scanobj: $(srcdir)/$(DOC_MODULE).types
- -CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" gtkdoc-scanobj --module=$(DOC_MODULE)
+ rm gstreamer-scan.o; ln -s gstreamer-scan.lo gstreamer-scan.o
+ env CC="$(LIBTOOL) $(CC)" CFLAGS="$(GST_CFLAGS) $(GLIB_CFLAGS) $(XML_CFLAGS) -I../../" LDFLAGS="$(GST_LIBS)"\
+ gtkdoc-scanobj --module=$(DOC_MODULE)
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
tmpl: scanobj gstreamer-decl.txt
<!entity GstPipeline SYSTEM "sgml/gstpipeline.sgml">
<!entity GstAutoplug SYSTEM "sgml/gstautoplug.sgml">
<!entity GstPlugin SYSTEM "sgml/gstplugin.sgml">
-<!entity GstTee SYSTEM "sgml/gsttee.sgml">
<!entity GstThread SYSTEM "sgml/gstthread.sgml">
<!entity GstTrace SYSTEM "sgml/gsttrace.sgml">
<!entity GstType SYSTEM "sgml/gsttype.sgml">
<!entity GstProps SYSTEM "sgml/gstprops.sgml">
<!entity GstUtils SYSTEM "sgml/gstutils.sgml">
<!entity GstXml SYSTEM "sgml/gstxml.sgml">
+<!entity GstQueue SYSTEM "sgml/gstqueue.sgml">
+<!entity GstTypeFind SYSTEM "sgml/gsttypefind.sgml">
<!entity cothreads SYSTEM "sgml/cothreads.sgml">
<!entity GstFakeSrc SYSTEM "sgml/gstfakesrc.sgml">
<!entity GstFdSink SYSTEM "sgml/gstfdsink.sgml">
<!entity GstIdentity SYSTEM "sgml/gstidentity.sgml">
<!entity GstPipefilter SYSTEM "sgml/gstpipefilter.sgml">
-<!entity GstQueue SYSTEM "sgml/gstqueue.sgml">
-<!entity GstTypeFind SYSTEM "sgml/gsttypefind.sgml">
+<!entity GstTee SYSTEM "sgml/gsttee.sgml">
<!entity audioraw SYSTEM "sgml/audioraw.sgml">
<!entity spectrum SYSTEM "sgml/spectrum.sgml">
&GstPad;
&GstPlugin;
&GstThread;
- &GstTee;
+ &GstQueue;
+ &GstTypeFind;
&GstType;
&GstCaps;
&GstPipefilter;
&GstIdentity;
- &GstQueue;
- &GstTypeFind;
+ &GstTee;
</chapter>
<chapter id="metatdata-types">
cothread_set_data
cothread_get_data
<SUBSECTION Standard>
-SETUP_STACK
-GET_SP
-JUMP
-SET_SP
</SECTION>
<SECTION>
<SECTION>
<FILE>gstinfo</FILE>
-<TITLE>gstinfo</TITLE>
+<TITLE>GstInfo</TITLE>
gst_get_category_name
gst_info_get_categories
gst_info_set_categories
GST_IS_BIN_CLASS
gst_bin_details
gst_bin_use_cothreads
+gst_bin_remove_eos_provider
+gst_bin_add_eos_provider
_GstBinChain
</SECTION>
<SECTION>
+<FILE>gstparse</FILE>
+<TITLE>GstParse</TITLE>
+gst_parse_launch
+</SECTION>
+
+<SECTION>
+<FILE>gstarch</FILE>
+GST_ARCH_CALL
+GST_ARCH_SET_SP
+GST_ARCH_SETUP_STACK
+</SECTION>
+
+<SECTION>
<FILE>gstbuffer</FILE>
<TITLE>GstBuffer</TITLE>
GST_BUFFER_FLAGS
gst_element_get_pad
gst_element_get_pad_list
gst_element_get_padtemplate_list
+gst_element_get_padtemplate_by_name
gst_element_add_ghost_pad
gst_element_remove_ghost_pad
+gst_element_request_pad
+gst_element_request_pad_by_name
gst_element_connect
gst_element_disconnect
gst_element_set_state
GST_IS_ELEMENT
GST_IS_ELEMENT_CLASS
gst_element_get_type
+gst_element_announce_eos
</SECTION>
<SECTION>
<SECTION>
<FILE>gstpad</FILE>
<TITLE>GstPad</TITLE>
+GST_PAD_NAME
+GST_PAD_ELEMENT_PRIVATE
+GST_PAD_PARENT
+GST_PAD_PADTEMPLATE
+GST_PAD_REALIZE
+GST_PAD_DIRECTION
+GST_PAD_CAPS
+GST_PAD_PEER
GST_PAD_CONNECTED
GST_PAD_CAN_PULL
+
GstPad
GstPadChainFunction
GstPadGetFunction
gst_pad_check_compatibility
gst_pad_set_name
gst_pad_get_name
+gst_pad_set_element_private
+gst_pad_get_element_private
gst_pad_set_parent
gst_pad_get_parent
gst_pad_add_ghost_parent
gst_pad_save_thyself
gst_pad_load_and_connect
+GstRealPad
+GST_RPAD_DIRECTION
+GST_RPAD_CAPS
+GST_RPAD_PEER
+GST_RPAD_BUFPEN
+GST_RPAD_CHAINFUNC
+GST_RPAD_GETFUNC
+GST_RPAD_GETREGIONFUNC
+GST_RPAD_PUSHFUNC
+GST_RPAD_PULLFUNC
+GST_RPAD_PULLREGIONFUNC
+GST_RPAD_QOSFUNC
+GST_RPAD_EOSFUNC
+
+GST_GPAD_REALPAD
+GstGhostPad
+
GstPadFactoryEntry
GstPadFactory[]
GST_PAD_FACTORY_SOMETIMES
GST_PAD_FACTORY_ALWAYS
+GST_PAD_FACTORY_REQUEST
GST_PAD_FACTORY_SINK
GST_PAD_FACTORY_SRC
GST_PAD_FACTORY_CAPS
-
GstPadPresence
GstPadTemplate
gst_padtemplate_new
GST_IS_PAD_CLASS
gst_pad_get_type
+GstRealPadClass
+GST_TYPE_REAL_PAD
+GST_REAL_PAD
+GST_REAL_PAD_CLASS
+GST_IS_REAL_PAD
+GST_IS_REAL_PAD_CLASS
+gst_real_pad_get_type
+
+GstGhostPadClass
+GST_TYPE_GHOST_PAD
+GST_GHOST_PAD
+GST_GHOST_PAD_CLASS
+GST_IS_GHOST_PAD
+GST_IS_GHOST_PAD_CLASS
+gst_ghost_pad_get_type
+
GstPadTemplateClass
GST_TYPE_PADTEMPLATE
GST_PADTEMPLATE
<SECTION>
<FILE>gsttee</FILE>
<TITLE>GstTee</TITLE>
-GstTee
-gst_tee_new
-gst_tee_chain
-gst_tee_new_pad
<SUBSECTION Standard>
+gst_tee_factory_init
+GstTee
gst_tee_get_type
+gst_tee_details
GstTeeClass
GST_TYPE_TEE
GST_TEE
GST_TYPE_XML
GST_XML_CLASS
GstXMLClass
+xmlChildrenNode
+xmlRootNode
</SECTION>
<SECTION>
--- /dev/null
+<!-- ##### SECTION Title ##### -->
+gstarch
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_ARCH_CALL ##### -->
+<para>
+
+</para>
+
+@target:
+
+
+<!-- ##### MACRO GST_ARCH_SET_SP ##### -->
+<para>
+
+</para>
+
+@stackpointer:
+
+
+<!-- ##### MACRO GST_ARCH_SETUP_STACK ##### -->
+<para>
+
+</para>
+
+@sp:
+
+
@Returns:
+<!-- ##### FUNCTION gst_element_get_padtemplate_by_name ##### -->
+<para>
+
+</para>
+
+@element:
+@name:
+@Returns:
+
+
<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
<para>
@pad:
+<!-- ##### FUNCTION gst_element_request_pad ##### -->
+<para>
+
+</para>
+
+@element:
+@templ:
+@Returns:
+<!-- # Unused Parameters # -->
+@temp:
+
+
+<!-- ##### FUNCTION gst_element_request_pad_by_name ##### -->
+<para>
+
+</para>
+
+@element:
+@name:
+@Returns:
+
+
<!-- ##### FUNCTION gst_element_connect ##### -->
<para>
</para>
@elementfactory:
-@temp:
+@templ:
<!-- # Unused Parameters # -->
+@temp:
@pad:
</para>
-<!-- ##### ARG GstFakeSrc:patern ##### -->
+<!-- ##### ARG GstFakeSrc:pattern ##### -->
<para>
</para>
</para>
+<!-- ##### ARG GstIdentity:sleep_time ##### -->
+<para>
+
+</para>
+
</para>
+<!-- ##### MACRO GST_PAD_NAME ##### -->
+<para>
+Get the name of the pad.
+</para>
+
+@pad: the pad to query
+
+
+<!-- ##### MACRO GST_PAD_ELEMENT_PRIVATE ##### -->
+<para>
+Get the private data set by the element that owns the pad.
+</para>
+
+@pad: the pad to query
+
+
+<!-- ##### MACRO GST_PAD_PARENT ##### -->
+<para>
+Get the parent element of this pad.
+</para>
+
+@pad: the pad to query
+
+
+<!-- ##### MACRO GST_PAD_PADTEMPLATE ##### -->
+<para>
+Get the padtemplate that was used to create this pad. NULL if no padtemplate
+was used.
+</para>
+
+@pad: the pad to query
+
+
+<!-- ##### MACRO GST_PAD_REALIZE ##### -->
+<para>
+Return the real pad of this pad.
+</para>
+
+@pad: the pad to query
+
+
+<!-- ##### MACRO GST_PAD_DIRECTION ##### -->
+<para>
+Get the pad direction.
+</para>
+
+@pad: the pad to query
+
+
+<!-- ##### MACRO GST_PAD_CAPS ##### -->
+<para>
+Get the capabilities of a pad.
+</para>
+
+@pad: the pad to query
+
+
+<!-- ##### MACRO GST_PAD_PEER ##### -->
+<para>
+Get the peerpad of this pad.
+</para>
+
+@pad: the pad to query
+
+
<!-- ##### MACRO GST_PAD_CONNECTED ##### -->
<para>
Is this pad connected.
</para>
-@temp:
+@templ:
@name:
@Returns:
+<!-- # Unused Parameters # -->
+@temp:
<!-- ##### FUNCTION gst_pad_get_direction ##### -->
@Returns:
+<!-- ##### FUNCTION gst_pad_set_element_private ##### -->
+<para>
+
+</para>
+
+@pad:
+@priv:
+
+
+<!-- ##### FUNCTION gst_pad_get_element_private ##### -->
+<para>
+
+</para>
+
+@pad:
+@Returns:
+
+
<!-- ##### FUNCTION gst_pad_set_parent ##### -->
<para>
@elements:
+<!-- ##### STRUCT GstRealPad ##### -->
+<para>
+
+</para>
+
+@pad:
+@caps:
+@direction:
+@threadstate:
+@peer:
+@bufpen:
+@chainfunc:
+@getfunc:
+@getregionfunc:
+@qosfunc:
+@eosfunc:
+@pushfunc:
+@pullfunc:
+@pullregionfunc:
+@ghostparents:
+
+<!-- ##### MACRO GST_RPAD_DIRECTION ##### -->
+<para>
+Get the direction of the real pad.
+</para>
+
+@pad: the realpad to query.
+
+
+<!-- ##### MACRO GST_RPAD_CAPS ##### -->
+<para>
+Get the caps of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_PEER ##### -->
+<para>
+Get the peer element of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_BUFPEN ##### -->
+<para>
+Get the bufpen of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_CHAINFUNC ##### -->
+<para>
+Get the chain function of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_GETFUNC ##### -->
+<para>
+Get get getfunction of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_GETREGIONFUNC ##### -->
+<para>
+Get the getregion function of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_PUSHFUNC ##### -->
+<para>
+Get the pushfunction of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_PULLFUNC ##### -->
+<para>
+Get the pullfunction of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_PULLREGIONFUNC ##### -->
+<para>
+Get the pullregion function of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_QOSFUNC ##### -->
+<para>
+Get the QoS function of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_RPAD_EOSFUNC ##### -->
+<para>
+Get the EOS function of the real pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### MACRO GST_GPAD_REALPAD ##### -->
+<para>
+Get the real pad of this ghost pad.
+</para>
+
+@pad: the real pad to query.
+
+
+<!-- ##### STRUCT GstGhostPad ##### -->
+<para>
+
+</para>
+
+@pad:
+@realpad:
+
<!-- ##### TYPEDEF GstPadFactoryEntry ##### -->
<para>
Defines an entry for a padfactory.
+<!-- ##### MACRO GST_PAD_FACTORY_REQUEST ##### -->
+<para>
+Indicates that this pad will be available on request. Use
+this in the factory definition.
+</para>
+
+
+
<!-- ##### MACRO GST_PAD_FACTORY_SINK ##### -->
<para>
Indicates a sinkpad for the padfactory.
@GST_PAD_ALWAYS: the pad is always available
@GST_PAD_SOMETIMES: the pad will become available depending on the media stream
+@GST_PAD_REQUEST:
<!-- ##### STRUCT GstPadTemplate ##### -->
<para>
</para>
-@pad:
+@templ:
@parent:
@Returns:
+<!-- # Unused Parameters # -->
+@pad:
-<!-- ##### ARG GstPad:active ##### -->
-<para>
-Indicates this pad is active
-</para>
-
--- /dev/null
+<!-- ##### SECTION Title ##### -->
+GstParse
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gst_parse_launch ##### -->
+<para>
+
+</para>
+
+@cmdline:
+@parent:
+@Returns:
+
+
</para>
+<!-- ##### ARG GstQueue:timeout ##### -->
+<para>
+
+</para>
+
@name:
@Returns:
+<!-- ##### STRUCT GstTee ##### -->
+<para>
+
+</para>
+
+
<!-- ##### MACRO GST_ELEMENT_CLASS ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gst_tee_new_pad ##### -->
+<para>
+
+</para>
+
+@tee:
+@Returns:
+
<!-- ##### MACRO GST_TYPE_AUDIOSRC ##### -->
<para>
@audiosink:
+<!-- ##### FUNCTION gst_tee_new ##### -->
+<para>
+
+</para>
+
+@name:
+@Returns:
+
<!-- ##### MACRO GST_IS_OBJECT_CLASS ##### -->
<para>
+<!-- ##### ARG GstFakeSrc:patern ##### -->
+<para>
+
+</para>
+
+
<!-- ##### SECTION ./tmpl/gstgetbits.sgml:Long_Description ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gst_tee_chain ##### -->
+<para>
+
+</para>
+
+@pad:
+@buf:
+
<!-- ##### TYPEDEF GstPropsListFactory[] ##### -->
<para>
@pad:
@buf:
+<!-- ##### ARG GstPad:active ##### -->
+<para>
+Indicates this pad is active
+</para>
+
+
<!-- ##### MACRO GST_OBJECT_CLASS ##### -->
<para>
</para>
-<!-- ##### STRUCT GstTee ##### -->
+<!-- ##### ARG GstTee:num_pads ##### -->
<para>
</para>
-
-<!-- ##### FUNCTION gst_tee_new ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_tee_chain ##### -->
-<para>
-
-</para>
-
-@pad:
-@buf:
-
-
-<!-- ##### FUNCTION gst_tee_new_pad ##### -->
-<para>
-
-</para>
-
-@tee:
-@Returns:
-
-
#define CURRENT_STACK_FRAME ({ char __csf; &__csf; })
#endif /* CURRENT_STACK_FRAME */
-typedef struct _cothread_state cothread_state;
-typedef struct _cothread_context cothread_context;
+typedef struct _cothread_state cothread_state;
+typedef struct _cothread_context cothread_context;
typedef int (*cothread_func) (int argc,char **argv);
int flags;
void *sp;
- // is this needed any more?
+ /* is this needed any more? */
void *top_sp;
void *pc;
jmp_buf jmp;
cothread_context* cothread_init();
cothread_state* cothread_create (cothread_context *ctx);
-void cothread_setfunc (cothread_state *thread, cothread_func func,
+void cothread_setfunc (cothread_state *thread, cothread_func func,
int argc, char **argv);
int cothread_getcurrent (void);
-void cothread_switch (cothread_state *thread);
-void cothread_set_data (cothread_state *thread, gchar *key, gpointer data);
-gpointer cothread_get_data (cothread_state *thread, gchar *key);
+void cothread_switch (cothread_state *thread);
+void cothread_set_data (cothread_state *thread, gchar *key, gpointer data);
+gpointer cothread_get_data (cothread_state *thread, gchar *key);
cothread_state* cothread_main (cothread_context *ctx);
if (!strcmp (padtempl->name_template, name))
return padtempl;
-
+
padlist = g_list_next (padlist);
}
return NULL;
}
+/**
+ * gst_element_request_pad:
+ * @element: element to request a new pad from
+ * @templ: the padtemplate specifuing the pad to get.
+ *
+ * Request a new pad from the element. The template will
+ * be used to decide what type of pad to create. This function
+ * is typically used for elements with a padtemplate with presence
+ * GST_PAD_REQUEST.
+ *
+ * Returns: the new pad that was created.
+ */
GstPad*
-gst_element_request_pad (GstElement *element, GstPadTemplate *temp)
+gst_element_request_pad (GstElement *element, GstPadTemplate *templ)
{
GstPad *newpad = NULL;
GstElementClass *oclass;
g_return_val_if_fail (element != NULL, NULL);
g_return_val_if_fail (GST_IS_ELEMENT (element), NULL);
- g_return_val_if_fail (temp != NULL, NULL);
+ g_return_val_if_fail (templ != NULL, NULL);
/* call the state change function so it can set the state */
oclass = GST_ELEMENT_CLASS (GTK_OBJECT (element)->klass);
if (oclass->request_new_pad)
- newpad = (oclass->request_new_pad)(element, temp);
+ newpad = (oclass->request_new_pad)(element, templ);
- return newpad;
+ return newpad;
}
+/**
+ * gst_element_request_pad_by_name:
+ * @element: element to request a new pad from
+ * @name: the name of the padtemplate to use.
+ *
+ * Request a new pad from the element. The name argument will
+ * be used to decide what padtemplate to use. This function
+ * is typically used for elements with a padtemplate with presence
+ * GST_PAD_REQUEST.
+ *
+ * Returns: the new pad that was created.
+ */
GstPad*
gst_element_request_pad_by_name (GstElement *element, const gchar *name)
{
/* change the element state */
GstElementStateReturn (*change_state) (GstElement *element);
/* request a new pad */
- GstPad* (*request_new_pad) (GstElement *element, GstPadTemplate *temp);
+ GstPad* (*request_new_pad) (GstElement *element, GstPadTemplate *templ);
/* create or read XML representation of self */
xmlNodePtr (*save_thyself) (GstElement *element, xmlNodePtr parent);
guint16 numpadtemplates;
};
-GtkType gst_element_get_type (void);
+GtkType gst_element_get_type (void);
GstElement* gst_element_new (void);
-#define gst_element_destroy(element) gst_object_destroy (GST_OBJECT (element))
+#define gst_element_destroy(element) gst_object_destroy (GST_OBJECT (element))
-void gst_element_set_loop_function (GstElement *element,
- GstElementLoopFunction loop);
+void gst_element_set_loop_function (GstElement *element,
+ GstElementLoopFunction loop);
-void gst_element_set_name (GstElement *element, const gchar *name);
+void gst_element_set_name (GstElement *element, const gchar *name);
const gchar* gst_element_get_name (GstElement *element);
-void gst_element_set_manager (GstElement *element, GstElement *manager);
+void gst_element_set_manager (GstElement *element, GstElement *manager);
GstElement* gst_element_get_manager (GstElement *element);
-void gst_element_add_pad (GstElement *element, GstPad *pad);
+void gst_element_add_pad (GstElement *element, GstPad *pad);
GstPad* gst_element_get_pad (GstElement *element, const gchar *name);
GList* gst_element_get_pad_list (GstElement *element);
GList* gst_element_get_padtemplate_list (GstElement *element);
GstPadTemplate* gst_element_get_padtemplate_by_name (GstElement *element, const guchar *name);
-void gst_element_add_ghost_pad (GstElement *element, GstPad *pad);
+void gst_element_add_ghost_pad (GstElement *element, GstPad *pad);
void gst_element_remove_ghost_pad (GstElement *element, GstPad *pad);
-GstPad* gst_element_request_pad (GstElement *element, GstPadTemplate *temp);
+GstPad* gst_element_request_pad (GstElement *element, GstPadTemplate *templ);
GstPad* gst_element_request_pad_by_name (GstElement *element, const gchar *name);
-void gst_element_connect (GstElement *src, const gchar *srcpadname,
- GstElement *dest, const gchar *destpadname);
-void gst_element_disconnect (GstElement *src, const gchar *srcpadname,
- GstElement *dest, const gchar *destpadname);
+void gst_element_connect (GstElement *src, const gchar *srcpadname,
+ GstElement *dest, const gchar *destpadname);
+void gst_element_disconnect (GstElement *src, const gchar *srcpadname,
+ GstElement *dest, const gchar *destpadname);
void gst_element_announce_eos (GstElement *element, gboolean success);
void gst_element_signal_eos (GstElement *element);
/* called by the app to set the state of the element */
-gint gst_element_set_state (GstElement *element, GstElementState state);
+gint gst_element_set_state (GstElement *element, GstElementState state);
-void gst_element_error (GstElement *element, const gchar *error);
+void gst_element_error (GstElement *element, const gchar *error);
GstElementFactory* gst_element_get_factory (GstElement *element);
/* XML write and read */
-xmlNodePtr gst_element_save_thyself (GstElement *element, xmlNodePtr parent);
+xmlNodePtr gst_element_save_thyself (GstElement *element, xmlNodePtr parent);
GstElement* gst_element_load_thyself (xmlNodePtr parent, GHashTable *elements);
-/*
+/*
*
* factories stuff
*
**/
GstElementFactory* gst_elementfactory_new (const gchar *name,GtkType type,
- GstElementDetails *details);
+ GstElementDetails *details);
void gst_elementfactory_destroy (GstElementFactory *elementfactory);
GstElementFactory* gst_elementfactory_find (const gchar *name);
GList* gst_elementfactory_get_list (void);
void gst_elementfactory_add_padtemplate (GstElementFactory *elementfactory,
- GstPadTemplate *temp);
+ GstPadTemplate *templ);
gboolean gst_elementfactory_can_src_caps (GstElementFactory *factory,
GstCaps *caps);
/**
* gst_elementfactory_add_padtemplate :
* @elementfactory: factory to add the src id to
- * @temp: the padtemplate to add
+ * @templ: the padtemplate to add
*
- * Add the given padtemplate to this elementfactory.
+ * Add the given padtemplate to this elementfactory.
*/
-void
-gst_elementfactory_add_padtemplate (GstElementFactory *factory,
- GstPadTemplate *temp)
+void
+gst_elementfactory_add_padtemplate (GstElementFactory *factory,
+ GstPadTemplate *templ)
{
g_return_if_fail(factory != NULL);
- g_return_if_fail(temp != NULL);
+ g_return_if_fail(templ != NULL);
- factory->padtemplates = g_list_append (factory->padtemplates, temp);
+ factory->padtemplates = g_list_append (factory->padtemplates, templ);
factory->numpadtemplates++;
}
/**
* gst_pad_new_from_template:
- * @temp: the pad template to use
+ * @templ: the pad template to use
* @name: the name of the element
*
* Create a new pad with given name from the given template.
/**
* gst_padtemplate_save_thyself:
- * @pad: the padtemplate to save
+ * @templ: the padtemplate to save
* @parent: the parent XML tree
*
* Saves the padtemplate into XML.
* Returns: the new XML tree
*/
xmlNodePtr
-gst_padtemplate_save_thyself (GstPadTemplate *pad, xmlNodePtr parent)
+gst_padtemplate_save_thyself (GstPadTemplate *templ, xmlNodePtr parent)
{
xmlNodePtr subtree;
GList *caps;
guchar *presence;
- xmlNewChild(parent,NULL,"nametemplate", pad->name_template);
- xmlNewChild(parent,NULL,"direction", (pad->direction == GST_PAD_SINK? "sink":"src"));
+ xmlNewChild(parent,NULL,"nametemplate", templ->name_template);
+ xmlNewChild(parent,NULL,"direction", (templ->direction == GST_PAD_SINK? "sink":"src"));
- switch (pad->presence) {
+ switch (templ->presence) {
case GST_PAD_ALWAYS:
presence = "always";
break;
}
xmlNewChild(parent,NULL,"presence", presence);
- caps = pad->caps;
+ caps = templ->caps;
while (caps) {
GstCaps *cap = (GstCaps *)caps->data;
-
- subtree = xmlNewChild(parent,NULL,"caps", NULL);
+
+ subtree = xmlNewChild (parent, NULL, "caps", NULL);
gst_caps_save_thyself (cap, subtree);
caps = g_list_next (caps);
*/
+/**
+ * gst_pad_set_element_private:
+ * @pad: the pad to set the private data to
+ * @priv: The private data to attach to the pad
+ *
+ * Set the given private data pointer to the pad. This
+ * function can only be used by the element that own the
+ * pad.
+ */
void
gst_pad_set_element_private (GstPad *pad, gpointer priv)
{
pad->element_private = priv;
}
+/**
+ * gst_pad_get_element_private:
+ * @pad: the pad to get the private data of
+ *
+ * Get the private data of a pad. The private data can
+ * only be set by the parent element of this pad.
+ *
+ * Returns: a pointer to the private data.
+ */
gpointer
gst_pad_get_element_private (GstPad *pad)
{
GstObjectClass parent_class;
/* signal callbacks */
- void (*pad_created) (GstPadTemplate *temp, GstPad *pad);
+ void (*pad_created) (GstPadTemplate *templ, GstPad *pad);
};
GstPad* gst_pad_new (gchar *name, GstPadDirection direction);
#define gst_pad_destroy(pad) gst_object_destroy (GST_OBJECT (pad))
-GstPad* gst_pad_new_from_template (GstPadTemplate *temp, gchar *name);
+GstPad* gst_pad_new_from_template (GstPadTemplate *templ, gchar *name);
GstPadDirection gst_pad_get_direction (GstPad *pad);
GstPadDirection direction, GstPadPresence presence,
GList *caps);
-xmlNodePtr gst_padtemplate_save_thyself (GstPadTemplate *pad, xmlNodePtr parent);
+xmlNodePtr gst_padtemplate_save_thyself (GstPadTemplate *templ, xmlNodePtr parent);
GstPadTemplate* gst_padtemplate_load_thyself (xmlNodePtr parent);
#ifdef __cplusplus
// connect to audio pad
//if (0) {
if (strncmp(gst_pad_get_name(pad), "audio_", 6) == 0) {
- gst_plugin_load("mp3parse");
- gst_plugin_load("mpg123");
// construct internal pipeline elements
parse_audio = gst_elementfactory_make("mp3parse","parse_audio");
g_return_if_fail(parse_audio != NULL);
} else if (strncmp(gst_pad_get_name(pad), "video_", 6) == 0) {
//} else if (0) {
- gst_plugin_load("mp1videoparse");
- gst_plugin_load(VIDEO_DECODER);
- gst_plugin_load("videoscale");
- gst_plugin_load("videosink");
// construct internal pipeline elements
parse_video = gst_elementfactory_make("mp1videoparse","parse_video");
g_return_if_fail(parse_video != NULL);
g_return_if_fail(video_thread != NULL);
gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(parse_video));
gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(decode_video));
- gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(videoscale));
+ //gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(videoscale));
gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(show));
// set up pad connections
g_thread_init(NULL);
gst_init(&argc,&argv);
gnome_init("MPEG1 Video player","0.0.1",argc,argv);
- gst_plugin_load("mpeg1parse");
pipeline = gst_pipeline_new("pipeline");
g_return_val_if_fail(pipeline != NULL, -1);
};
static GstPropsFactory mpeg2dec_src_props = {
- "fourcc", GST_PROPS_LIST (
- GST_PROPS_FOURCC ('Y','V','1','2'),
- GST_PROPS_FOURCC_INT (0x56595559)
+ "fourcc", GST_PROPS_LIST (
+ GST_PROPS_FOURCC ('Y','V','1','2'),
+ GST_PROPS_FOURCC_INT (0x56595559)
),
"width", GST_PROPS_INT_RANGE (16, 4096),
"height", GST_PROPS_INT_RANGE (16, 4096),
NULL
};
-static GstProps *sinkprops = NULL,
+static GstProps *sinkprops = NULL,
*rawprops = NULL,
*testprops = NULL;
-int main(int argc,char *argv[])
+int main(int argc,char *argv[])
{
xmlDocPtr doc;
xmlNodePtr parent;
i=argc;
- testprops = gst_props_new ("layer", GST_PROPS_INT (i),
+ testprops = gst_props_new ("layer", GST_PROPS_INT (i),
"bitrate", GST_PROPS_INT_RANGE (i*300, i*10000),
NULL);
if (i==3) {
testprops = gst_props_merge (testprops,
- gst_props_new ("framed", GST_PROPS_BOOLEAN (TRUE),
- "mpegtest", GST_PROPS_BOOLEAN (FALSE),
- "hello", GST_PROPS_LIST (
+ gst_props_new ("framed", GST_PROPS_BOOLEAN (TRUE),
+ "mpegtest", GST_PROPS_BOOLEAN (FALSE),
+ "hello", GST_PROPS_LIST (
GST_PROPS_FOURCC_INT (0X5555),
GST_PROPS_FOURCC_INT (0X6666)
),
#include <gst/gst.h>
-int
-main(int argc, char *argv[])
+int
+main(int argc, char *argv[])
{
GstElement *element, *mp3parse;
GstPadTemplate *templ;
gst_padtemplate_save_thyself (pad->padtemplate, parent);
xmlDocDump(stdout, doc);
-
+
return 0;
}