docs/gst/gstreamer-sections.txt: made some defines private

Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
made some defines private
* docs/gst/tmpl/gstconfig.sgml:
* docs/gst/tmpl/gstqueue.sgml:
* docs/gst/tmpl/gsttaglist.sgml:
* docs/gst/tmpl/gsttypes.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/pwg/appendix-porting.xml:
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c:
* gst/base/gstbasesrc.h:
* gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
* gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
* gst/gstelement.c: (gst_element_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstqueue.c: (gst_queue_class_init):
* gst/gstxml.c: (gst_xml_class_init):
documented all undocumented signal inline
* libs/gst/controller/gst-controller.h:
added padding
This commit is contained in:
Stefan Kost 2005-08-15 16:57:34 +00:00
parent ce4f2bd8c0
commit cdc8ba9725
26 changed files with 314 additions and 136 deletions

View file

@ -1,3 +1,26 @@
2005-08-15 Stefan Kost <ensonic@users.sf.net>
* docs/gst/gstreamer-sections.txt:
made some defines private
* docs/gst/tmpl/gstconfig.sgml:
* docs/gst/tmpl/gstqueue.sgml:
* docs/gst/tmpl/gsttaglist.sgml:
* docs/gst/tmpl/gsttypes.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/pwg/appendix-porting.xml:
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c:
* gst/base/gstbasesrc.h:
* gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
* gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
* gst/gstelement.c: (gst_element_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstqueue.c: (gst_queue_class_init):
* gst/gstxml.c: (gst_xml_class_init):
documented all undocumented signal inline
* libs/gst/controller/gst-controller.h:
added padding
2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net> 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/appendix-porting.xml: * docs/pwg/appendix-porting.xml:

2
common

@ -1 +1 @@
Subproject commit 856fbbfa88621ab67df141ead8d4d3df32c5c176 Subproject commit 8ff526a316f9b576e727b8e32cba0a53cdec07a6

View file

@ -241,6 +241,7 @@ gst_clock_return_get_type
<SECTION> <SECTION>
<FILE>gstconfig</FILE> <FILE>gstconfig</FILE>
<SUBSECTION Private>
GST_DISABLE_LOADSAVE_REGISTRY GST_DISABLE_LOADSAVE_REGISTRY
GST_DISABLE_GST_DEBUG GST_DISABLE_GST_DEBUG
GST_DISABLE_LOADSAVE GST_DISABLE_LOADSAVE
@ -1443,13 +1444,13 @@ gst_type_find_factory_get_type
GstElementState GstElementState
GstElementStateReturn GstElementStateReturn
GstRank GstRank
GST_PADDING
GST_PADDING_INIT
<SUBSECTION Standard> <SUBSECTION Standard>
GST_TYPE_ELEMENT_STATE GST_TYPE_ELEMENT_STATE
GST_TYPE_ELEMENT_STATE_RETURN GST_TYPE_ELEMENT_STATE_RETURN
GST_TYPE_RANK GST_TYPE_RANK
<SUBSECTION Private> <SUBSECTION Private>
GST_PADDING
GST_PADDING_INIT
gst_element_state_get_type gst_element_state_get_type
gst_element_state_return_get_type gst_element_state_return_get_type
gst_rank_get_type gst_rank_get_type

View file

@ -40,102 +40,3 @@ If a subsystem is disabled in GStreamer, a value is defined in
<!-- ##### SECTION Stability_Level ##### --> <!-- ##### SECTION Stability_Level ##### -->
<!-- ##### MACRO GST_DISABLE_LOADSAVE_REGISTRY ##### -->
<para>
</para>
<!-- ##### MACRO GST_DISABLE_GST_DEBUG ##### -->
<para>
If this is defined, the <link linkend="gstreamer-gstinfo">debugging subsystem
</link> is disabled and debugging messages are not output.
</para>
<!-- ##### MACRO GST_DISABLE_LOADSAVE ##### -->
<para>
</para>
<!-- ##### MACRO GST_DISABLE_PARSE ##### -->
<para>
</para>
<!-- ##### MACRO GST_DISABLE_TRACE ##### -->
<para>
</para>
<!-- ##### MACRO GST_DISABLE_ALLOC_TRACE ##### -->
<para>
</para>
<!-- ##### MACRO GST_DISABLE_REGISTRY ##### -->
<para>
</para>
<!-- ##### MACRO GST_DISABLE_ENUMTYPES ##### -->
<para>
</para>
<!-- ##### MACRO GST_DISABLE_INDEX ##### -->
<para>
</para>
<!-- ##### MACRO GST_DISABLE_PLUGIN ##### -->
<para>
</para>
<!-- ##### MACRO GST_DISABLE_URI ##### -->
<para>
</para>
<!-- ##### MACRO GST_PTR_FORMAT ##### -->
<para>
</para>
<!-- ##### MACRO GST_EXPORT ##### -->
<para>
Under Windows it permits to export variables from a DLL, otherwise it just means extern.
</para>
<!-- ##### MACRO GST_PLUGIN_EXPORT ##### -->
<para>
Under Windows it permits to automatically export the plugin definition, otherwise it just defines as nothing.
</para>

View file

@ -36,10 +36,7 @@ The queue blocks by default.
<!-- ##### SIGNAL GstQueue::overrun ##### --> <!-- ##### SIGNAL GstQueue::overrun ##### -->
<para> <para>
Reports that the buffer became full (overrun).
A buffer is full if the total amount of data inside it (num-buffers, time,
size) is higher than the boundary values which can be set through the GObject
properties.
</para> </para>
@gstqueue: the object which received the signal. @gstqueue: the object which received the signal.
@ -53,10 +50,7 @@ properties.
<!-- ##### SIGNAL GstQueue::underrun ##### --> <!-- ##### SIGNAL GstQueue::underrun ##### -->
<para> <para>
Reports that the buffer became empty (underrun).
A buffer is empty if the total amount of data inside it (num-buffers, time,
size) is lower than the boundary values which can be set through the GObject
properties.
</para> </para>
@gstqueue: the object which received the signal. @gstqueue: the object which received the signal.

View file

@ -848,3 +848,10 @@ List of tags and values used to describe media metadata
<!-- ##### MACRO GST_TAG_LANGUAGE_CODE ##### -->
<para>
</para>

View file

@ -55,17 +55,3 @@ gst_plugin_feature_set_rank().
@GST_RANK_SECONDARY: likely to be chosen @GST_RANK_SECONDARY: likely to be chosen
@GST_RANK_PRIMARY: will be chosen first @GST_RANK_PRIMARY: will be chosen first
<!-- ##### MACRO GST_PADDING ##### -->
<para>
</para>
<!-- ##### MACRO GST_PADDING_INIT ##### -->
<para>
</para>

View file

@ -228,3 +228,51 @@ various utility functions
@num: @num:
<!-- ##### MACRO GST_ROUND_UP_2 ##### -->
<para>
</para>
@num:
<!-- ##### MACRO GST_ROUND_UP_4 ##### -->
<para>
</para>
@num:
<!-- ##### MACRO GST_ROUND_UP_8 ##### -->
<para>
</para>
@num:
<!-- ##### MACRO GST_ROUND_UP_16 ##### -->
<para>
</para>
@num:
<!-- ##### MACRO GST_ROUND_UP_32 ##### -->
<para>
</para>
@num:
<!-- ##### MACRO GST_ROUND_UP_64 ##### -->
<para>
</para>
@num:

View file

@ -153,6 +153,10 @@
changes (so similar to <function>_set_link_function ()</function> in changes (so similar to <function>_set_link_function ()</function> in
&GStreamer;-0.8). &GStreamer;-0.8).
</para> </para>
<para>
If the element is derived from a <classname>GstBase</classname> class,
then override the <function>set_caps ()</function>.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect1> </sect1>

View file

@ -31,11 +31,23 @@ G_BEGIN_DECLS
#define GST_TYPE_BASE_SINK (gst_base_sink_get_type()) #define GST_TYPE_BASE_SINK (gst_base_sink_get_type())
#define GST_BASE_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_SINK,GstBaseSink)) #define GST_BASE_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_SINK,GstBaseSink))
#define GST_BASE_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_SINK,GstBaseSinkClass)) #define GST_BASE_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_SINK,GstBaseSinkClass))
#define GST_BASE_SINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_SINK, GstBaseSinkClass)) #define GST_BASE_SINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_SINK, GstBaseSinkClass))
#define GST_IS_BASE_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_SINK)) #define GST_IS_BASE_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_SINK))
#define GST_IS_BASE_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_SINK)) #define GST_IS_BASE_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_SINK))
#define GST_BASE_SINK_CLOCK(obj) (GST_BASE_SINK (obj)->clock) /**
* GST_BASE_SINK_CLOCK:
* @obj: base sink instance
*
* Returns the pointer to the #GstClock object of the element.
*/
#define GST_BASE_SINK_CLOCK(obj) (GST_BASE_SINK (obj)->clock)
/**
* GST_BASE_SINK_PAD:
* @obj: base sink instance
*
* Returns the pointer to the #GstPad object of the element.
*/
#define GST_BASE_SINK_PAD(obj) (GST_BASE_SINK (obj)->sinkpad) #define GST_BASE_SINK_PAD(obj) (GST_BASE_SINK (obj)->sinkpad)
typedef struct _GstBaseSink GstBaseSink; typedef struct _GstBaseSink GstBaseSink;

View file

@ -27,6 +27,8 @@
* *
* This class is mostly useful for elements that do byte based * This class is mostly useful for elements that do byte based
* access to a random access resource, like files. * access to a random access resource, like files.
* If random access is not possible, the live-mode should be set
* to TRUE.
* *
* <itemizedlist> * <itemizedlist>
* <listitem><para>one sinkpad</para></listitem> * <listitem><para>one sinkpad</para></listitem>
@ -232,6 +234,14 @@ gst_base_src_finalize (GObject * object)
G_OBJECT_CLASS (parent_class)->finalize (object); G_OBJECT_CLASS (parent_class)->finalize (object);
} }
/**
* gst_base_src_set_live:
* @src: base source instance
* @live: new live-mode
*
* If the element listens to a live source, the @livemode should
* be set to %TRUE. This declares that this source can't seek.
*/
void void
gst_base_src_set_live (GstBaseSrc * src, gboolean live) gst_base_src_set_live (GstBaseSrc * src, gboolean live)
{ {
@ -240,6 +250,14 @@ gst_base_src_set_live (GstBaseSrc * src, gboolean live)
GST_LIVE_UNLOCK (src); GST_LIVE_UNLOCK (src);
} }
/**
* gst_base_src_get_live:
* @src: base source instance
*
* Check if an element is in live mode.
*
* Returns: %TRUE if element is in live mode.
*/
gboolean gboolean
gst_base_src_is_live (GstBaseSrc * src) gst_base_src_is_live (GstBaseSrc * src)
{ {

View file

@ -44,6 +44,12 @@ typedef enum {
typedef struct _GstBaseSrc GstBaseSrc; typedef struct _GstBaseSrc GstBaseSrc;
typedef struct _GstBaseSrcClass GstBaseSrcClass; typedef struct _GstBaseSrcClass GstBaseSrcClass;
/**
* GST_BASE_SRC_PAD:
* @obj: base source instance
*
* Returns the pointer to the #GstPad object of the element.
*/
#define GST_BASE_SRC_PAD(obj) (GST_BASE_SRC (obj)->srcpad) #define GST_BASE_SRC_PAD(obj) (GST_BASE_SRC (obj)->srcpad)
#define GST_LIVE_GET_LOCK(elem) (GST_BASE_SRC(elem)->live_lock) #define GST_LIVE_GET_LOCK(elem) (GST_BASE_SRC(elem)->live_lock)

View file

@ -175,6 +175,14 @@ gst_fake_sink_class_init (GstFakeSinkClass * klass)
g_param_spec_boolean ("dump", "Dump", "Dump received bytes to stdout", g_param_spec_boolean ("dump", "Dump", "Dump received bytes to stdout",
DEFAULT_DUMP, G_PARAM_READWRITE)); DEFAULT_DUMP, G_PARAM_READWRITE));
/**
* GstFakeSink::handoff:
* @fakesink: the fakesink instance
* @buffer: the buffer that just has been received
* @pad: the pad that received it
*
* This signal gets emitted before unreffing the buffer.
*/
gst_fake_sink_signals[SIGNAL_HANDOFF] = gst_fake_sink_signals[SIGNAL_HANDOFF] =
g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstFakeSinkClass, handoff), NULL, NULL, G_STRUCT_OFFSET (GstFakeSinkClass, handoff), NULL, NULL,

