API docs updates

Original commit message from CVS:
API docs updates
This commit is contained in:
Wim Taymans 2001-01-19 22:15:21 +00:00
parent 74f8050844
commit 9b3f1277ce
21 changed files with 573 additions and 126 deletions

View file

@ -13,6 +13,9 @@ EXTRA_DIST = gstreamer.types.in gstreamer.hierarchy $(DOC_MODULE)-sections.txt $
HTML_DIR=$(datadir)/gstreamer/html
GST_LIBS += ../../gst/elements/libgstelements.la
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
tmpl_sources = \
@ -85,7 +88,9 @@ gstreamer-decl.txt:
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

View file

@ -15,7 +15,6 @@
<!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">
@ -23,6 +22,8 @@
<!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">
@ -37,8 +38,7 @@
<!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">
@ -72,7 +72,8 @@ with some more specialized elements.</para>
&GstPad;
&GstPlugin;
&GstThread;
&GstTee;
&GstQueue;
&GstTypeFind;
&GstType;
&GstCaps;
@ -136,9 +137,8 @@ with some more specialized elements.</para>
&GstPipefilter;
&GstIdentity;
&GstQueue;
&GstTypeFind;
&GstTee;
</chapter>
<chapter id="metatdata-types">

View file

@ -19,10 +19,6 @@ cothread_main
cothread_set_data
cothread_get_data
<SUBSECTION Standard>
SETUP_STACK
GET_SP
JUMP
SET_SP
</SECTION>
<SECTION>
@ -36,7 +32,7 @@ gst_main_quit
<SECTION>
<FILE>gstinfo</FILE>
<TITLE>gstinfo</TITLE>
<TITLE>GstInfo</TITLE>
gst_get_category_name
gst_info_get_categories
gst_info_set_categories
@ -109,9 +105,24 @@ GST_IS_BIN
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>
@ -193,8 +204,11 @@ gst_element_add_pad
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
@ -224,6 +238,7 @@ GST_ELEMENT_CLASS
GST_IS_ELEMENT
GST_IS_ELEMENT_CLASS
gst_element_get_type
gst_element_announce_eos
</SECTION>
<SECTION>
@ -298,8 +313,17 @@ GST_IS_OBJECT_CLASS
<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
@ -328,6 +352,8 @@ gst_pad_get_caps_by_name
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
@ -348,15 +374,32 @@ gst_pad_eos
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
@ -373,6 +416,22 @@ GST_IS_PAD
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
@ -456,12 +515,11 @@ gst_plugin_save_thyself
<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
@ -609,6 +667,8 @@ GST_IS_XML_CLASS
GST_TYPE_XML
GST_XML_CLASS
GstXMLClass
xmlChildrenNode
xmlRootNode
</SECTION>
<SECTION>

View file

@ -0,0 +1,40 @@
<!-- ##### 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:

View file

@ -289,6 +289,16 @@ circumstances.
@Returns:
<!-- ##### FUNCTION gst_element_get_padtemplate_by_name ##### -->
<para>
</para>
@element:
@name:
@Returns:
<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
<para>
@ -307,6 +317,28 @@ circumstances.
@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>
@ -410,8 +442,9 @@ circumstances.
</para>
@elementfactory:
@temp:
@templ:
<!-- # Unused Parameters # -->
@temp:
@pad:

View file

@ -36,7 +36,7 @@ The <classname>GstFakeSrc</classname> generates empty buffers. (fakesrc)
</para>
<!-- ##### ARG GstFakeSrc:patern ##### -->
<!-- ##### ARG GstFakeSrc:pattern ##### -->
<para>
</para>

View file

@ -19,3 +19,8 @@ Pass data without modification.
</para>
<!-- ##### ARG GstIdentity:sleep_time ##### -->
<para>
</para>

View file

@ -16,6 +16,71 @@ connections.
</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.
@ -156,9 +221,11 @@ Destroy the pad.
</para>
@temp:
@templ:
@name:
@Returns:
<!-- # Unused Parameters # -->
@temp:
<!-- ##### FUNCTION gst_pad_get_direction ##### -->
@ -271,6 +338,24 @@ Destroy the pad.
@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>
@ -447,6 +532,139 @@ Destroy the pad.
@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.
@ -475,6 +693,14 @@ Use this in the factory definition.
<!-- ##### 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.
@ -504,6 +730,7 @@ Indicates when this pad will become available.
@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>
@ -551,13 +778,10 @@ Indicates when this pad will become available.
</para>
@pad:
@templ:
@parent:
@Returns:
<!-- # Unused Parameters # -->
@pad:
<!-- ##### ARG GstPad:active ##### -->
<para>
Indicates this pad is active
</para>

View file

@ -0,0 +1,26 @@
<!-- ##### 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:

View file

@ -37,3 +37,8 @@ blocks.
</para>
<!-- ##### ARG GstQueue:timeout ##### -->
<para>
</para>

