gnomemm r1615 - in gstreamermm/trunk: . gstreamer/src tools/extra_defs_gen tools/m4
- From: jaalburqu svn gnome org
- To: svn-commits-list gnome org
- Subject: gnomemm r1615 - in gstreamermm/trunk: . gstreamer/src tools/extra_defs_gen tools/m4
- Date: Mon, 21 Jul 2008 03:25:27 +0000 (UTC)
Author: jaalburqu
Date: Mon Jul 21 03:25:26 2008
New Revision: 1615
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1615&view=rev
Log:
2008-07-20 Josà Alburquerque <jaalburqu svn gnome org>
* gstreamer/src/Makefile_list_of_hg.am_fragment:
* gstreamer/src/basesink.ccg:
* gstreamer/src/basesink.hg: Added Gst::BaseSink with methods,
properties and vfuncs (included class docs). Left
buffer_alloc_vfunc() as a TODO (can't figure out how to convert
GstBuffer** to C++ type).
* gstreamer/src/basesrc.hg: Corrected docs.
* gstreamer/src/gst_docs.xml:
* gstreamer/src/gst_methods.defs:
* gstreamer/src/gst_signals.defs:
* tools/extra_defs_gen/generate_defs_gst.cc: Added
GST_TYPE_{BASE_SINK, BASE_TRANSFORM, PUSH_SRC, ADAPTER, COLLECT_PADS,
DATA_QUEUE} GTypes and regenerated defs to include new API since
last regeneration.
* gstreamer/src/gst_vfuncs.defs: Added GstBaseSink vfuncs.
* tools/m4/convert_gst.m4: Added ClockTimeDiff <==> GstClockTimeDiff
conversions.
Added:
gstreamermm/trunk/gstreamer/src/basesink.ccg
gstreamermm/trunk/gstreamer/src/basesink.hg
Modified:
gstreamermm/trunk/ChangeLog
gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment
gstreamermm/trunk/gstreamer/src/basesrc.hg
gstreamermm/trunk/gstreamer/src/gst_docs.xml
gstreamermm/trunk/gstreamer/src/gst_methods.defs
gstreamermm/trunk/gstreamer/src/gst_signals.defs
gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs
gstreamermm/trunk/tools/extra_defs_gen/generate_defs_gst.cc
gstreamermm/trunk/tools/m4/convert_gst.m4
Modified: gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment
==============================================================================
--- gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment (original)
+++ gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment Mon Jul 21 03:25:26 2008
@@ -10,7 +10,7 @@
iterator.hg message.hg pad.hg padtemplate.hg parse.hg pipeline.hg \
plugin.hg pluginfeature.hg query.hg registry.hg segment.hg \
structure.hg systemclock.hg tagsetter.hg task.hg urihandler.hg \
- value.hg xml.hg basesrc.hg
+ value.hg xml.hg basesrc.hg basesink.hg
#TODO: Add ghostpad.hg when bug #539108 is fixed (and patch in bug is applied)
Added: gstreamermm/trunk/gstreamer/src/basesink.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/basesink.ccg Mon Jul 21 03:25:26 2008
@@ -0,0 +1,26 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gst/base/gstbasesink.h>
+#include <gstreamermm/pad.h>
+
+_PINCLUDE(glibmm/private/object_p.h)
+_PINCLUDE(gstreamermm/private/element_p.h)
Added: gstreamermm/trunk/gstreamer/src/basesink.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/basesink.hg Mon Jul 21 03:25:26 2008
@@ -0,0 +1,241 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gstreamermm/element.h>
+#include <gstreamermm/buffer.h>
+#include <gstreamermm/pad.h>
+
+_DEFS(gstreamermm,gst)
+
+namespace Gst
+{
+
+/** Gst::BaseSink â Base class for sink elements.
+ * Gst::BaseSink is the base class for sink elements in GStreamer, such as
+ * xvimagesink or filesink. It is a layer on top of Gst::Element that provides
+ * a simplified interface to plugin writers. Gst::BaseSink handles many details
+ * for you, for example: preroll, clock synchronization, state changes,
+ * activation in push or pull mode, and queries.
+ *
+ * In most cases, when writing sink elements, there is no need to implement
+ * class methods from Gst::Element or to set functions on pads, because the
+ * Gst::BaseSink infrastructure should be sufficient.
+ *
+ * TODO: correct paragraph below for C++ and include example from C API:
+ *
+ * Gst::BaseSink provides support for exactly one sink pad, which should be
+ * named "sink". A sink implementation (subclass of Gst::BaseSink) should
+ * install a pad template in its base_init function, like so:
+ *
+ * Gst::BaseSink will handle the prerolling correctly. This means that it will
+ * return Gst::STATE_CHANGE_ASYNC from a state change to PAUSED until the first
+ * buffer arrives in this element. The base class will call the
+ * Gst::BaseSink::preroll_vfunc() vmethod with this preroll buffer and will
+ * then commit the state change to the next asynchronously pending state.
+ *
+ * When the element is set to PLAYING, Gst::BaseSink will synchronise on the
+ * clock using the times returned from get_times_vfunc(). If this function
+ * returns Gst::CLOCK_TIME_NONE for the start time, no synchronisation will be
+ * done. Synchronisation can be disabled entirely by setting the object "sync"
+ * property to FALSE.
+ *
+ * After synchronisation the virtual method Gst::BaseSink::render_vfunc() will
+ * be called. Subclasses should minimally implement this method.
+ *
+ * Since GStreamer 0.10.3 subclasses that synchronise on the clock in the
+ * render_vfunc() vmethod are supported as well. These classes typically
+ * receive a buffer in the render method and can then potentially block on the
+ * clock while rendering. A typical example is an audiosink. Since GStreamer
+ * 0.10.11 these subclasses can use wait_preroll() to perform the blocking
+ * wait.
+ *
+ * Upon receiving the EOS event in the PLAYING state, Gst::BaseSink will wait
+ * for the clock to reach the time indicated by the stop time of the last
+ * get_times_vfunc() call before posting an EOS message. When the element
+ * receives EOS in PAUSED, preroll completes, the event is queued and an EOS
+ * message is posted when going to PLAYING.
+ *
+ * Gst::BaseSink will internally use the Gst::EVENT_NEWSEGMENT events to
+ * schedule synchronisation and clipping of buffers. Buffers that fall
+ * completely outside of the current segment are dropped. Buffers that fall
+ * partially in the segment are rendered (and prerolled). Subclasses should do
+ * any subbuffer clipping themselves when needed.
+ *
+ * Gst::BaseSink will by default report the current playback position in
+ * Gst::FORMAT_TIME based on the current clock time and segment information. If
+ * no clock has been set on the element, the query will be forwarded upstream.
+ *
+ * The set_caps_vfunc() function will be called when the subclass should
+ * configure itself to process a specific media type.
+ *
+ * The start_vfunc() and stop_vfunc() virtual methods will be called when
+ * resources should be allocated. Any preroll_vfunc(), render_vfunc() and
+ * set_caps_vfunc() function will be called between the start_vfunc() and
+ * stop_vfunc() calls.
+ *
+ * The event_vfunc() virtual method will be called when an event is received by
+ * Gst::BaseSink. Normally this method should only be overriden by very
+ * specific elements (such as file sinks) which need to handle the newsegment
+ * event specially.
+ *
+ * Gst::BaseSink provides an overridable buffer_alloc_vfunc() function that can
+ * be used by sinks that want to do reverse negotiation or to provide custom
+ * buffers (hardware buffers for example) to upstream elements.
+ *
+ * The unlock_vfunc() method is called when the elements should unblock any
+ * blocking operations they perform in the render_vfunc() method. This is
+ * mostly useful when the render_vfunc() method performs a blocking write on a
+ * file descriptor, for example.
+ *
+ * The max-lateness property affects how the sink deals with buffers that
+ * arrive too late in the sink. A buffer arrives too late in the sink when the
+ * presentation time (as a combination of the last segment, buffer timestamp
+ * and element base_time) plus the duration is before the current time of the
+ * clock. If the frame is later than max-lateness, the sink will drop the
+ * buffer without calling the render method. This feature is disabled if sync
+ * is disabled, the get_times_vfunc() method does not return a valid start time
+ * or max-lateness is set to -1 (the default). Subclasses can use
+ * set_max_lateness() to configure the max-lateness value.
+ *
+ * The qos property will enable the quality-of-service features of the basesink
+ * which gather statistics about the real-time performance of the clock
+ * synchronisation. For each buffer received in the sink, statistics are
+ * gathered and a QOS event is sent upstream with these numbers. This
+ * information can then be used by upstream elements to reduce their processing
+ * rate, for example.
+ *
+ * Since GStreamer 0.10.15 the async property can be used to instruct the sink
+ * to never perform an ASYNC state change. This feature is mostly usable when
+ * dealing with non-synchronized streams or sparse streams.
+ *
+ * Last reviewed on 2007-08-29 (0.10.15)
+ */
+class BaseSink
+: public Element
+{
+ _CLASS_GOBJECT(BaseSink, GstBaseSink, GST_BASE_SINK, Element, GstElement)
+
+public:
+ _WRAP_METHOD(bool query_latency(bool& live, bool& upstream_live, ClockTime& min_latency, ClockTime& max_latency), gst_base_sink_query_latency)
+ _WRAP_METHOD(ClockTime get_latency(), gst_base_sink_get_latency)
+ _WRAP_METHOD(FlowReturn wait_preroll(), gst_base_sink_wait_preroll)
+ _WRAP_METHOD(ClockReturn wait_clock(ClockTime time, ClockTimeDiff& jitter), gst_base_sink_wait_clock)
+ _WRAP_METHOD(FlowReturn wait_eos(ClockTime time, ClockTimeDiff& jitter), gst_base_sink_wait_eos)
+ _WRAP_METHOD(void set_sync(bool sync), gst_base_sink_set_sync)
+ _WRAP_METHOD(bool get_sync(), gst_base_sink_get_sync)
+ _WRAP_METHOD(void set_max_lateness(gint64 max_lateness), gst_base_sink_set_max_lateness)
+ _WRAP_METHOD(gint64 get_max_lateness(), gst_base_sink_get_max_lateness)
+ _WRAP_METHOD(void set_qos_enabled(bool enabled), gst_base_sink_set_qos_enabled)
+ _WRAP_METHOD(bool is_qos_enabled(), gst_base_sink_is_qos_enabled)
+ _WRAP_METHOD(void set_async_enabled(bool enabled), gst_base_sink_set_async_enabled)
+ _WRAP_METHOD(bool is_async_enabled(), gst_base_sink_is_async_enabled)
+ _WRAP_METHOD(void set_ts_offset(ClockTimeDiff offset), gst_base_sink_set_ts_offset)
+ _WRAP_METHOD(ClockTimeDiff get_ts_offset(), gst_base_sink_get_ts_offset)
+ _WRAP_METHOD(void set_render_delay(ClockTime delay), gst_base_sink_set_render_delay)
+ _WRAP_METHOD(ClockTime get_render_delay(), gst_base_sink_get_render_delay)
+ _WRAP_METHOD(Glib::RefPtr<Buffer> get_last_buffer(), gst_base_sink_get_last_buffer)
+
+ /** Gets the sink Gst::Pad object of the element.
+ */
+ _MEMBER_GET(sink_pad, sinkpad, Glib::RefPtr<Pad>, GstPad*)
+
+ _WRAP_PROPERTY("async", bool)
+ _WRAP_PROPERTY("last-buffer", Glib::RefPtr<Buffer>)
+ _WRAP_PROPERTY("max-lateness", gint64)
+ _WRAP_PROPERTY("preroll-queue-len", guint)
+ _WRAP_PROPERTY("qos", bool)
+ _WRAP_PROPERTY("sync", bool)
+ _WRAP_PROPERTY("ts-offset", gint64)
+
+#m4 _CONVERSION(`Glib::RefPtr<Caps>', `GstCaps*', `($3)->gobj()')
+ /** Called to get sink pad caps from the subclass.
+ */
+ _WRAP_VFUNC(Glib::RefPtr<Caps> get_caps(), "get_caps")
+
+#m4 _CONVERSION(`GstCaps*', `const Glib::RefPtr<Caps>&', `Glib::wrap($3)')
+ /** Notify subclass of changed caps.
+ */
+ _WRAP_VFUNC(bool set_caps(const Glib::RefPtr<Caps>& caps), "set_caps")
+
+//TODO: #m4 _CONVERSION(`Glib::RefPtr<Buffer>&', `GstBuffer**', `*($3)')
+ //_WRAP_VFUNC(FlowReturn buffer_alloc(guint64 offset, guint size, Glib::RefPtr<Buffer>& buffer), "buffer_alloc")
+
+#m4 _CONVERSION(`GstBuffer*', `const Glib::RefPtr<Buffer>&', `Gst::wrap($3)')
+#m4 _CONVERSION(`GstClockTime*', `ClockTime&', `*($3)')
+ /** Called to get the start and end times for synchronising the passed buffer
+ * to the clock.
+ */
+ _WRAP_VFUNC(void get_times(const Glib::RefPtr<Buffer>& buffer, ClockTime& start, ClockTime& end), "get_times")
+
+ /** Start processing. Ideal for opening resources in the subclass.
+ */
+ _WRAP_VFUNC(bool start(), "start")
+
+ /** Stop processing. Subclasses should use this to close resources.
+ */
+ _WRAP_VFUNC(bool stop(), "stop")
+
+ /** Unlock any pending access to the resource. Subclasses should unblock any
+ * blocked function ASAP.
+ */
+ _WRAP_VFUNC(bool unlock(), "unlock")
+
+ /** Override this to handle events arriving on the sink pad.
+ */
+ _WRAP_VFUNC(bool event(const Glib::RefPtr<Event>& event), "event")
+
+ /** Called to present the preroll buffer if desired.
+ */
+ _WRAP_VFUNC(FlowReturn preroll(const Glib::RefPtr<Buffer>& buffer), "preroll")
+
+ /** Called when a buffer should be presented or output, at the correct moment
+ * if the Gst::BaseSink has been set to sync to the clock.
+ */
+ _WRAP_VFUNC(FlowReturn render(const Glib::RefPtr<Buffer>& buffer), "render")
+
+ /** Subclasses should override this when they need to perform special
+ * processing when changing to the PLAYING state asynchronously. Called with
+ * the OBJECT_LOCK held.
+ */
+ _WRAP_VFUNC(StateChangeReturn async_play(), "async_play")
+
+ /** Subclasses should override this when they can provide an alternate method
+ * of spawning a thread to drive the pipeline in pull mode. Should start or
+ * stop the pulling thread, depending on the value of the "active" argument.
+ * Called after actually activating the sink pad in pull mode. The default
+ * implementation starts a task on the sink pad.
+ */
+ _WRAP_VFUNC(bool activate_pull(bool active), "activate_pull")
+
+ /** Only useful in pull mode, this vmethod will be called in response to
+ * Gst::Pad::fixate_caps() being called on the sink pad. Implement if you
+ * have ideas about what should be the default values for the caps you
+ * support.
+ */
+ _WRAP_VFUNC(void fixate(const Glib::RefPtr<Caps>& caps), "fixate")
+
+ /** Clear the previous unlock request. Subclasses should clear any state they
+ * set during unlock_vfunc(), such as clearing command queues.
+ */
+ _WRAP_VFUNC(bool unlock_stop(), "unlock_stop")
+};
+
+} //namespace Gst
Modified: gstreamermm/trunk/gstreamer/src/basesrc.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/basesrc.hg (original)
+++ gstreamermm/trunk/gstreamer/src/basesrc.hg Mon Jul 21 03:25:26 2008
@@ -77,7 +77,7 @@
* publish this rate. Use set_live() to activate the live source mode.
*
* A live source does not produce data in the PAUSED state. This means that the
- * Gst::BaseSrc::create method will not be called in PAUSED but only in
+ * Gst::BaseSrc::create_vfunc() method will not be called in PAUSED but only in
* PLAYING. To signal the pipeline that the element will not produce data, the
* return value from the READY to PAUSED state will be
* Gst::STATE_CHANGE_NO_PREROLL.
@@ -88,22 +88,22 @@
* and running.
*
* Live sources that synchronize and block on the clock (an audio source, for
- * example) can since GStreamer 0.10.12 use wait_playing() when the ::create
- * function was interrupted by a state change to PAUSED.
+ * example) can since GStreamer 0.10.12 use wait_playing() when the
+ * create_vfunc() function was interrupted by a state change to PAUSED.
*
- * The Gst::BaseSrc::get_times method can be used to implement pseudo-live
- * sources. It only makes sense to implement the ::get_times function if the
- * source is a live source. The ::get_times function should return timestamps
- * starting from 0, as if it were a non-live source. The base class will make
- * sure that the timestamps are transformed into the current running_time. The
- * base source will then wait for the calculated running_time before pushing
- * out the buffer.
+ * The Gst::BaseSrc::get_times_vfunc() method can be used to implement
+ * pseudo-live sources. It only makes sense to implement the get_times_vfunc()
+ * function if the source is a live source. The get_times_vfunc() function
+ * should return timestamps starting from 0, as if it were a non-live source.
+ * The base class will make sure that the timestamps are transformed into the
+ * current running_time. The base source will then wait for the calculated
+ * running_time before pushing out the buffer.
*
* For live sources, the base class will by default report a latency of 0. For
* pseudo live sources, the base class will by default measure the difference
- * between the first buffer timestamp and the start time of get_times and will
- * report this value as the latency. Subclasses should override the query
- * function when this behaviour is not acceptable.
+ * between the first buffer timestamp and the start time of get_times_vfunc()
+ * and will report this value as the latency. Subclasses should override the
+ * query_vfunc() function when this behaviour is not acceptable.
*
* TODO: Edit below paragraph for C++ and include C++ example from C API (if
* necessary):
@@ -230,7 +230,7 @@
* be opened now. This vfunc is optional, but should be implemented if
* possible to avoid unnecessary start/stop cycles. The default
* implementation will open and close the resource to find out whether
- * get_range is supported, and that is usually undesirable.
+ * get_range() is supported, and that is usually undesirable.
*/
_WRAP_VFUNC(bool check_get_range(), "check_get_range")
@@ -240,15 +240,15 @@
_WRAP_VFUNC(void fixate(const Glib::RefPtr<Caps>& caps), "fixate")
/** Clear the previous unlock request. Subclasses should clear any state they
- * set during unlock(), such as clearing command queues.
+ * set during unlock_vfunc(), such as clearing command queues.
*/
_WRAP_VFUNC(bool unlock_stop(), "unlock_stop")
- /** Prepare the GstSegment that will be passed to the do_seek vmethod for
- * executing a seek request. Sub-classes should override this if they support
- * seeking in formats other than the configured native format. By default, it
- * tries to convert the seek arguments to the configured native format and
- * prepare a segment in that format.
+ /** Prepare the GstSegment that will be passed to the do_seek_vfunc() vmethod
+ * for executing a seek request. Sub-classes should override this if they
+ * support seeking in formats other than the configured native format. By
+ * default, it tries to convert the seek arguments to the configured native
+ * format and prepare a segment in that format.
*/
_WRAP_VFUNC(bool prepare_seek_segment(const Glib::RefPtr<Event>& seek, Segment segment), "prepare_seek_segment")
};
Modified: gstreamermm/trunk/gstreamer/src/gst_docs.xml
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_docs.xml (original)
+++ gstreamermm/trunk/gstreamer/src/gst_docs.xml Mon Jul 21 03:25:26 2008
@@ -133,27 +133,19 @@
</return>
</function>
-<function name="gst_buffer_join">
+<function name="gst_element_factory_get_description">
<description>
-Create a new buffer that is the concatenation of the two source
-buffers, and unrefs the original source buffers.
-
-If the buffers point to contiguous areas of memory, the buffer
-is created without copying the data.
+Gets the description for this factory.
</description>
<parameters>
-<parameter name="buf1">
-<parameter_description> the first source #GstBuffer.
-</parameter_description>
-</parameter>
-<parameter name="buf2">
-<parameter_description> the second source #GstBuffer.
+<parameter name="factory">
+<parameter_description> a #GstElementFactory
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstBuffer which is the concatenation of the source buffers.
+<return> the description
</return>
</function>
@@ -685,19 +677,27 @@
</return>
</function>
-<function name="gst_element_factory_get_description">
+<function name="gst_buffer_join">
<description>
-Gets the description for this factory.
+Create a new buffer that is the concatenation of the two source
+buffers, and unrefs the original source buffers.
+
+If the buffers point to contiguous areas of memory, the buffer
+is created without copying the data.
</description>
<parameters>
-<parameter name="factory">
-<parameter_description> a #GstElementFactory
+<parameter name="buf1">
+<parameter_description> the first source #GstBuffer.
+</parameter_description>
+</parameter>
+<parameter name="buf2">
+<parameter_description> the second source #GstBuffer.
</parameter_description>
</parameter>
</parameters>
-<return> the description
+<return> the new #GstBuffer which is the concatenation of the source buffers.
</return>
</function>
@@ -951,7 +951,7 @@
</parameter_description>
</parameter>
<parameter name="child">
-<parameter_description> the newly added child
+<parameter_description> the removed child
</parameter_description>
</parameter>
</parameters>
@@ -1541,48 +1541,49 @@
</return>
</function>
-<function name="gst_poll_restart">
+<function name="gst_tag_merge_use_first">
<description>
-Restart any gst_poll_wait() that is in progress. This function is typically
-used after adding or removing descriptors to @set.
-
-If @set is not controllable, then this call will have no effect.
-
-Since: 0.10.18
+This is a convenience function for the func argument of gst_tag_register().
+It creates a copy of the first value from the list.
</description>
<parameters>
-<parameter name="set">
-<parameter_description> a #GstPoll.
+<parameter name="dest">
+<parameter_description> uninitialized GValue to store result in
+</parameter_description>
+</parameter>
+<parameter name="src">
+<parameter_description> GValue to copy from
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_object_replace">
+<function name="gst_bin_iterate_sorted">
<description>
-Unrefs the #GstObject pointed to by @oldobj, refs @newobj and
-puts @newobj in * oldobj Be carefull when calling this
-function, it does not take any locks. You might want to lock
-the object owning @oldobj pointer before calling this
-function.
+Gets an iterator for the elements in this bin in topologically
+sorted order. This means that the elements are returned from
+the most downstream elements (sinks) to the sources.
+
+This function is used internally to perform the state changes
+of the bin elements and for clock selection.
+
+Each element yielded by the iterator will have its refcount increased, so
+unref after use.
+
+MT safe. Caller owns returned value.
-Make sure not to LOCK @oldobj because it might be unreffed
-which could cause a deadlock when it is disposed.
</description>
<parameters>
-<parameter name="oldobj">
-<parameter_description> pointer to a place of a #GstObject to replace
-</parameter_description>
-</parameter>
-<parameter name="newobj">
-<parameter_description> a new #GstObject
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a #GstIterator of #GstElement, or NULL
+</return>
</function>
<function name="gst_structure_from_string">
@@ -1686,9 +1687,10 @@
Retrieves a pad from @element by name. Tries gst_element_get_static_pad()
first, then gst_element_get_request_pad().
-&lt;note&gt;Usage of this function is not recommended as it is unclear if the reference
+Deprecated: This function is deprecated as it's unclear if the reference
to the result pad should be released with gst_object_unref() in case of a static pad
-or gst_element_release_request_pad() in case of a request pad.&lt;/note&gt;
+or gst_element_release_request_pad() in case of a request pad.
+Use gst_element_get_static_pad() or gst_element_get_request_pad() instead.
</description>
@@ -2559,7 +2561,8 @@
The upstream element can use the @diff and @timestamp values to decide
whether to process more buffers. For possitive @diff, all buffers with
timestamp &lt;= @timestamp + @diff will certainly arrive late in the sink
-as well.
+as well. A (negative) @diff value so that @timestamp + @diff would yield a
+result smaller than 0 is not allowed.
The application can use general event probes to intercept the QoS
event and implement custom application specific QoS handling.
@@ -2996,24 +2999,6 @@
</return>
</function>
-<function name="gst_preset_get_property_names">
-<description>
-Get a the names of the GObject properties that can be used for presets.
-
-
-</description>
-<parameters>
-<parameter name="preset">
-<parameter_description> a #GObject that implements #GstPreset
-</parameter_description>
-</parameter>
-</parameters>
-<return> an array of property names which should be freed with g_strfreev() after use.
-
-Since: 0.10.20
-</return>
-</function>
-
<function name="gst_pipeline_set_new_stream_time">
<description>
Set the new stream time of @pipeline to @time. The stream time is used to
@@ -4947,22 +4932,19 @@
</return>
</function>
-<function name="gst_pad_set_setcaps_function">
+<function name="gst_value_set_date">
<description>
-Sets the given setcaps function for the pad. The setcaps function
-will be called whenever a buffer with a new media type is pushed or
-pulled from the pad. The pad/element needs to update its internal
-structures to process the new media type. If this new type is not
-acceptable, the setcaps function should return FALSE.
+Sets the contents of @value to coorespond to @date. The actual
+#GDate structure is copied before it is used.
</description>
<parameters>
-<parameter name="pad">
-<parameter_description> a #GstPad.
+<parameter name="value">
+<parameter_description> a GValue initialized to GST_TYPE_DATE
</parameter_description>
</parameter>
-<parameter name="setcaps">
-<parameter_description> the #GstPadSetCapsFunction to set.
+<parameter name="date">
+<parameter_description> the date to set the value to
</parameter_description>
</parameter>
</parameters>
@@ -7218,20 +7200,24 @@
</return>
</function>
-<function name="gst_index_factory_make">
+<function name="gst_element_provide_clock">
<description>
-Create a new #GstIndex instance from the
-indexfactory with the given name.
+Get the clock provided by the given element.
+&lt;note&gt;An element is only required to provide a clock in the PAUSED
+state. Some elements can provide a clock in other states.&lt;/note&gt;
</description>
<parameters>
-<parameter name="name">
-<parameter_description> the name of the factory used to create the instance
+<parameter name="element">
+<parameter_description> a #GstElement to query
</parameter_description>
</parameter>
</parameters>
-<return> A new #GstIndex instance.
+<return> the GstClock provided by the element or %NULL
+if no clock could be provided. Unref after usage.
+
+MT safe.
</return>
</function>
@@ -8305,19 +8291,19 @@
<return></return>
</function>
-<function name="gst_tag_merge_use_first">
+<function name="gst_poll_restart">
<description>
-This is a convenience function for the func argument of gst_tag_register().
-It creates a copy of the first value from the list.
+Restart any gst_poll_wait() that is in progress. This function is typically
+used after adding or removing descriptors to @set.
+
+If @set is not controllable, then this call will have no effect.
+
+Since: 0.10.18
</description>
<parameters>
-<parameter name="dest">
-<parameter_description> uninitialized GValue to store result in
-</parameter_description>
-</parameter>
-<parameter name="src">
-<parameter_description> GValue to copy from
+<parameter name="set">
+<parameter_description> a #GstPoll.
</parameter_description>
</parameter>
</parameters>
@@ -8433,29 +8419,41 @@
</return>
</function>
-<function name="gst_bin_iterate_sorted">
+<function name="gst_filter_run">
<description>
-Gets an iterator for the elements in this bin in topologically
-sorted order. This means that the elements are returned from
-the most downstream elements (sinks) to the sources.
-
-This function is used internally to perform the state changes
-of the bin elements and for clock selection.
-
-Each element yielded by the iterator will have its refcount increased, so
-unref after use.
+Iterates over the elements in @list, calling @func with the
+list item data for each item. If @func returns TRUE, @data is
+prepended to the list of results returned. If @first is true,
+the search is halted after the first result is found.
-MT safe. Caller owns returned value.
+Since gst_filter_run() knows nothing about the type of @data, no
+reference will be taken (if @data refers to an object) and no copy of
+ data wil be made in any other way when prepending @data to the list of
+results.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="list">
+<parameter_description> a linked list
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function to execute for each item
+</parameter_description>
+</parameter>
+<parameter name="first">
+<parameter_description> flag to stop execution after a successful item
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data
</parameter_description>
</parameter>
</parameters>
-<return> a #GstIterator of #GstElement, or NULL
+<return> the list of results. Free with g_list_free() when no longer needed
+(the data contained in the list is a flat copy and does need to be
+unreferenced or freed).
</return>
</function>
@@ -10169,25 +10167,6 @@
</return>
</function>
-<function name="gst_value_set_date">
-<description>
-Sets the contents of @value to coorespond to @date. The actual
-#GDate structure is copied before it is used.
-
-</description>
-<parameters>
-<parameter name="value">
-<parameter_description> a GValue initialized to GST_TYPE_DATE
-</parameter_description>
-</parameter>
-<parameter name="date">
-<parameter_description> the date to set the value to
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
<function name="gst_structure_get_fourcc">
<description>
Sets the #GstFourcc pointed to by @value corresponding to the value of the
@@ -11694,19 +11673,19 @@
</return>
</function>
-<function name="gst_structure_get_name">
+<function name="gst_element_factory_get_author">
<description>
-Get the name of @structure as a string.
+Gets the author for this factory.
</description>
<parameters>
-<parameter name="structure">
-<parameter_description> a #GstStructure
+<parameter name="factory">
+<parameter_description> a #GstElementFactory
</parameter_description>
</parameter>
</parameters>
-<return> the name of the structure.
+<return> the author
</return>
</function>
@@ -11850,6 +11829,34 @@
</return>
</function>
+<function name="gst_base_sink_set_render_delay">
+<description>
+Set the render delay in @sink to @delay. The render delay is the time
+between actual rendering of a buffer and its synchronisation time. Some
+devices might delay media rendering which can be compensated for with this
+function.
+
+After calling this function, this sink will report additional latency and
+other sinks will adjust their latency to delay the rendering of their media.
+
+This function is usually called by subclasses.
+
+Since: 0.10.21
+
+</description>
+<parameters>
+<parameter name="sink">
+<parameter_description> a #GstBaseSink
+</parameter_description>
+</parameter>
+<parameter name="delay">
+<parameter_description> the new delay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="gst_structure_fixate_field_nearest_int">
<description>
Fixates a #GstStructure by changing the given field to the nearest
@@ -12610,24 +12617,48 @@
</return>
</function>
-<function name="gst_message_parse_segment_start">
+<function name="gst_control_source_get_value">
<description>
-Extracts the position and format from the segment start message.
+Gets the value for this #GstControlSource at a given timestamp.
-MT safe.
</description>
<parameters>
-<parameter name="message">
-<parameter_description> A valid #GstMessage of type GST_MESSAGE_SEGMENT_START.
+<parameter name="self">
+<parameter_description> the #GstControlSource object
</parameter_description>
</parameter>
-<parameter name="format">
-<parameter_description> Result location for the format, or NULL
+<parameter name="timestamp">
+<parameter_description> the time for which the value should be returned
</parameter_description>
</parameter>
-<parameter name="position">
-<parameter_description> Result location for the position, or NULL
+<parameter name="value">
+<parameter_description> the value
+</parameter_description>
+</parameter>
+</parameters>
+<return> FALSE if the value couldn't be returned, TRUE otherwise.
+</return>
+</function>
+
+<function name="gst_message_parse_segment_start">
+<description>
+Extracts the position and format from the segment start message.
+
+MT safe.
+
+</description>
+<parameters>
+<parameter name="message">
+<parameter_description> A valid #GstMessage of type GST_MESSAGE_SEGMENT_START.
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> Result location for the format, or NULL
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> Result location for the position, or NULL
</parameter_description>
</parameter>
</parameters>
@@ -12854,28 +12885,29 @@
</return>
</function>
-<function name="gst_control_source_get_value">
+<function name="gst_object_replace">
<description>
-Gets the value for this #GstControlSource at a given timestamp.
+Unrefs the #GstObject pointed to by @oldobj, refs @newobj and
+puts @newobj in * oldobj Be carefull when calling this
+function, it does not take any locks. You might want to lock
+the object owning @oldobj pointer before calling this
+function.
+Make sure not to LOCK @oldobj because it might be unreffed
+which could cause a deadlock when it is disposed.
</description>
<parameters>
-<parameter name="self">
-<parameter_description> the #GstControlSource object
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> the time for which the value should be returned
+<parameter name="oldobj">
+<parameter_description> pointer to a place of a #GstObject to replace
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> the value
+<parameter name="newobj">
+<parameter_description> a new #GstObject
</parameter_description>
</parameter>
</parameters>
-<return> FALSE if the value couldn't be returned, TRUE otherwise.
-</return>
+<return></return>
</function>
<function name="gst_object_ref">
@@ -13743,38 +13775,42 @@
</return>
</function>
-<function name="gst_element_factory_get_longname">
+<function name="gst_pad_set_getrange_function">
<description>
-Gets the longname for this factory
-
+Sets the given getrange function for the pad. The getrange function is
+called to produce a new #GstBuffer to start the processing pipeline. see
+#GstPadGetRangeFunction for a description of the getrange function.
</description>
<parameters>
-<parameter name="factory">
-<parameter_description> a #GstElementFactory
+<parameter name="pad">
+<parameter_description> a source #GstPad.
+</parameter_description>
+</parameter>
+<parameter name="get">
+<parameter_description> the #GstPadGetRangeFunction to set.
</parameter_description>
</parameter>
</parameters>
-<return> the longname
-</return>
+<return></return>
</function>
-<function name="gst_value_list_append_value">
+<function name="gst_preset_get_property_names">
<description>
-Appends @append_value to the GstValueList in @value.
+Get a the names of the GObject properties that can be used for presets.
+
</description>
<parameters>
-<parameter name="value">
-<parameter_description> a #GValue of type #GST_TYPE_LIST
-</parameter_description>
-</parameter>
-<parameter name="append_value">
-<parameter_description> the value to append
+<parameter name="preset">
+<parameter_description> a #GObject that implements #GstPreset
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> an array of property names which should be freed with g_strfreev() after use.
+
+Since: 0.10.20
+</return>
</function>
<function name="gst_structure_has_field_typed">
@@ -14365,24 +14401,20 @@
</return>
</function>
-<function name="gst_pad_set_getrange_function">
+<function name="gst_element_factory_get_longname">
<description>
-Sets the given getrange function for the pad. The getrange function is
-called to produce a new #GstBuffer to start the processing pipeline. see
-#GstPadGetRangeFunction for a description of the getrange function.
+Gets the longname for this factory
+
</description>
<parameters>
-<parameter name="pad">
-<parameter_description> a source #GstPad.
-</parameter_description>
-</parameter>
-<parameter name="get">
-<parameter_description> the #GstPadGetRangeFunction to set.
+<parameter name="factory">
+<parameter_description> a #GstElementFactory
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the longname
+</return>
</function>
<function name="gst_base_src_set_live">
@@ -14908,6 +14940,23 @@
</return>
</function>
+<function name="gst_value_get_mini_object">
+<description>
+Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue.
+Does not increase the refcount of the returned object.
+
+
+</description>
+<parameters>
+<parameter name="value">
+<parameter_description> a valid #GValue of %GST_TYPE_MINI_OBJECT derived type
+</parameter_description>
+</parameter>
+</parameters>
+<return> mini object contents of @value
+</return>
+</function>
+
<function name="GstXML">
<description>
Signals that a new object has been deserialized.
@@ -16141,6 +16190,25 @@
</return>
</function>
+<function name="gst_base_sink_get_render_delay">
+<description>
+Get the render delay of @sink. see gst_base_sink_set_render_delay() for more
+information about the render delay.
+
+
+</description>
+<parameters>
+<parameter name="sink">
+<parameter_description> a #GstBaseSink
+</parameter_description>
+</parameter>
+</parameters>
+<return> the render delay of @sink.
+
+Since: 0.10.21
+</return>
+</function>
+
<function name="gst_caps_do_simplify">
<description>
Modifies the given @caps inplace into a representation that represents the
@@ -16233,20 +16301,28 @@
<return></return>
</function>
-<function name="gst_value_get_mini_object">
+<function name="gst_index_entry_assoc_map">
<description>
-Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue.
-Does not increase the refcount of the returned object.
+Gets alternative formats associated with the indexentry.
</description>
<parameters>
+<parameter name="entry">
+<parameter_description> the index to search
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the format of the value the find
+</parameter_description>
+</parameter>
<parameter name="value">
-<parameter_description> a valid #GValue of %GST_TYPE_MINI_OBJECT derived type
+<parameter_description> a pointer to store the value
</parameter_description>
</parameter>
</parameters>
-<return> mini object contents of @value
+<return> TRUE if there was a value associated with the given
+format.
</return>
</function>
@@ -18924,24 +19000,20 @@
</return>
</function>
-<function name="gst_element_provide_clock">
+<function name="gst_index_factory_make">
<description>
-Get the clock provided by the given element.
-&lt;note&gt;An element is only required to provide a clock in the PAUSED
-state. Some elements can provide a clock in other states.&lt;/note&gt;
+Create a new #GstIndex instance from the
+indexfactory with the given name.
</description>
<parameters>
-<parameter name="element">
-<parameter_description> a #GstElement to query
+<parameter name="name">
+<parameter_description> the name of the factory used to create the instance
</parameter_description>
</parameter>
</parameters>
-<return> the GstClock provided by the element or %NULL
-if no clock could be provided. Unref after usage.
-
-MT safe.
+<return> A new #GstIndex instance.
</return>
</function>
@@ -19281,28 +19353,28 @@
</return>
</function>
-<function name="gst_index_entry_assoc_map">
+<function name="gst_pad_activate_push">
<description>
-Gets alternative formats associated with the indexentry.
+Activates or deactivates the given pad in push mode via dispatching to the
+pad's activatepushfunc. For use from within pad activation functions only.
+
+If you don't know what this is, you probably don't want to call it.
</description>
<parameters>
-<parameter name="entry">
-<parameter_description> the index to search
-</parameter_description>
-</parameter>
-<parameter name="format">
-<parameter_description> the format of the value the find
+<parameter name="pad">
+<parameter_description> the #GstPad to activate or deactivate.
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> a pointer to store the value
+<parameter name="active">
+<parameter_description> whether the pad should be active or not.
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if there was a value associated with the given
-format.
+<return> %TRUE if the operation was successful.
+
+MT safe.
</return>
</function>
@@ -19709,38 +19781,19 @@
</return>
</function>
-<function name="gst_element_link_pads_filtered">
+<function name="gst_element_factory_get_klass">
<description>
-Links the two named pads of the source and destination elements. Side effect
-is that if one of the pads has no parent, it becomes a child of the parent of
-the other element. If they have different parents, the link fails. If @caps
-is not #NULL, makes sure that the caps of the link is a subset of @caps.
+Gets the class for this factory.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> a #GstElement containing the source pad.
-</parameter_description>
-</parameter>
-<parameter name="srcpadname">
-<parameter_description> the name of the #GstPad in source element or NULL for any pad.
-</parameter_description>
-</parameter>
-<parameter name="dest">
-<parameter_description> the #GstElement containing the destination pad.
-</parameter_description>
-</parameter>
-<parameter name="destpadname">
-<parameter_description> the name of the #GstPad in destination element or NULL for any pad.
-</parameter_description>
-</parameter>
-<parameter name="filter">
-<parameter_description> the #GstCaps to filter the link, or #NULL for no filter.
+<parameter name="factory">
+<parameter_description> a #GstElementFactory
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the pads could be linked, FALSE otherwise.
+<return> the class
</return>
</function>
@@ -19916,29 +19969,26 @@
</return>
</function>
-<function name="gst_pad_activate_push">
+<function name="gst_pad_set_setcaps_function">
<description>
-Activates or deactivates the given pad in push mode via dispatching to the
-pad's activatepushfunc. For use from within pad activation functions only.
-
-If you don't know what this is, you probably don't want to call it.
-
+Sets the given setcaps function for the pad. The setcaps function
+will be called whenever a buffer with a new media type is pushed or
+pulled from the pad. The pad/element needs to update its internal
+structures to process the new media type. If this new type is not
+acceptable, the setcaps function should return FALSE.
</description>
<parameters>
<parameter name="pad">
-<parameter_description> the #GstPad to activate or deactivate.
+<parameter_description> a #GstPad.
</parameter_description>
</parameter>
-<parameter name="active">
-<parameter_description> whether the pad should be active or not.
+<parameter name="setcaps">
+<parameter_description> the #GstPadSetCapsFunction to set.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the operation was successful.
-
-MT safe.
-</return>
+<return></return>
</function>
<function name="gst_event_parse_new_segment_full">
@@ -20185,19 +20235,19 @@
<return></return>
</function>
-<function name="gst_element_factory_get_author">
+<function name="gst_structure_get_name">
<description>
-Gets the author for this factory.
+Get the name of @structure as a string.
</description>
<parameters>
-<parameter name="factory">
-<parameter_description> a #GstElementFactory
+<parameter name="structure">
+<parameter_description> a #GstStructure
</parameter_description>
</parameter>
</parameters>
-<return> the author
+<return> the name of the structure.
</return>
</function>
@@ -21360,26 +21410,29 @@
</return>
</function>
-<function name="gst_poll_add_fd">
+<function name="gst_query_set_buffering_percent">
<description>
-Add a file descriptor to the file descriptor set.
+Set the percentage of buffered data. This is a value between 0 and 100.
+The @busy indicator is %TRUE when the buffering is in progress.
+Since: 0.10.20
</description>
<parameters>
-<parameter name="set">
-<parameter_description> a file descriptor set.
+<parameter name="query">
+<parameter_description> A valid #GstQuery of type GST_QUERY_BUFFERING.
</parameter_description>
</parameter>
-<parameter name="fd">
-<parameter_description> a file descriptor.
+<parameter name="busy">
+<parameter_description> if buffering is busy
+</parameter_description>
+</parameter>
+<parameter name="percent">
+<parameter_description> a buffering percent
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the file descriptor was successfully added to the set.
-
-Since: 0.10.18
-</return>
+<return></return>
</function>
<function name="gst_element_set_index">
@@ -21910,6 +21963,24 @@
</return>
</function>
+<function name="gst_value_list_append_value">
+<description>
+Appends @append_value to the GstValueList in @value.
+
+</description>
+<parameters>
+<parameter name="value">
+<parameter_description> a #GValue of type #GST_TYPE_LIST
+</parameter_description>
+</parameter>
+<parameter name="append_value">
+<parameter_description> the value to append
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="gst_tag_list_get_boolean">
<description>
Copies the contents for the given tag into the value, merging multiple values
@@ -22606,44 +22677,6 @@
<return></return>
</function>
-<function name="gst_filter_run">
-<description>
-Iterates over the elements in @list, calling @func with the
-list item data for each item. If @func returns TRUE, @data is
-prepended to the list of results returned. If @first is true,
-the search is halted after the first result is found.
-
-Since gst_filter_run() knows nothing about the type of @data, no
-reference will be taken (if @data refers to an object) and no copy of
- data wil be made in any other way when prepending @data to the list of
-results.
-
-
-</description>
-<parameters>
-<parameter name="list">
-<parameter_description> a linked list
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> the function to execute for each item
-</parameter_description>
-</parameter>
-<parameter name="first">
-<parameter_description> flag to stop execution after a successful item
-</parameter_description>
-</parameter>
-<parameter name="user_data">
-<parameter_description> user data
-</parameter_description>
-</parameter>
-</parameters>
-<return> the list of results. Free with g_list_free() when no longer needed
-(the data contained in the list is a flat copy and does need to be
-unreferenced or freed).
-</return>
-</function>
-
<function name="gst_element_change_state">
<description>
Perform @transition on @element.
@@ -23181,19 +23214,38 @@
<return></return>
</function>
-<function name="gst_element_factory_get_klass">
+<function name="gst_element_link_pads_filtered">
<description>
-Gets the class for this factory.
+Links the two named pads of the source and destination elements. Side effect
+is that if one of the pads has no parent, it becomes a child of the parent of
+the other element. If they have different parents, the link fails. If @caps
+is not #NULL, makes sure that the caps of the link is a subset of @caps.
</description>
<parameters>
-<parameter name="factory">
-<parameter_description> a #GstElementFactory
+<parameter name="src">
+<parameter_description> a #GstElement containing the source pad.
+</parameter_description>
+</parameter>
+<parameter name="srcpadname">
+<parameter_description> the name of the #GstPad in source element or NULL for any pad.
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> the #GstElement containing the destination pad.
+</parameter_description>
+</parameter>
+<parameter name="destpadname">
+<parameter_description> the name of the #GstPad in destination element or NULL for any pad.
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> the #GstCaps to filter the link, or #NULL for no filter.
</parameter_description>
</parameter>
</parameters>
-<return> the class
+<return> TRUE if the pads could be linked, FALSE otherwise.
</return>
</function>
@@ -23420,29 +23472,26 @@
</return>
</function>
-<function name="gst_query_set_buffering_percent">
+<function name="gst_poll_add_fd">
<description>
-Set the percentage of buffered data. This is a value between 0 and 100.
-The @busy indicator is %TRUE when the buffering is in progress.
+Add a file descriptor to the file descriptor set.
-Since: 0.10.20
</description>
<parameters>
-<parameter name="query">
-<parameter_description> A valid #GstQuery of type GST_QUERY_BUFFERING.
-</parameter_description>
-</parameter>
-<parameter name="busy">
-<parameter_description> if buffering is busy
+<parameter name="set">
+<parameter_description> a file descriptor set.
</parameter_description>
</parameter>
-<parameter name="percent">
-<parameter_description> a buffering percent
+<parameter name="fd">
+<parameter_description> a file descriptor.
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if the file descriptor was successfully added to the set.
+
+Since: 0.10.18
+</return>
</function>
<function name="gst_object_suggest_next_sync">
@@ -23546,6 +23595,23 @@
This function will run a main loop from the default main context when
polling.
+You should never use this function, since it is pure evil. This is
+especially true for GUI applications based on Gtk+ or Qt, but also for any
+other non-trivial application that uses the GLib main loop. As this function
+runs a GLib main loop, any callback attached to the default GLib main
+context may be invoked. This could be timeouts, GUI events, I/O events etc.;
+even if gst_bus_poll() is called with a 0 timeout. Any of these callbacks
+may do things you do not expect, e.g. destroy the main application window or
+some other resource; change other application state; display a dialog and
+run another main loop until the user clicks it away. In short, using this
+function may add a lot of complexity to your code through unexpected
+re-entrancy and unexpected changes to your application's state.
+
+For 0 timeouts use gst_bus_pop_filtered() instead of this function; for
+other short timeouts use gst_bus_timed_pop_filtered(); everything else is
+better handled by setting up an asynchronous bus watch and doing things
+from there.
+
</description>
<parameters>
@@ -23559,7 +23625,8 @@
</parameter_description>
</parameter>
<parameter name="timeout">
-<parameter_description> the poll timeout, as a #GstClockTimeDiff, or -1 to poll indefinitely.
+<parameter_description> the poll timeout, as a #GstClockTimeDiff, or -1 to poll
+indefinitely.
</parameter_description>
</parameter>
</parameters>
@@ -23727,33 +23794,28 @@
<return></return>
</function>
-<function name="gst_element_register">
+<function name="gst_tag_list_merge">
<description>
-Create a new elementfactory capable of instantiating objects of the
- type and add the factory to @plugin.
+Merges the two given lists into a new list. If one of the lists is NULL, a
+copy of the other is returned. If both lists are NULL, NULL is returned.
</description>
<parameters>
-<parameter name="plugin">
-<parameter_description> #GstPlugin to register the element with, or NULL for a static
-element (note that passing NULL only works in GStreamer 0.10.13 and later)
-</parameter_description>
-</parameter>
-<parameter name="name">
-<parameter_description> name of elements of this type
+<parameter name="list1">
+<parameter_description> first list to merge
</parameter_description>
</parameter>
-<parameter name="rank">
-<parameter_description> rank of element (higher rank means more importance when autoplugging)
+<parameter name="list2">
+<parameter_description> second list to merge
</parameter_description>
</parameter>
-<parameter name="type">
-<parameter_description> GType of element to register
+<parameter name="mode">
+<parameter_description> the mode to use
</parameter_description>
</parameter>
</parameters>
-<return> TRUE, if the registering succeeded, FALSE on error
+<return> the new list
</return>
</function>
@@ -23884,28 +23946,33 @@
</return>
</function>
-<function name="gst_tag_list_merge">
+<function name="gst_element_register">
<description>
-Merges the two given lists into a new list. If one of the lists is NULL, a
-copy of the other is returned. If both lists are NULL, NULL is returned.
+Create a new elementfactory capable of instantiating objects of the
+ type and add the factory to @plugin.
</description>
<parameters>
-<parameter name="list1">
-<parameter_description> first list to merge
+<parameter name="plugin">
+<parameter_description> #GstPlugin to register the element with, or NULL for a static
+element (note that passing NULL only works in GStreamer 0.10.13 and later)
</parameter_description>
</parameter>
-<parameter name="list2">
-<parameter_description> second list to merge
+<parameter name="name">
+<parameter_description> name of elements of this type
</parameter_description>
</parameter>
-<parameter name="mode">
-<parameter_description> the mode to use
+<parameter name="rank">
+<parameter_description> rank of element (higher rank means more importance when autoplugging)
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> GType of element to register
</parameter_description>
</parameter>
</parameters>
-<return> the new list
+<return> TRUE, if the registering succeeded, FALSE on error
</return>
</function>
Modified: gstreamermm/trunk/gstreamer/src/gst_methods.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_methods.defs (original)
+++ gstreamermm/trunk/gstreamer/src/gst_methods.defs Mon Jul 21 03:25:26 2008
@@ -499,6 +499,8 @@
'("demux" "GST_STREAM_ERROR_DEMUX")
'("mux" "GST_STREAM_ERROR_MUX")
'("format" "GST_STREAM_ERROR_FORMAT")
+ '("decrypt" "GST_STREAM_ERROR_DECRYPT")
+ '("decrypt-nokey" "GST_STREAM_ERROR_DECRYPT_NOKEY")
'("num-errors" "GST_STREAM_ERROR_NUM_ERRORS")
)
)
@@ -843,6 +845,16 @@
)
)
+(define-flags ParseFlags
+ (in-module "Gst")
+ (c-name "GstParseFlags")
+ (gtype-id "GST_TYPE_PARSE_FLAGS")
+ (values
+ '("none" "GST_PARSE_FLAG_NONE")
+ '("fatal-errors" "GST_PARSE_FLAG_FATAL_ERRORS")
+ )
+)
+
(define-flags PipelineFlags
(in-module "Gst")
(c-name "GstPipelineFlags")
@@ -900,6 +912,19 @@
'("segment" "GST_QUERY_SEGMENT")
'("convert" "GST_QUERY_CONVERT")
'("formats" "GST_QUERY_FORMATS")
+ '("buffering" "GST_QUERY_BUFFERING")
+ )
+)
+
+(define-enum BufferingMode
+ (in-module "Gst")
+ (c-name "GstBufferingMode")
+ (gtype-id "GST_TYPE_BUFFERING_MODE")
+ (values
+ '("stream" "GST_BUFFERING_STREAM")
+ '("download" "GST_BUFFERING_DOWNLOAD")
+ '("timeshift" "GST_BUFFERING_TIMESHIFT")
+ '("live" "GST_BUFFERING_LIVE")
)
)
@@ -2750,6 +2775,11 @@
(return-type "GType")
)
+(define-function gst_buffering_mode_get_type
+ (c-name "gst_buffering_mode_get_type")
+ (return-type "GType")
+)
+
(define-function gst_tag_merge_mode_get_type
(c-name "gst_tag_merge_mode_get_type")
(return-type "GType")
@@ -2785,6 +2815,11 @@
(return-type "GType")
)
+(define-function gst_parse_flags_get_type
+ (c-name "gst_parse_flags_get_type")
+ (return-type "GType")
+)
+
;; From gsterror.h
@@ -2856,6 +2891,15 @@
(return-type "const-GstStructure*")
)
+(define-method has_name
+ (of-object "GstEvent")
+ (c-name "gst_event_has_name")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
(define-function gst_event_new_flush_start
(c-name "gst_event_new_flush_start")
(return-type "GstEvent*")
@@ -3931,7 +3975,17 @@
(parameters
'("GstObject*" "src")
'("GError*" "error")
- '("gchar*" "debug")
+ '("const-gchar*" "debug")
+ )
+)
+
+(define-method parse_error
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_error")
+ (return-type "none")
+ (parameters
+ '("GError**" "gerror")
+ '("gchar**" "debug")
)
)
@@ -3941,7 +3995,17 @@
(parameters
'("GstObject*" "src")
'("GError*" "error")
- '("gchar*" "debug")
+ '("const-gchar*" "debug")
+ )
+)
+
+(define-method parse_warning
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_warning")
+ (return-type "none")
+ (parameters
+ '("GError**" "gerror")
+ '("gchar**" "debug")
)
)
@@ -3951,7 +4015,17 @@
(parameters
'("GstObject*" "src")
'("GError*" "error")
- '("gchar*" "debug")
+ '("const-gchar*" "debug")
+ )
+)
+
+(define-method parse_info
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_info")
+ (return-type "none")
+ (parameters
+ '("GError**" "gerror")
+ '("gchar**" "debug")
)
)
@@ -3964,6 +4038,15 @@
)
)
+(define-method parse_tag
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_tag")
+ (return-type "none")
+ (parameters
+ '("GstTagList**" "tag_list")
+ )
+)
+
(define-function gst_message_new_buffering
(c-name "gst_message_new_buffering")
(return-type "GstMessage*")
@@ -3973,6 +4056,39 @@
)
)
+(define-method parse_buffering
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_buffering")
+ (return-type "none")
+ (parameters
+ '("gint*" "percent")
+ )
+)
+
+(define-method set_buffering_stats
+ (of-object "GstMessage")
+ (c-name "gst_message_set_buffering_stats")
+ (return-type "none")
+ (parameters
+ '("GstBufferingMode" "mode")
+ '("gint" "avg_in")
+ '("gint" "avg_out")
+ '("gint64" "buffering_left")
+ )
+)
+
+(define-method parse_buffering_stats
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_buffering_stats")
+ (return-type "none")
+ (parameters
+ '("GstBufferingMode*" "mode")
+ '("gint*" "avg_in")
+ '("gint*" "avg_out")
+ '("gint64*" "buffering_left")
+ )
+)
+
(define-function gst_message_new_state_changed
(c-name "gst_message_new_state_changed")
(return-type "GstMessage*")
@@ -3984,6 +4100,17 @@
)
)
+(define-method parse_state_changed
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_state_changed")
+ (return-type "none")
+ (parameters
+ '("GstState*" "oldstate")
+ '("GstState*" "newstate")
+ '("GstState*" "pending")
+ )
+)
+
(define-function gst_message_new_state_dirty
(c-name "gst_message_new_state_dirty")
(return-type "GstMessage*")
@@ -4002,6 +4129,16 @@
)
)
+(define-method parse_clock_provide
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_clock_provide")
+ (return-type "none")
+ (parameters
+ '("GstClock**" "clock")
+ '("gboolean*" "ready")
+ )
+)
+
(define-function gst_message_new_clock_lost
(c-name "gst_message_new_clock_lost")
(return-type "GstMessage*")
@@ -4011,6 +4148,15 @@
)
)
+(define-method parse_clock_lost
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_clock_lost")
+ (return-type "none")
+ (parameters
+ '("GstClock**" "clock")
+ )
+)
+
(define-function gst_message_new_new_clock
(c-name "gst_message_new_new_clock")
(return-type "GstMessage*")
@@ -4020,6 +4166,15 @@
)
)
+(define-method parse_new_clock
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_new_clock")
+ (return-type "none")
+ (parameters
+ '("GstClock**" "clock")
+ )
+)
+
(define-function gst_message_new_application
(c-name "gst_message_new_application")
(return-type "GstMessage*")
@@ -4048,6 +4203,16 @@
)
)
+(define-method parse_segment_start
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_segment_start")
+ (return-type "none")
+ (parameters
+ '("GstFormat*" "format")
+ '("gint64*" "position")
+ )
+)
+
(define-function gst_message_new_segment_done
(c-name "gst_message_new_segment_done")
(return-type "GstMessage*")
@@ -4058,30 +4223,33 @@
)
)
-(define-function gst_message_new_duration
- (c-name "gst_message_new_duration")
- (return-type "GstMessage*")
+(define-method parse_segment_done
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_segment_done")
+ (return-type "none")
(parameters
- '("GstObject*" "src")
- '("GstFormat" "format")
- '("gint64" "duration")
+ '("GstFormat*" "format")
+ '("gint64*" "position")
)
)
-(define-function gst_message_new_async_start
- (c-name "gst_message_new_async_start")
+(define-function gst_message_new_duration
+ (c-name "gst_message_new_duration")
(return-type "GstMessage*")
(parameters
'("GstObject*" "src")
- '("gboolean" "new_base_time")
+ '("GstFormat" "format")
+ '("gint64" "duration")
)
)
-(define-function gst_message_new_async_done
- (c-name "gst_message_new_async_done")
- (return-type "GstMessage*")
+(define-method parse_duration
+ (of-object "GstMessage")
+ (c-name "gst_message_parse_duration")
+ (return-type "none")
(parameters
- '("GstObject*" "src")
+ '("GstFormat*" "format")
+ '("gint64*" "duration")
)
)
@@ -4093,139 +4261,39 @@
)
)
-(define-function gst_message_new_custom
- (c-name "gst_message_new_custom")
- (return-type "GstMessage*")
- (parameters
- '("GstMessageType" "type")
- '("GstObject*" "src")
- '("GstStructure*" "structure")
- )
-)
-
-(define-method parse_error
- (of-object "GstMessage")
- (c-name "gst_message_parse_error")
- (return-type "none")
- (parameters
- '("GError**" "gerror")
- '("gchar**" "debug")
- )
-)
-
-(define-method parse_warning
- (of-object "GstMessage")
- (c-name "gst_message_parse_warning")
- (return-type "none")
- (parameters
- '("GError**" "gerror")
- '("gchar**" "debug")
- )
-)
-
-(define-method parse_info
- (of-object "GstMessage")
- (c-name "gst_message_parse_info")
- (return-type "none")
- (parameters
- '("GError**" "gerror")
- '("gchar**" "debug")
- )
-)
-
-(define-method parse_tag
- (of-object "GstMessage")
- (c-name "gst_message_parse_tag")
- (return-type "none")
- (parameters
- '("GstTagList**" "tag_list")
- )
-)
-
-(define-method parse_buffering
- (of-object "GstMessage")
- (c-name "gst_message_parse_buffering")
- (return-type "none")
- (parameters
- '("gint*" "percent")
- )
-)
-
-(define-method parse_state_changed
- (of-object "GstMessage")
- (c-name "gst_message_parse_state_changed")
- (return-type "none")
- (parameters
- '("GstState*" "oldstate")
- '("GstState*" "newstate")
- '("GstState*" "pending")
- )
-)
-
-(define-method parse_clock_provide
- (of-object "GstMessage")
- (c-name "gst_message_parse_clock_provide")
- (return-type "none")
- (parameters
- '("GstClock**" "clock")
- '("gboolean*" "ready")
- )
-)
-
-(define-method parse_clock_lost
- (of-object "GstMessage")
- (c-name "gst_message_parse_clock_lost")
- (return-type "none")
- (parameters
- '("GstClock**" "clock")
- )
-)
-
-(define-method parse_new_clock
- (of-object "GstMessage")
- (c-name "gst_message_parse_new_clock")
- (return-type "none")
- (parameters
- '("GstClock**" "clock")
- )
-)
-
-(define-method parse_segment_start
- (of-object "GstMessage")
- (c-name "gst_message_parse_segment_start")
- (return-type "none")
+(define-function gst_message_new_async_start
+ (c-name "gst_message_new_async_start")
+ (return-type "GstMessage*")
(parameters
- '("GstFormat*" "format")
- '("gint64*" "position")
+ '("GstObject*" "src")
+ '("gboolean" "new_base_time")
)
)
-(define-method parse_segment_done
+(define-method parse_async_start
(of-object "GstMessage")
- (c-name "gst_message_parse_segment_done")
+ (c-name "gst_message_parse_async_start")
(return-type "none")
(parameters
- '("GstFormat*" "format")
- '("gint64*" "position")
+ '("gboolean*" "new_base_time")
)
)
-(define-method parse_duration
- (of-object "GstMessage")
- (c-name "gst_message_parse_duration")
- (return-type "none")
+(define-function gst_message_new_async_done
+ (c-name "gst_message_new_async_done")
+ (return-type "GstMessage*")
(parameters
- '("GstFormat*" "format")
- '("gint64*" "duration")
+ '("GstObject*" "src")
)
)
-(define-method parse_async_start
- (of-object "GstMessage")
- (c-name "gst_message_parse_async_start")
- (return-type "none")
+(define-function gst_message_new_custom
+ (c-name "gst_message_new_custom")
+ (return-type "GstMessage*")
(parameters
- '("gboolean*" "new_base_time")
+ '("GstMessageType" "type")
+ '("GstObject*" "src")
+ '("GstStructure*" "structure")
)
)
@@ -5181,6 +5249,24 @@
(return-type "GQuark")
)
+(define-function gst_parse_context_new
+ (c-name "gst_parse_context_new")
+ (is-constructor-of "GstParseContext")
+ (return-type "GstParseContext*")
+)
+
+(define-method get_missing_elements
+ (of-object "GstParseContext")
+ (c-name "gst_parse_context_get_missing_elements")
+ (return-type "gchar**")
+)
+
+(define-method free
+ (of-object "GstParseContext")
+ (c-name "gst_parse_context_free")
+ (return-type "none")
+)
+
(define-function gst_parse_launch
(c-name "gst_parse_launch")
(return-type "GstElement*")
@@ -5199,6 +5285,28 @@
)
)
+(define-function gst_parse_launch_full
+ (c-name "gst_parse_launch_full")
+ (return-type "GstElement*")
+ (parameters
+ '("const-gchar*" "pipeline_description")
+ '("GstParseContext*" "context")
+ '("GstParseFlags" "flags")
+ '("GError**" "error")
+ )
+)
+
+(define-function gst_parse_launchv_full
+ (c-name "gst_parse_launchv_full")
+ (return-type "GstElement*")
+ (parameters
+ '("const-gchar**" "argv")
+ '("GstParseContext*" "context")
+ '("GstParseFlags" "flags")
+ '("GError**" "error")
+ )
+)
+
;; From gstpipeline.h
@@ -5645,6 +5753,86 @@
+;; From gstpreset.h
+
+(define-function gst_preset_get_type
+ (c-name "gst_preset_get_type")
+ (return-type "GType")
+)
+
+(define-method get_preset_names
+ (of-object "GstPreset")
+ (c-name "gst_preset_get_preset_names")
+ (return-type "gchar**")
+)
+
+(define-method get_property_names
+ (of-object "GstPreset")
+ (c-name "gst_preset_get_property_names")
+ (return-type "gchar**")
+)
+
+(define-method load_preset
+ (of-object "GstPreset")
+ (c-name "gst_preset_load_preset")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method save_preset
+ (of-object "GstPreset")
+ (c-name "gst_preset_save_preset")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method rename_preset
+ (of-object "GstPreset")
+ (c-name "gst_preset_rename_preset")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "old_name")
+ '("const-gchar*" "new_name")
+ )
+)
+
+(define-method delete_preset
+ (of-object "GstPreset")
+ (c-name "gst_preset_delete_preset")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method set_meta
+ (of-object "GstPreset")
+ (c-name "gst_preset_set_meta")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-gchar*" "tag")
+ '("const-gchar*" "value")
+ )
+)
+
+(define-method get_meta
+ (of-object "GstPreset")
+ (c-name "gst_preset_get_meta")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-gchar*" "tag")
+ '("gchar**" "value")
+ )
+)
+
+
+
;; From gstquery.h
(define-method get_name
@@ -5941,6 +6129,82 @@
)
)
+(define-function gst_query_new_buffering
+ (c-name "gst_query_new_buffering")
+ (return-type "GstQuery*")
+ (parameters
+ '("GstFormat" "format")
+ )
+)
+
+(define-method set_buffering_percent
+ (of-object "GstQuery")
+ (c-name "gst_query_set_buffering_percent")
+ (return-type "none")
+ (parameters
+ '("gboolean" "busy")
+ '("gint" "percent")
+ )
+)
+
+(define-method parse_buffering_percent
+ (of-object "GstQuery")
+ (c-name "gst_query_parse_buffering_percent")
+ (return-type "none")
+ (parameters
+ '("gboolean*" "busy")
+ '("gint*" "percent")
+ )
+)
+
+(define-method set_buffering_stats
+ (of-object "GstQuery")
+ (c-name "gst_query_set_buffering_stats")
+ (return-type "none")
+ (parameters
+ '("GstBufferingMode" "mode")
+ '("gint" "avg_in")
+ '("gint" "avg_out")
+ '("gint64" "buffering_left")
+ )
+)
+
+(define-method parse_buffering_stats
+ (of-object "GstQuery")
+ (c-name "gst_query_parse_buffering_stats")
+ (return-type "none")
+ (parameters
+ '("GstBufferingMode*" "mode")
+ '("gint*" "avg_in")
+ '("gint*" "avg_out")
+ '("gint64*" "buffering_left")
+ )
+)
+
+(define-method set_buffering_range
+ (of-object "GstQuery")
+ (c-name "gst_query_set_buffering_range")
+ (return-type "none")
+ (parameters
+ '("GstFormat" "format")
+ '("gint64" "start")
+ '("gint64" "stop")
+ '("gint64" "estimated_total")
+ )
+)
+
+(define-method parse_buffering_range
+ (of-object "GstQuery")
+ (c-name "gst_query_parse_buffering_range")
+ (return-type "none")
+ (parameters
+ '("GstFormat*" "format")
+ '("gint64*" "start")
+ '("gint64*" "stop")
+ '("gint64*" "estimated_total")
+ )
+)
+
;; From gstregistry.h
@@ -6142,6 +6406,12 @@
(return-type "GstSegment*")
)
+(define-method copy
+ (of-object "GstSegment")
+ (c-name "gst_segment_copy")
+ (return-type "GstSegment*")
+)
+
(define-method free
(of-object "GstSegment")
(c-name "gst_segment_free")
@@ -7539,6 +7809,18 @@
)
)
+(define-method suggest_simple
+ (of-object "GstTypeFind")
+ (c-name "gst_type_find_suggest_simple")
+ (return-type "none")
+ (parameters
+ '("guint" "probability")
+ '("const-char*" "media_type")
+ '("const-char*" "fieldname")
+ )
+ (varargs #t)
+)
+
(define-method get_length
(of-object "GstTypeFind")
(c-name "gst_type_find_get_length")
@@ -8112,6 +8394,15 @@
(varargs #t)
)
+(define-method find_unlinked_pad
+ (of-object "GstBin")
+ (c-name "gst_bin_find_unlinked_pad")
+ (return-type "GstPad*")
+ (parameters
+ '("GstPadDirection" "direction")
+ )
+)
+
(define-method find_unconnected_pad
(of-object "GstBin")
(c-name "gst_bin_find_unconnected_pad")
@@ -8167,6 +8458,17 @@
)
)
+(define-method add_data_probe_full
+ (of-object "GstPad")
+ (c-name "gst_pad_add_data_probe_full")
+ (return-type "gulong")
+ (parameters
+ '("GCallback" "handler")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
(define-method remove_data_probe
(of-object "GstPad")
(c-name "gst_pad_remove_data_probe")
@@ -8186,6 +8488,17 @@
)
)
+(define-method add_event_probe_full
+ (of-object "GstPad")
+ (c-name "gst_pad_add_event_probe_full")
+ (return-type "gulong")
+ (parameters
+ '("GCallback" "handler")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
(define-method remove_event_probe
(of-object "GstPad")
(c-name "gst_pad_remove_event_probe")
@@ -8205,6 +8518,17 @@
)
)
+(define-method add_buffer_probe_full
+ (of-object "GstPad")
+ (c-name "gst_pad_add_buffer_probe_full")
+ (return-type "gulong")
+ (parameters
+ '("GCallback" "handler")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
(define-method remove_buffer_probe
(of-object "GstPad")
(c-name "gst_pad_remove_buffer_probe")
@@ -8238,7 +8562,19 @@
(return-type "GstElement*")
(parameters
'("const-gchar*" "bin_description")
- '("gboolean" "ghost_unconnected_pads")
+ '("gboolean" "ghost_unlinked_pads")
+ '("GError**" "err")
+ )
+)
+
+(define-function gst_parse_bin_from_description_full
+ (c-name "gst_parse_bin_from_description_full")
+ (return-type "GstElement*")
+ (parameters
+ '("const-gchar*" "bin_description")
+ '("gboolean" "ghost_unlinked_pads")
+ '("GstParseContext*" "context")
+ '("GstParseFlags" "flags")
'("GError**" "err")
)
)
@@ -9017,6 +9353,31 @@
(return-type "GstClockTime")
)
+(define-method set_render_delay
+ (of-object "GstBaseSink")
+ (c-name "gst_base_sink_set_render_delay")
+ (return-type "none")
+ (parameters
+ '("GstClockTime" "delay")
+ )
+)
+
+(define-method get_render_delay
+ (of-object "GstBaseSink")
+ (c-name "gst_base_sink_get_render_delay")
+ (return-type "GstClockTime")
+)
+
+(define-method wait_clock
+ (of-object "GstBaseSink")
+ (c-name "gst_base_sink_wait_clock")
+ (return-type "GstClockReturn")
+ (parameters
+ '("GstClockTime" "time")
+ '("GstClockTimeDiff*" "jitter")
+ )
+)
+
(define-method wait_eos
(of-object "GstBaseSink")
(c-name "gst_base_sink_wait_eos")
@@ -10236,6 +10597,35 @@
)
)
+(define-function gst_check_setup_src_pad_by_name
+ (c-name "gst_check_setup_src_pad_by_name")
+ (return-type "GstPad*")
+ (parameters
+ '("GstElement*" "element")
+ '("GstStaticPadTemplate*" "template")
+ '("gchar*" "name")
+ )
+)
+
+(define-function gst_check_setup_sink_pad_by_name
+ (c-name "gst_check_setup_sink_pad_by_name")
+ (return-type "GstPad*")
+ (parameters
+ '("GstElement*" "element")
+ '("GstStaticPadTemplate*" "template")
+ '("gchar*" "name")
+ )
+)
+
+(define-function gst_check_teardown_pad_by_name
+ (c-name "gst_check_teardown_pad_by_name")
+ (return-type "none")
+ (parameters
+ '("GstElement*" "element")
+ '("gchar*" "name")
+ )
+)
+
(define-function gst_check_teardown_src_pad
(c-name "gst_check_teardown_src_pad")
(return-type "none")
Modified: gstreamermm/trunk/gstreamer/src/gst_signals.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_signals.defs (original)
+++ gstreamermm/trunk/gstreamer/src/gst_signals.defs Mon Jul 21 03:25:26 2008
@@ -1,66 +1,3 @@
-;; Note: the following signals need to be modified manually each time
-;; this file is regenerated:
-;; sync-message (GstBus)
-;; message (GstBus)
-;; child-added (GstChildProxy)
-;; child-removed (GstChildProxy)
-;; parent-set (GstObject)
-;; parent-unset (GstObject)
-;; have-data (GstPad)
-;; plugin-added (GstRegistry)
-;; feature-added (GstRegistry)
-;; object-loaded (GstXML)
-;;
-;; The following signals must also be written out:
-;; new-uri (GstURIHandler)
-
-;; From GstBaseSrc
-
-(define-property name
- (of-object "GstBaseSrc")
- (prop-type "GParamString")
- (docs "The name of the object")
- (readable #t)
- (writable #t)
- (construct-only #f)
-)
-
-(define-property blocksize
- (of-object "GstBaseSrc")
- (prop-type "GParamULong")
- (docs "Size in bytes to read per buffer (0 = default)")
- (readable #t)
- (writable #t)
- (construct-only #f)
-)
-
-(define-property num-buffers
- (of-object "GstBaseSrc")
- (prop-type "GParamInt")
- (docs "Number of buffers to output before sending EOS")
- (readable #t)
- (writable #t)
- (construct-only #f)
-)
-
-(define-property typefind
- (of-object "GstBaseSrc")
- (prop-type "GParamBoolean")
- (docs "Run typefind before negotiating")
- (readable #t)
- (writable #t)
- (construct-only #f)
-)
-
-(define-property do-timestamp
- (of-object "GstBaseSrc")
- (prop-type "GParamBoolean")
- (docs "Apply current stream time to buffers")
- (readable #t)
- (writable #t)
- (construct-only #f)
-)
-
;; From GstBus
(define-signal sync-message
@@ -342,7 +279,7 @@
(return-type "void")
(when "last")
(parameters
- '("GObject*" "p0")
+ '("GstObject*" "p0")
)
)
@@ -351,7 +288,7 @@
(return-type "void")
(when "last")
(parameters
- '("GObject*" "p0")
+ '("GstObject*" "p0")
)
)
@@ -676,3 +613,245 @@
(construct-only #f)
)
+;; From GstBaseSrc
+
+(define-property name
+ (of-object "GstBaseSrc")
+ (prop-type "GParamString")
+ (docs "The name of the object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property blocksize
+ (of-object "GstBaseSrc")
+ (prop-type "GParamULong")
+ (docs "Size in bytes to read per buffer (0 = default)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property num-buffers
+ (of-object "GstBaseSrc")
+ (prop-type "GParamInt")
+ (docs "Number of buffers to output before sending EOS")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property typefind
+ (of-object "GstBaseSrc")
+ (prop-type "GParamBoolean")
+ (docs "Run typefind before negotiating")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property do-timestamp
+ (of-object "GstBaseSrc")
+ (prop-type "GParamBoolean")
+ (docs "Apply current stream time to buffers")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GstBaseSink
+
+(define-property name
+ (of-object "GstBaseSink")
+ (prop-type "GParamString")
+ (docs "The name of the object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property preroll-queue-len
+ (of-object "GstBaseSink")
+ (prop-type "GParamUInt")
+ (docs "Number of buffers to queue during preroll")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sync
+ (of-object "GstBaseSink")
+ (prop-type "GParamBoolean")
+ (docs "Sync on the clock")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-lateness
+ (of-object "GstBaseSink")
+ (prop-type "GParamInt64")
+ (docs "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property qos
+ (of-object "GstBaseSink")
+ (prop-type "GParamBoolean")
+ (docs "Generate Quality-of-Service events upstream")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property async
+ (of-object "GstBaseSink")
+ (prop-type "GParamBoolean")
+ (docs "Go asynchronously to PAUSED")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ts-offset
+ (of-object "GstBaseSink")
+ (prop-type "GParamInt64")
+ (docs "Timestamp offset in nanoseconds")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property last-buffer
+ (of-object "GstBaseSink")
+ (prop-type "GParamSpecMiniObject")
+ (docs "The last buffer received in the sink")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GstBaseTransform
+
+(define-property name
+ (of-object "GstBaseTransform")
+ (prop-type "GParamString")
+ (docs "The name of the object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property qos
+ (of-object "GstBaseTransform")
+ (prop-type "GParamBoolean")
+ (docs "Handle Quality-of-Service events")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GstPushSrc
+
+(define-property name
+ (of-object "GstPushSrc")
+ (prop-type "GParamString")
+ (docs "The name of the object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property blocksize
+ (of-object "GstPushSrc")
+ (prop-type "GParamULong")
+ (docs "Size in bytes to read per buffer (0 = default)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property num-buffers
+ (of-object "GstPushSrc")
+ (prop-type "GParamInt")
+ (docs "Number of buffers to output before sending EOS")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property typefind
+ (of-object "GstPushSrc")
+ (prop-type "GParamBoolean")
+ (docs "Run typefind before negotiating")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property do-timestamp
+ (of-object "GstPushSrc")
+ (prop-type "GParamBoolean")
+ (docs "Apply current stream time to buffers")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GstAdapter
+
+;; From GstCollectPads
+
+(define-property name
+ (of-object "GstCollectPads")
+ (prop-type "GParamString")
+ (docs "The name of the object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GstDataQueue
+
+(define-signal empty
+ (of-object "GstDataQueue")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal full
+ (of-object "GstDataQueue")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property current-level-visible
+ (of-object "GstDataQueue")
+ (prop-type "GParamUInt")
+ (docs "Current number of visible items in the queue")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property current-level-bytes
+ (of-object "GstDataQueue")
+ (prop-type "GParamUInt")
+ (docs "Current amount of data in the queue (bytes)")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property current-level-time
+ (of-object "GstDataQueue")
+ (prop-type "GParamUInt64")
+ (docs "Current amount of data in the queue (in ns)")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
Modified: gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs (original)
+++ gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs Mon Jul 21 03:25:26 2008
@@ -313,3 +313,104 @@
'("GstSegment*" "segment")
)
)
+
+; GstBaseSink
+
+(define-vfunc get_caps
+ (of-object "GstBaseSink")
+ (return-type "GstCaps*")
+)
+
+(define-vfunc set_caps
+ (of-object "GstBaseSink")
+ (return-type "gboolean")
+ (parameters
+ '("GstCaps*" "caps")
+ )
+)
+
+(define-vfunc buffer_alloc
+ (of-object "GstBaseSink")
+ (return-type "GstFlowReturn")
+ (parameters
+ '("guint64" "offset")
+ '("guint" "size")
+ '("GstCaps*" "caps")
+ '("GstBuffer**" "buf")
+ )
+)
+
+(define-vfunc get_times
+ (of-object "GstBaseSink")
+ (return-type "void")
+ (parameters
+ '("GstBuffer*" "buffer")
+ '("GstClockTime*" "start")
+ '("GstClockTime*" "end")
+ )
+)
+
+(define-vfunc start
+ (of-object "GstBaseSink")
+ (return-type "gboolean")
+)
+
+(define-vfunc stop
+ (of-object "GstBaseSink")
+ (return-type "gboolean")
+)
+
+(define-vfunc unlock
+ (of-object "GstBaseSink")
+ (return-type "gboolean")
+)
+
+(define-vfunc event
+ (of-object "GstBaseSink")
+ (return-type "gboolean")
+ (parameters
+ '("GstEvent*" "event")
+ )
+)
+
+(define-vfunc preroll
+ (of-object "GstBaseSink")
+ (return-type "GstFlowReturn")
+ (parameters
+ '("GstBuffer*" "buffer")
+ )
+)
+
+(define-vfunc render
+ (of-object "GstBaseSink")
+ (return-type "GstFlowReturn")
+ (parameters
+ '("GstBuffer*" "buffer")
+ )
+)
+
+(define-vfunc async_play
+ (of-object "GstBaseSink")
+ (return-type "GstStateChangeReturn")
+)
+
+(define-vfunc activate_pull
+ (of-object "GstBaseSink")
+ (return-type "gboolean")
+ (parameters
+ '("gboolean" "active")
+ )
+)
+
+(define-vfunc fixate
+ (of-object "GstBaseSink")
+ (return-type "void")
+ (parameters
+ '("GstCaps*" "caps")
+ )
+)
+
+(define-vfunc unlock_stop
+ (of-object "GstBaseSink")
+ (return-type "gboolean")
+)
Modified: gstreamermm/trunk/tools/extra_defs_gen/generate_defs_gst.cc
==============================================================================
--- gstreamermm/trunk/tools/extra_defs_gen/generate_defs_gst.cc (original)
+++ gstreamermm/trunk/tools/extra_defs_gen/generate_defs_gst.cc Mon Jul 21 03:25:26 2008
@@ -22,12 +22,17 @@
#include <glib.h>
#include <gst/gst.h>
#include <gst/base/gstbasesrc.h>
+#include <gst/base/gstbasesink.h>
+#include <gst/base/gstbasetransform.h>
+#include <gst/base/gstpushsrc.h>
+#include <gst/base/gstadapter.h>
+#include <gst/base/gstcollectpads.h>
+#include <gst/base/gstdataqueue.h>
int main (int argc, char *argv[])
{
gst_init (&argc, &argv);
- std::cout << get_defs(GST_TYPE_BASE_SRC)
- << get_defs(GST_TYPE_BUS)
+ std::cout << get_defs(GST_TYPE_BUS)
<< get_defs(GST_TYPE_BIN)
<< get_defs(GST_TYPE_BUFFER)
<< get_defs(GST_TYPE_CAPS)
@@ -61,6 +66,14 @@
<< get_defs(GST_TYPE_TYPE_FIND)
<< get_defs(GST_TYPE_TYPE_FIND_FACTORY)
<< get_defs(GST_TYPE_URI_HANDLER)
- << get_defs(GST_TYPE_XML);
+ << get_defs(GST_TYPE_XML)
+ << get_defs(GST_TYPE_BASE_SRC)
+ << get_defs(GST_TYPE_BASE_SINK)
+ << get_defs(GST_TYPE_BASE_TRANSFORM)
+ << get_defs(GST_TYPE_PUSH_SRC)
+ << get_defs(GST_TYPE_ADAPTER)
+ << get_defs(GST_TYPE_COLLECT_PADS)
+ << get_defs(GST_TYPE_DATA_QUEUE)
+ ;
return 0;
}
Modified: gstreamermm/trunk/tools/m4/convert_gst.m4
==============================================================================
--- gstreamermm/trunk/tools/m4/convert_gst.m4 (original)
+++ gstreamermm/trunk/tools/m4/convert_gst.m4 Mon Jul 21 03:25:26 2008
@@ -151,7 +151,8 @@
#Basic Gstreamermm Conversions
_CONVERSION(`ClockTime&',`GstClockTime*',`(GstClockTime*)(&($3))')
-_CONVERSION(`ClockTimeDiff',`GstClockTimeDiff',`GstClockTimeDiff ($3)')
+_CONVERSION(`ClockTimeDiff',`GstClockTimeDiff',`GstClockTimeDiff($3)')
+_CONVERSION(`GstClockTimeDiff',`ClockTimeDiff',`ClockTimeDiff($3)')
_CONVERSION(`ClockTimeDiff&',`GstClockTimeDiff*',`(GstClockTimeDiff*)(&($3))')
_CONVERSION(`Format&',`GstFormat*',`(($2) &($3))')
_CONVERSION(`GstClockTimeDiff*',`ClockTimeDiff&',`(ClockTimeDiff&)(*($3))')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]