View file

@ -293,6 +293,14 @@ gst_fake_src_class_init (GstFakeSrcClass * klass)
"True if the element cannot produce data in PAUSED", FALSE, "True if the element cannot produce data in PAUSED", FALSE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
* GstFakeSrc::handoff:
* @fakesrc: the fakesrc instance
* @buffer: the buffer that will be pushed
* @pad: the pad that will sent it
*
* This signal gets emitted before sending the buffer.
*/
gst_fake_src_signals[SIGNAL_HANDOFF] = gst_fake_src_signals[SIGNAL_HANDOFF] =
g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstFakeSrcClass, handoff), NULL, NULL, G_STRUCT_OFFSET (GstFakeSrcClass, handoff), NULL, NULL,

View file

@ -116,8 +116,8 @@ gst_element_class_init (GstElementClass * klass)
/** /**
* GstElement::state-changed: * GstElement::state-changed:
* @gstelement: the object which received the signal * @gstelement: the object which received the signal
* @int: * @old_state: the GST_STATE_XXX before the change
* @int: * @new_state: the GST_STATE_XXX after the change
* *
* the #GstElementState of the element has been changed * the #GstElementState of the element has been changed
*/ */
@ -128,7 +128,7 @@ gst_element_class_init (GstElementClass * klass)
/** /**
* GstElement::pad-added: * GstElement::pad-added:
* @gstelement: the object which received the signal * @gstelement: the object which received the signal
* @object: * @new_pad: the pad that has been added
* *
* a new #GstPad has been added to the element * a new #GstPad has been added to the element
*/ */
@ -139,7 +139,7 @@ gst_element_class_init (GstElementClass * klass)
/** /**
* GstElement::pad-removed: * GstElement::pad-removed:
* @gstelement: the object which received the signal * @gstelement: the object which received the signal
* @object: * @old_pad: the pad that has been removed
* *
* a #GstPad has been removed from the element * a #GstPad has been removed from the element
*/ */
@ -151,7 +151,7 @@ gst_element_class_init (GstElementClass * klass)
* GstElement::no-more-pads: * GstElement::no-more-pads:
* @gstelement: the object which received the signal * @gstelement: the object which received the signal
* *
* ? * This signals that the element will not generate more dynamic pads.
*/ */
gst_element_signals[NO_MORE_PADS] = gst_element_signals[NO_MORE_PADS] =
g_signal_new ("no-more-pads", G_TYPE_FROM_CLASS (klass), g_signal_new ("no-more-pads", G_TYPE_FROM_CLASS (klass),

View file

@ -153,19 +153,49 @@ gst_pad_class_init (GstPadClass * klass)
gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_pad_set_property); gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_pad_set_property);
gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_pad_get_property); gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_pad_get_property);
/**
* GstPad::linked:
* @pad: the pad that emitted the signal
* @peer: the peer pad that has been connected
*
* Signals that a pad has been linked to the peer pad.
*/
gst_pad_signals[PAD_LINKED] = gst_pad_signals[PAD_LINKED] =
g_signal_new ("linked", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, g_signal_new ("linked", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstPadClass, linked), NULL, NULL, G_STRUCT_OFFSET (GstPadClass, linked), NULL, NULL,
gst_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GST_TYPE_PAD); gst_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GST_TYPE_PAD);
/**
* GstPad::unlinked:
* @pad: the pad that emitted the signal
* @peer: the peer pad that has been disconnected
*
* Signals that a pad has been unlinked from the peer pad.
*/
gst_pad_signals[PAD_UNLINKED] = gst_pad_signals[PAD_UNLINKED] =
g_signal_new ("unlinked", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, g_signal_new ("unlinked", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstPadClass, unlinked), NULL, NULL, G_STRUCT_OFFSET (GstPadClass, unlinked), NULL, NULL,
gst_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GST_TYPE_PAD); gst_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GST_TYPE_PAD);
/**
* GstPad::request-link:
* @pad: the pad that emitted the signal
* @peer: the peer pad for which a connection is requested
*
* Signals that a pad connection has been requested.
*/
gst_pad_signals[PAD_REQUEST_LINK] = gst_pad_signals[PAD_REQUEST_LINK] =
g_signal_new ("request_link", G_TYPE_FROM_CLASS (klass), g_signal_new ("request-link", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstPadClass, request_link), NULL, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstPadClass, request_link), NULL,
NULL, gst_marshal_VOID__OBJECT, G_TYPE_NONE, 0); NULL, gst_marshal_VOID__OBJECT, G_TYPE_NONE, 0);
/**
* GstPad::have-data:
* @pad: the pad that emitted the signal
* @mini_obj: new data
*
* Signals that new data is available on the pad. This signal is used internaly.
*
* Returns: %TRUE to keep the data, %FALSE to drop it
*/
gst_pad_signals[PAD_HAVE_DATA] = gst_pad_signals[PAD_HAVE_DATA] =
g_signal_new ("have-data", G_TYPE_FROM_CLASS (klass), g_signal_new ("have-data", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstPadClass, have_data), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstPadClass, have_data),

