From cdc8ba9725efd6292fc711366c1d184df95d4076 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Mon, 15 Aug 2005 16:57:34 +0000 Subject: 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 --- ChangeLog | 23 +++++++++ common | 2 +- docs/gst/gstreamer-sections.txt | 5 +- docs/gst/tmpl/gstconfig.sgml | 99 ------------------------------------ docs/gst/tmpl/gstqueue.sgml | 10 +--- docs/gst/tmpl/gsttaglist.sgml | 7 +++ docs/gst/tmpl/gsttypes.sgml | 14 ----- docs/gst/tmpl/gstutils.sgml | 48 +++++++++++++++++ docs/pwg/appendix-porting.xml | 4 ++ gst/base/gstbasesink.h | 16 +++++- gst/base/gstbasesrc.c | 18 +++++++ gst/base/gstbasesrc.h | 6 +++ gst/elements/gstfakesink.c | 8 +++ gst/elements/gstfakesrc.c | 8 +++ gst/gstelement.c | 10 ++-- gst/gstpad.c | 32 +++++++++++- gst/gstqueue.c | 26 ++++++++++ gst/gstxml.c | 14 ++++- libs/gst/base/gstbasesink.h | 16 +++++- libs/gst/base/gstbasesrc.c | 18 +++++++ libs/gst/base/gstbasesrc.h | 6 +++ libs/gst/controller/gst-controller.h | 9 ++++ libs/gst/controller/gstcontroller.h | 9 ++++ plugins/elements/gstfakesink.c | 8 +++ plugins/elements/gstfakesrc.c | 8 +++ plugins/elements/gstqueue.c | 26 ++++++++++ 26 files changed, 314 insertions(+), 136 deletions(-) diff --git a/ChangeLog b/ChangeLog index 46969524c..bb69281cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,26 @@ +2005-08-15 Stefan Kost + + * 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 * docs/pwg/appendix-porting.xml: diff --git a/common b/common index 856fbbfa8..8ff526a31 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 856fbbfa88621ab67df141ead8d4d3df32c5c176 +Subproject commit 8ff526a316f9b576e727b8e32cba0a53cdec07a6 diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt index 4d7a59521..1efc0839f 100644 --- a/docs/gst/gstreamer-sections.txt +++ b/docs/gst/gstreamer-sections.txt @@ -241,6 +241,7 @@ gst_clock_return_get_type
gstconfig + GST_DISABLE_LOADSAVE_REGISTRY GST_DISABLE_GST_DEBUG GST_DISABLE_LOADSAVE @@ -1443,13 +1444,13 @@ gst_type_find_factory_get_type GstElementState GstElementStateReturn GstRank -GST_PADDING -GST_PADDING_INIT GST_TYPE_ELEMENT_STATE GST_TYPE_ELEMENT_STATE_RETURN GST_TYPE_RANK +GST_PADDING +GST_PADDING_INIT gst_element_state_get_type gst_element_state_return_get_type gst_rank_get_type diff --git a/docs/gst/tmpl/gstconfig.sgml b/docs/gst/tmpl/gstconfig.sgml index 6e71764e8..5c5437149 100644 --- a/docs/gst/tmpl/gstconfig.sgml +++ b/docs/gst/tmpl/gstconfig.sgml @@ -40,102 +40,3 @@ If a subsystem is disabled in GStreamer, a value is defined in - - - - - - - - - -If this is defined, the debugging subsystem - is disabled and debugging messages are not output. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Under Windows it permits to export variables from a DLL, otherwise it just means extern. - - - - - - -Under Windows it permits to automatically export the plugin definition, otherwise it just defines as nothing. - - - - diff --git a/docs/gst/tmpl/gstqueue.sgml b/docs/gst/tmpl/gstqueue.sgml index 3d2a500a2..7e29cee4b 100644 --- a/docs/gst/tmpl/gstqueue.sgml +++ b/docs/gst/tmpl/gstqueue.sgml @@ -36,10 +36,7 @@ The queue blocks by default. -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. + @gstqueue: the object which received the signal. @@ -53,10 +50,7 @@ properties. -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. + @gstqueue: the object which received the signal. diff --git a/docs/gst/tmpl/gsttaglist.sgml b/docs/gst/tmpl/gsttaglist.sgml index b45b44696..e08539efd 100644 --- a/docs/gst/tmpl/gsttaglist.sgml +++ b/docs/gst/tmpl/gsttaglist.sgml @@ -848,3 +848,10 @@ List of tags and values used to describe media metadata + + + + + + + diff --git a/docs/gst/tmpl/gsttypes.sgml b/docs/gst/tmpl/gsttypes.sgml index 58aaf1ff6..ce77045b4 100644 --- a/docs/gst/tmpl/gsttypes.sgml +++ b/docs/gst/tmpl/gsttypes.sgml @@ -55,17 +55,3 @@ gst_plugin_feature_set_rank(). @GST_RANK_SECONDARY: likely to be chosen @GST_RANK_PRIMARY: will be chosen first - - - - - - - - - - - - - - diff --git a/docs/gst/tmpl/gstutils.sgml b/docs/gst/tmpl/gstutils.sgml index 6d7d55a38..754519fce 100644 --- a/docs/gst/tmpl/gstutils.sgml +++ b/docs/gst/tmpl/gstutils.sgml @@ -228,3 +228,51 @@ various utility functions @num: + + + + + +@num: + + + + + + + +@num: + + + + + + + +@num: + + + + + + + +@num: + + + + + + + +@num: + + + + + + + +@num: + + diff --git a/docs/pwg/appendix-porting.xml b/docs/pwg/appendix-porting.xml index 0ef2618aa..a6fd28c53 100644 --- a/docs/pwg/appendix-porting.xml +++ b/docs/pwg/appendix-porting.xml @@ -153,6 +153,10 @@ changes (so similar to _set_link_function () in &GStreamer;-0.8). + + If the element is derived from a GstBase class, + then override the set_caps (). + diff --git a/gst/base/gstbasesink.h b/gst/base/gstbasesink.h index b66931986..60bf9a058 100644 --- a/gst/base/gstbasesink.h +++ b/gst/base/gstbasesink.h @@ -31,11 +31,23 @@ G_BEGIN_DECLS #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_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_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) typedef struct _GstBaseSink GstBaseSink; diff --git a/gst/base/gstbasesrc.c b/gst/base/gstbasesrc.c index f6caf215f..3a56f8492 100644 --- a/gst/base/gstbasesrc.c +++ b/gst/base/gstbasesrc.c @@ -27,6 +27,8 @@ * * This class is mostly useful for elements that do byte based * access to a random access resource, like files. + * If random access is not possible, the live-mode should be set + * to TRUE. * * * one sinkpad @@ -232,6 +234,14 @@ gst_base_src_finalize (GObject * 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 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_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 gst_base_src_is_live (GstBaseSrc * src) { diff --git a/gst/base/gstbasesrc.h b/gst/base/gstbasesrc.h index 2d2c85415..af12dbf89 100644 --- a/gst/base/gstbasesrc.h +++ b/gst/base/gstbasesrc.h @@ -44,6 +44,12 @@ typedef enum { typedef struct _GstBaseSrc GstBaseSrc; 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_LIVE_GET_LOCK(elem) (GST_BASE_SRC(elem)->live_lock) diff --git a/gst/elements/gstfakesink.c b/gst/elements/gstfakesink.c index a848e9513..4262d8ab5 100644 --- a/gst/elements/gstfakesink.c +++ b/gst/elements/gstfakesink.c @@ -175,6 +175,14 @@ gst_fake_sink_class_init (GstFakeSinkClass * klass) g_param_spec_boolean ("dump", "Dump", "Dump received bytes to stdout", 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] = g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstFakeSinkClass, handoff), NULL, NULL, diff --git a/gst/elements/gstfakesrc.c b/gst/elements/gstfakesrc.c index d5ad96234..bb939d305 100644 --- a/gst/elements/gstfakesrc.c +++ b/gst/elements/gstfakesrc.c @@ -293,6 +293,14 @@ gst_fake_src_class_init (GstFakeSrcClass * klass) "True if the element cannot produce data in PAUSED", FALSE, 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] = g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstFakeSrcClass, handoff), NULL, NULL, diff --git a/gst/gstelement.c b/gst/gstelement.c index 6bcc61180..a37e841a1 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -116,8 +116,8 @@ gst_element_class_init (GstElementClass * klass) /** * GstElement::state-changed: * @gstelement: the object which received the signal - * @int: - * @int: + * @old_state: the GST_STATE_XXX before the change + * @new_state: the GST_STATE_XXX after the change * * the #GstElementState of the element has been changed */ @@ -128,7 +128,7 @@ gst_element_class_init (GstElementClass * klass) /** * GstElement::pad-added: * @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 */ @@ -139,7 +139,7 @@ gst_element_class_init (GstElementClass * klass) /** * GstElement::pad-removed: * @gstelement: the object which received the signal - * @object: + * @old_pad: the pad that has been removed * * a #GstPad has been removed from the element */ @@ -151,7 +151,7 @@ gst_element_class_init (GstElementClass * klass) * GstElement::no-more-pads: * @gstelement: the object which received the signal * - * ? + * This signals that the element will not generate more dynamic pads. */ gst_element_signals[NO_MORE_PADS] = g_signal_new ("no-more-pads", G_TYPE_FROM_CLASS (klass), diff --git a/gst/gstpad.c b/gst/gstpad.c index 9ebfbdc84..c591cb9e4 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -153,19 +153,49 @@ gst_pad_class_init (GstPadClass * klass) gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_pad_set_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] = g_signal_new ("linked", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstPadClass, linked), NULL, NULL, 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] = g_signal_new ("unlinked", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstPadClass, unlinked), NULL, NULL, 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] = - 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, 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] = g_signal_new ("have-data", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstPadClass, have_data), diff --git a/gst/gstqueue.c b/gst/gstqueue.c index 325bd1c23..3a8600ba1 100644 --- a/gst/gstqueue.c +++ b/gst/gstqueue.c @@ -224,14 +224,40 @@ gst_queue_class_init (GstQueueClass * klass) gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_queue_get_property); /* 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] = g_signal_new ("underrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstQueueClass, underrun), NULL, NULL, 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] = g_signal_new ("running", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstQueueClass, running), NULL, NULL, 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] = g_signal_new ("overrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstQueueClass, overrun), NULL, NULL, diff --git a/gst/gstxml.c b/gst/gstxml.c index 004d2ee1f..fb1a3a5be 100644 --- a/gst/gstxml.c +++ b/gst/gstxml.c @@ -75,7 +75,17 @@ gst_xml_class_init (GstXMLClass * klass) 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] = g_signal_new ("object-loaded", G_TYPE_FROM_CLASS (klass), 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); } -/* FIXME guchar* */ +/* FIXME 0.9: guchar* */ /** * gst_xml_parse_memory: * @xml: a pointer to a GstXML object diff --git a/libs/gst/base/gstbasesink.h b/libs/gst/base/gstbasesink.h index b66931986..60bf9a058 100644 --- a/libs/gst/base/gstbasesink.h +++ b/libs/gst/base/gstbasesink.h @@ -31,11 +31,23 @@ G_BEGIN_DECLS #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_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_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) typedef struct _GstBaseSink GstBaseSink; diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index f6caf215f..3a56f8492 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -27,6 +27,8 @@ * * This class is mostly useful for elements that do byte based * access to a random access resource, like files. + * If random access is not possible, the live-mode should be set + * to TRUE. * * * one sinkpad @@ -232,6 +234,14 @@ gst_base_src_finalize (GObject * 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 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_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 gst_base_src_is_live (GstBaseSrc * src) { diff --git a/libs/gst/base/gstbasesrc.h b/libs/gst/base/gstbasesrc.h index 2d2c85415..af12dbf89 100644 --- a/libs/gst/base/gstbasesrc.h +++ b/libs/gst/base/gstbasesrc.h @@ -44,6 +44,12 @@ typedef enum { typedef struct _GstBaseSrc GstBaseSrc; 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_LIVE_GET_LOCK(elem) (GST_BASE_SRC(elem)->live_lock) diff --git a/libs/gst/controller/gst-controller.h b/libs/gst/controller/gst-controller.h index 89297f50b..4234eeade 100644 --- a/libs/gst/controller/gst-controller.h +++ b/libs/gst/controller/gst-controller.h @@ -150,6 +150,9 @@ typedef struct _GstControlledProperty /* TODO keep the last search result to be able to continue GList *last_value; // last search result, can be used for incremental searches */ + + /*< private >*/ + gpointer _gst_reserved[GST_PADDING]; } GstControlledProperty; #define GST_CONTROLLED_PROPERTY(obj) ((GstControlledProperty *)(obj)) @@ -181,11 +184,17 @@ struct _GstController GList *properties; // List of GstControlledProperty GMutex *lock; // Secure property access, elements will access from threads GObject *object; // the object we control + + /*< private >*/ + gpointer _gst_reserved[GST_PADDING]; }; struct _GstControllerClass { GObjectClass parent_class; + + /*< private >*/ + gpointer _gst_reserved[GST_PADDING]; }; GType gst_controller_get_type (void); diff --git a/libs/gst/controller/gstcontroller.h b/libs/gst/controller/gstcontroller.h index 89297f50b..4234eeade 100644 --- a/libs/gst/controller/gstcontroller.h +++ b/libs/gst/controller/gstcontroller.h @@ -150,6 +150,9 @@ typedef struct _GstControlledProperty /* TODO keep the last search result to be able to continue GList *last_value; // last search result, can be used for incremental searches */ + + /*< private >*/ + gpointer _gst_reserved[GST_PADDING]; } GstControlledProperty; #define GST_CONTROLLED_PROPERTY(obj) ((GstControlledProperty *)(obj)) @@ -181,11 +184,17 @@ struct _GstController GList *properties; // List of GstControlledProperty GMutex *lock; // Secure property access, elements will access from threads GObject *object; // the object we control + + /*< private >*/ + gpointer _gst_reserved[GST_PADDING]; }; struct _GstControllerClass { GObjectClass parent_class; + + /*< private >*/ + gpointer _gst_reserved[GST_PADDING]; }; GType gst_controller_get_type (void); diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c index a848e9513..4262d8ab5 100644 --- a/plugins/elements/gstfakesink.c +++ b/plugins/elements/gstfakesink.c @@ -175,6 +175,14 @@ gst_fake_sink_class_init (GstFakeSinkClass * klass) g_param_spec_boolean ("dump", "Dump", "Dump received bytes to stdout", 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] = g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstFakeSinkClass, handoff), NULL, NULL, diff --git a/plugins/elements/gstfakesrc.c b/plugins/elements/gstfakesrc.c index d5ad96234..bb939d305 100644 --- a/plugins/elements/gstfakesrc.c +++ b/plugins/elements/gstfakesrc.c @@ -293,6 +293,14 @@ gst_fake_src_class_init (GstFakeSrcClass * klass) "True if the element cannot produce data in PAUSED", FALSE, 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] = g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstFakeSrcClass, handoff), NULL, NULL, diff --git a/plugins/elements/gstqueue.c b/plugins/elements/gstqueue.c index 325bd1c23..3a8600ba1 100644 --- a/plugins/elements/gstqueue.c +++ b/plugins/elements/gstqueue.c @@ -224,14 +224,40 @@ gst_queue_class_init (GstQueueClass * klass) gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_queue_get_property); /* 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] = g_signal_new ("underrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstQueueClass, underrun), NULL, NULL, 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] = g_signal_new ("running", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstQueueClass, running), NULL, NULL, 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] = g_signal_new ("overrun", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstQueueClass, overrun), NULL, NULL, -- cgit v1.2.3