View file

@ -758,6 +758,12 @@ GstGetbits
@name:
@Returns:
<!-- ##### STRUCT GstTee ##### -->
<para>
</para>
<!-- ##### MACRO GST_ELEMENT_CLASS ##### -->
<para>
@ -908,6 +914,14 @@ This macro returns the entire set of flags for the object.
@Returns:
<!-- ##### FUNCTION gst_tee_new_pad ##### -->
<para>
</para>
@tee:
@Returns:
<!-- ##### MACRO GST_TYPE_AUDIOSRC ##### -->
<para>
@ -1221,6 +1235,14 @@ This macro usets the given flags.
@audiosink:
<!-- ##### FUNCTION gst_tee_new ##### -->
<para>
</para>
@name:
@Returns:
<!-- ##### MACRO GST_IS_OBJECT_CLASS ##### -->
<para>
@ -1553,6 +1575,12 @@ Query the element for the current mime type
<!-- ##### ARG GstFakeSrc:patern ##### -->
<para>
</para>
<!-- ##### SECTION ./tmpl/gstgetbits.sgml:Long_Description ##### -->
<para>
@ -1752,6 +1780,14 @@ Flags for the GstSrc element
@Returns:
<!-- ##### FUNCTION gst_tee_chain ##### -->
<para>
</para>
@pad:
@buf:
<!-- ##### TYPEDEF GstPropsListFactory[] ##### -->
<para>
@ -1794,6 +1830,12 @@ Flags for the GstSrc element
@pad:
@buf:
<!-- ##### ARG GstPad:active ##### -->
<para>
Indicates this pad is active
</para>
<!-- ##### MACRO GST_OBJECT_CLASS ##### -->
<para>

View file

@ -14,36 +14,8 @@ A tee can be used to split out the filter graph.
</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:

View file

@ -34,8 +34,8 @@
#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);
@ -51,7 +51,7 @@ struct _cothread_state {
int flags;
void *sp;
// is this needed any more?
/* is this needed any more? */
void *top_sp;
void *pc;
jmp_buf jmp;
@ -66,12 +66,12 @@ struct _cothread_context {
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);

View file

@ -329,31 +329,55 @@ gst_element_get_padtemplate_by_name (GstElement *element, const guchar *name)
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)
{

View file

@ -160,7 +160,7 @@ struct _GstElementClass {
/* 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);
@ -186,65 +186,65 @@ struct _GstElementFactory {
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);

View file

@ -204,18 +204,18 @@ gst_elementfactory_make (const gchar *factoryname, const gchar *name)
/**
* 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++;
}

View file

@ -234,7 +234,7 @@ gst_pad_new (gchar *name,
/**
* 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.
@ -1023,7 +1023,7 @@ gst_padtemplate_create (gchar *name_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.
@ -1031,16 +1031,16 @@ gst_padtemplate_create (gchar *name_template,
* 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;
@ -1056,11 +1056,11 @@ gst_padtemplate_save_thyself (GstPadTemplate *pad, xmlNodePtr parent)
}
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);
@ -1207,12 +1207,30 @@ gst_pad_select(GstPad *nextpad, ...) {
*/
/**
* 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)
{

View file

@ -213,7 +213,7 @@ struct _GstPadTemplateClass {
GstObjectClass parent_class;
/* signal callbacks */
void (*pad_created) (GstPadTemplate *temp, GstPad *pad);
void (*pad_created) (GstPadTemplate *templ, GstPad *pad);
};
@ -237,7 +237,7 @@ GtkType gst_ghost_pad_get_type (void);
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);
@ -309,7 +309,7 @@ GstPadTemplate* gst_padtemplate_create (gchar *name_template,
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

View file

@ -26,8 +26,6 @@ void new_pad_created(GstElement *parse,GstPad *pad,GstElement *pipeline) {
// 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);
@ -68,10 +66,6 @@ void new_pad_created(GstElement *parse,GstPad *pad,GstElement *pipeline) {
} 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);
@ -96,7 +90,7 @@ void new_pad_created(GstElement *parse,GstPad *pad,GstElement *pipeline) {
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
@ -137,7 +131,6 @@ int main(int argc,char *argv[]) {
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);

View file

@ -9,20 +9,20 @@ static GstPropsFactory mpeg2dec_sink_props = {
};
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;
@ -43,14 +43,14 @@ int main(int argc,char *argv[])
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)
),

View file

@ -1,7 +1,7 @@
#include <gst/gst.h>
int
main(int argc, char *argv[])
int
main(int argc, char *argv[])
{
GstElement *element, *mp3parse;
GstPadTemplate *templ;
@ -31,6 +31,6 @@ main(int argc, char *argv[])
gst_padtemplate_save_thyself (pad->padtemplate, parent);
xmlDocDump(stdout, doc);
return 0;
}