View file

@ -224,14 +224,40 @@ gst_queue_class_init (GstQueueClass * klass)
gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_queue_get_property); gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_queue_get_property);
/* signals */ /* signals */
/**
* GstQueue::underrun:
* @queue: the queue instance
*
* Reports that the buffer became empty (underrun).
* A buffer is empty if the total amount of data inside it (num-buffers, time,
* size) is lower than the boundary values which can be set through the GObject
* properties.
*/
gst_queue_signals[SIGNAL_UNDERRUN] = gst_queue_signals[SIGNAL_UNDERRUN] =
g_signal_new ("underrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, g_signal_new ("underrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GstQueueClass, underrun), NULL, NULL, G_STRUCT_OFFSET (GstQueueClass, underrun), NULL, NULL,
g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
/**
* GstQueue::running:
* @queue: the queue instance
*
* Reports that enough (min-threshold) data is in the queue. Use this signal
* together with the underrun signal to pause the pipeline on underrun and wait
* for the queue to fill-up before resume playback.
*/
gst_queue_signals[SIGNAL_RUNNING] = gst_queue_signals[SIGNAL_RUNNING] =
g_signal_new ("running", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, g_signal_new ("running", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GstQueueClass, running), NULL, NULL, G_STRUCT_OFFSET (GstQueueClass, running), NULL, NULL,
g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
/**
* GstQueue::overrun:
* @queue: the queue instance
*
* Reports that the buffer became full (overrun).
* A buffer is full if the total amount of data inside it (num-buffers, time,
* size) is higher than the boundary values which can be set through the GObject
* properties.
*/
gst_queue_signals[SIGNAL_OVERRUN] = gst_queue_signals[SIGNAL_OVERRUN] =
g_signal_new ("overrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, g_signal_new ("overrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GstQueueClass, overrun), NULL, NULL, G_STRUCT_OFFSET (GstQueueClass, overrun), NULL, NULL,

View file

@ -75,7 +75,17 @@ gst_xml_class_init (GstXMLClass * klass)
parent_class = g_type_class_ref (GST_TYPE_OBJECT); parent_class = g_type_class_ref (GST_TYPE_OBJECT);
/* FIXME G_TYPE_POINTER should be GType of xmlNodePtr */ /* FIXME G_TYPE_POINTER should be GType of xmlNodePtr
* (ensonic) can't be fixed, as libxml does not use GObject (unfortunately)
*/
/**
* GstXML::object-loaded:
* @xml: the xml persistence instance
* @object: the object that has been loaded
* @xml_node: the related xml_node pointer to the document tree
*
* Signals that a new object has been deserialized.
*/
gst_xml_signals[OBJECT_LOADED] = gst_xml_signals[OBJECT_LOADED] =
g_signal_new ("object-loaded", G_TYPE_FROM_CLASS (klass), g_signal_new ("object-loaded", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstXMLClass, object_loaded), NULL, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstXMLClass, object_loaded), NULL,
@ -289,7 +299,7 @@ gst_xml_parse_file (GstXML * xml, const guchar * fname, const guchar * root)
return gst_xml_parse_doc (xml, doc, root); return gst_xml_parse_doc (xml, doc, root);
} }
/* FIXME guchar* */ /* FIXME 0.9: guchar* */
/** /**
* gst_xml_parse_memory: * gst_xml_parse_memory:
* @xml: a pointer to a GstXML object * @xml: a pointer to a GstXML object

View file

@ -31,11 +31,23 @@ G_BEGIN_DECLS
#define GST_TYPE_BASE_SINK (gst_base_sink_get_type()) #define GST_TYPE_BASE_SINK (gst_base_sink_get_type())
#define GST_BASE_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_SINK,GstBaseSink)) #define GST_BASE_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_SINK,GstBaseSink))
#define GST_BASE_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_SINK,GstBaseSinkClass)) #define GST_BASE_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_SINK,GstBaseSinkClass))
#define GST_BASE_SINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_SINK, GstBaseSinkClass)) #define GST_BASE_SINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_SINK, GstBaseSinkClass))
#define GST_IS_BASE_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_SINK)) #define GST_IS_BASE_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_SINK))
#define GST_IS_BASE_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_SINK)) #define GST_IS_BASE_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_SINK))
#define GST_BASE_SINK_CLOCK(obj) (GST_BASE_SINK (obj)->clock) /**
* GST_BASE_SINK_CLOCK:
* @obj: base sink instance
*
* Returns the pointer to the #GstClock object of the element.
*/
#define GST_BASE_SINK_CLOCK(obj) (GST_BASE_SINK (obj)->clock)
/**
* GST_BASE_SINK_PAD:
* @obj: base sink instance
*
* Returns the pointer to the #GstPad object of the element.
*/
#define GST_BASE_SINK_PAD(obj) (GST_BASE_SINK (obj)->sinkpad) #define GST_BASE_SINK_PAD(obj) (GST_BASE_SINK (obj)->sinkpad)
typedef struct _GstBaseSink GstBaseSink; typedef struct _GstBaseSink GstBaseSink;

View file

@ -27,6 +27,8 @@
* *
* This class is mostly useful for elements that do byte based * This class is mostly useful for elements that do byte based
* access to a random access resource, like files. * access to a random access resource, like files.
* If random access is not possible, the live-mode should be set
* to TRUE.
* *
* <itemizedlist> * <itemizedlist>
* <listitem><para>one sinkpad</para></listitem> * <listitem><para>one sinkpad</para></listitem>
@ -232,6 +234,14 @@ gst_base_src_finalize (GObject * object)
G_OBJECT_CLASS (parent_class)->finalize (object); G_OBJECT_CLASS (parent_class)->finalize (object);
} }
/**
* gst_base_src_set_live:
* @src: base source instance
* @live: new live-mode
*
* If the element listens to a live source, the @livemode should
* be set to %TRUE. This declares that this source can't seek.
*/
void void
gst_base_src_set_live (GstBaseSrc * src, gboolean live) gst_base_src_set_live (GstBaseSrc * src, gboolean live)
{ {
@ -240,6 +250,14 @@ gst_base_src_set_live (GstBaseSrc * src, gboolean live)
GST_LIVE_UNLOCK (src); GST_LIVE_UNLOCK (src);
} }
/**
* gst_base_src_get_live:
* @src: base source instance
*
* Check if an element is in live mode.
*
* Returns: %TRUE if element is in live mode.
*/
gboolean gboolean
gst_base_src_is_live (GstBaseSrc * src) gst_base_src_is_live (GstBaseSrc * src)
{ {

View file

@ -44,6 +44,12 @@ typedef enum {
typedef struct _GstBaseSrc GstBaseSrc; typedef struct _GstBaseSrc GstBaseSrc;
typedef struct _GstBaseSrcClass GstBaseSrcClass; typedef struct _GstBaseSrcClass GstBaseSrcClass;
/**
* GST_BASE_SRC_PAD:
* @obj: base source instance
*
* Returns the pointer to the #GstPad object of the element.
*/
#define GST_BASE_SRC_PAD(obj) (GST_BASE_SRC (obj)->srcpad) #define GST_BASE_SRC_PAD(obj) (GST_BASE_SRC (obj)->srcpad)
#define GST_LIVE_GET_LOCK(elem) (GST_BASE_SRC(elem)->live_lock) #define GST_LIVE_GET_LOCK(elem) (GST_BASE_SRC(elem)->live_lock)

View file

@ -150,6 +150,9 @@ typedef struct _GstControlledProperty
/* TODO keep the last search result to be able to continue /* TODO keep the last search result to be able to continue
GList *last_value; // last search result, can be used for incremental searches GList *last_value; // last search result, can be used for incremental searches
*/ */
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
} GstControlledProperty; } GstControlledProperty;
#define GST_CONTROLLED_PROPERTY(obj) ((GstControlledProperty *)(obj)) #define GST_CONTROLLED_PROPERTY(obj) ((GstControlledProperty *)(obj))
@ -181,11 +184,17 @@ struct _GstController
GList *properties; // List of GstControlledProperty GList *properties; // List of GstControlledProperty
GMutex *lock; // Secure property access, elements will access from threads GMutex *lock; // Secure property access, elements will access from threads
GObject *object; // the object we control GObject *object; // the object we control
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
}; };
struct _GstControllerClass struct _GstControllerClass
{ {
GObjectClass parent_class; GObjectClass parent_class;
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
}; };
GType gst_controller_get_type (void); GType gst_controller_get_type (void);

View file

@ -150,6 +150,9 @@ typedef struct _GstControlledProperty
/* TODO keep the last search result to be able to continue /* TODO keep the last search result to be able to continue
GList *last_value; // last search result, can be used for incremental searches GList *last_value; // last search result, can be used for incremental searches
*/ */
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
} GstControlledProperty; } GstControlledProperty;
#define GST_CONTROLLED_PROPERTY(obj) ((GstControlledProperty *)(obj)) #define GST_CONTROLLED_PROPERTY(obj) ((GstControlledProperty *)(obj))
@ -181,11 +184,17 @@ struct _GstController
GList *properties; // List of GstControlledProperty GList *properties; // List of GstControlledProperty
GMutex *lock; // Secure property access, elements will access from threads GMutex *lock; // Secure property access, elements will access from threads
GObject *object; // the object we control GObject *object; // the object we control
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
}; };
struct _GstControllerClass struct _GstControllerClass
{ {
GObjectClass parent_class; GObjectClass parent_class;
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
}; };
GType gst_controller_get_type (void); GType gst_controller_get_type (void);

View file

@ -175,6 +175,14 @@ gst_fake_sink_class_init (GstFakeSinkClass * klass)
g_param_spec_boolean ("dump", "Dump", "Dump received bytes to stdout", g_param_spec_boolean ("dump", "Dump", "Dump received bytes to stdout",
DEFAULT_DUMP, G_PARAM_READWRITE)); DEFAULT_DUMP, G_PARAM_READWRITE));
/**
* GstFakeSink::handoff:
* @fakesink: the fakesink instance
* @buffer: the buffer that just has been received
* @pad: the pad that received it
*
* This signal gets emitted before unreffing the buffer.
*/
gst_fake_sink_signals[SIGNAL_HANDOFF] = gst_fake_sink_signals[SIGNAL_HANDOFF] =
g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstFakeSinkClass, handoff), NULL, NULL, G_STRUCT_OFFSET (GstFakeSinkClass, handoff), NULL, NULL,

View file

@ -293,6 +293,14 @@ gst_fake_src_class_init (GstFakeSrcClass * klass)
"True if the element cannot produce data in PAUSED", FALSE, "True if the element cannot produce data in PAUSED", FALSE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
* GstFakeSrc::handoff:
* @fakesrc: the fakesrc instance
* @buffer: the buffer that will be pushed
* @pad: the pad that will sent it
*
* This signal gets emitted before sending the buffer.
*/
gst_fake_src_signals[SIGNAL_HANDOFF] = gst_fake_src_signals[SIGNAL_HANDOFF] =
g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstFakeSrcClass, handoff), NULL, NULL, G_STRUCT_OFFSET (GstFakeSrcClass, handoff), NULL, NULL,

View file

@ -224,14 +224,40 @@ gst_queue_class_init (GstQueueClass * klass)
gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_queue_get_property); gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_queue_get_property);
/* signals */ /* signals */
/**
* GstQueue::underrun:
* @queue: the queue instance
*
* Reports that the buffer became empty (underrun).
* A buffer is empty if the total amount of data inside it (num-buffers, time,
* size) is lower than the boundary values which can be set through the GObject
* properties.
*/
gst_queue_signals[SIGNAL_UNDERRUN] = gst_queue_signals[SIGNAL_UNDERRUN] =
g_signal_new ("underrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, g_signal_new ("underrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GstQueueClass, underrun), NULL, NULL, G_STRUCT_OFFSET (GstQueueClass, underrun), NULL, NULL,
g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
/**
* GstQueue::running:
* @queue: the queue instance
*
* Reports that enough (min-threshold) data is in the queue. Use this signal
* together with the underrun signal to pause the pipeline on underrun and wait
* for the queue to fill-up before resume playback.
*/
gst_queue_signals[SIGNAL_RUNNING] = gst_queue_signals[SIGNAL_RUNNING] =
g_signal_new ("running", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, g_signal_new ("running", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GstQueueClass, running), NULL, NULL, G_STRUCT_OFFSET (GstQueueClass, running), NULL, NULL,
g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
/**
* GstQueue::overrun:
* @queue: the queue instance
*
* Reports that the buffer became full (overrun).
* A buffer is full if the total amount of data inside it (num-buffers, time,
* size) is higher than the boundary values which can be set through the GObject
* properties.
*/
gst_queue_signals[SIGNAL_OVERRUN] = gst_queue_signals[SIGNAL_OVERRUN] =
g_signal_new ("overrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, g_signal_new ("overrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GstQueueClass, overrun), NULL, NULL, G_STRUCT_OFFSET (GstQueueClass, overrun), NULL, NULL,