gnomemm r1467 - in gstreamermm/trunk: . gstreamer/src tools/m4
- From: jaalburqu svn gnome org
- To: svn-commits-list gnome org
- Subject: gnomemm r1467 - in gstreamermm/trunk: . gstreamer/src tools/m4
- Date: Thu, 17 Apr 2008 22:30:24 +0100 (BST)
Author: jaalburqu
Date: Thu Apr 17 22:30:24 2008
New Revision: 1467
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1467&view=rev
Log:
2008-04-17 Josà Alburquerque <jaalburqu svn gnome org>
Fully qualified Gst classes in doc blocks of following (and all *.hg
in this commit):
* gstreamer/src/bin.hg:
* gstreamer/src/buffer.hg:
* gstreamer/src/bus.hg:
* gstreamer/src/caps.hg:
* gstreamer/src/element.hg:
* gstreamer/src/elementfactory.hg:
* gstreamer/src/index.hg:
* gstreamer/src/indexfactory.hg:
* gstreamer/src/interface.hg:
* gstreamer/src/pad.hg:
* gstreamer/src/parse.hg:
* gstreamer/src/pipeline.hg:
* gstreamer/src/plugin.hg:
* gstreamer/src/pluginfeature.hg:
* gstreamer/src/ghostpad.hg: Fixed parameter name typo
* gstreamer/src/childproxy.ccg:
* gstreamer/src/childproxy.hg: Modified {set,get}_proxy_property()
methods to return RefPtr to ChildProxy; Added signal docs
* gstreamer/src/clock.hg:
* tools/m4/convert_gst.m4: Wrapped {get,set}_calibration() methods
* gstreamer/src/event.hg:
* gstreamer/src/message.hg: Added class docs
* gstreamer/src/padtemplate.ccg:
* gstreamer/src/padtemplate.hg:
* gstreamer/src/gst_enums.defs: Added class docs; Wrapped
PadTemplateFlags enum; Used _WRAP_CREATE() for create() method;
Wrapped members name_template, direction, and presence; Added signal
and create() docs
* gstreamer/src/filter.hg: Fixed whitespace
Modified:
gstreamermm/trunk/ChangeLog
gstreamermm/trunk/gstreamer/src/bin.hg
gstreamermm/trunk/gstreamer/src/buffer.hg
gstreamermm/trunk/gstreamer/src/bus.hg
gstreamermm/trunk/gstreamer/src/caps.hg
gstreamermm/trunk/gstreamer/src/childproxy.ccg
gstreamermm/trunk/gstreamer/src/childproxy.hg
gstreamermm/trunk/gstreamer/src/clock.hg
gstreamermm/trunk/gstreamer/src/element.hg
gstreamermm/trunk/gstreamer/src/elementfactory.hg
gstreamermm/trunk/gstreamer/src/event.hg
gstreamermm/trunk/gstreamer/src/filter.hg
gstreamermm/trunk/gstreamer/src/ghostpad.hg
gstreamermm/trunk/gstreamer/src/gst_enums.defs
gstreamermm/trunk/gstreamer/src/index.hg
gstreamermm/trunk/gstreamer/src/indexfactory.hg
gstreamermm/trunk/gstreamer/src/interface.hg
gstreamermm/trunk/gstreamer/src/message.hg
gstreamermm/trunk/gstreamer/src/pad.hg
gstreamermm/trunk/gstreamer/src/padtemplate.ccg
gstreamermm/trunk/gstreamer/src/padtemplate.hg
gstreamermm/trunk/gstreamer/src/parse.hg
gstreamermm/trunk/gstreamer/src/pipeline.hg
gstreamermm/trunk/gstreamer/src/plugin.hg
gstreamermm/trunk/gstreamer/src/pluginfeature.hg
gstreamermm/trunk/tools/m4/convert_gst.m4
Modified: gstreamermm/trunk/gstreamer/src/bin.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/bin.hg (original)
+++ gstreamermm/trunk/gstreamer/src/bin.hg Thu Apr 17 22:30:24 2008
@@ -32,15 +32,15 @@
//TODO: Correct statements about iterators in class docs below:
-/** Bin â Base class and element that can contain other elements.
- * Bin is an element that can contain other Element, allowing them to be
- * managed as a group. Pads from the child elements can be ghosted to the bin,
- * see GstGhostPad. This makes the bin look like any other elements and enables
- * creation of higher-level abstraction elements.
- *
- * A new Bin is created with create(). Use a Pipeline instead if you want to
- * create a toplevel bin because a normal bin doesn't have a bus or handle
- * clock distribution of its own.
+/** Gst::Bin â Base class and element that can contain other elements.
+ * Gst::Bin is an element that can contain other Gst::Element, allowing them to
+ * be managed as a group. Pads from the child elements can be ghosted to the
+ * bin, see Gst::GhostPad. This makes the bin look like any other elements and
+ * enables creation of higher-level abstraction elements.
+ *
+ * A new Gst::Bin is created with create(). Use a Gst::Pipeline instead if you
+ * want to create a toplevel bin because a normal bin doesn't have a bus or
+ * handle clock distribution of its own.
*
* After the bin has been created you will typically add elements to it with
* add(). You can remove elements with remove().
@@ -59,35 +59,35 @@
*
* Notes:
*
- * A Bin internally intercepts every Message posted by its children and
- * implements the following default behaviour for each of them:
+ * A Gst::Bin internally intercepts every Gst::Message posted by its children
+ * and implements the following default behaviour for each of them:
*
- * MESSAGE_EOS - This message is only posted by sinks in the PLAYING state. If
- * all sinks posted the EOS message, this bin will post and EOS message
- * upwards.
+ * Gst::MESSAGE_EOS - This message is only posted by sinks in the PLAYING
+ * state. If all sinks posted the EOS message, this bin will post and EOS
+ * message upwards.
*
- * MESSAGE_SEGMENT_START - just collected and never forwarded upwards. The
+ * Gst::MESSAGE_SEGMENT_START - just collected and never forwarded upwards. The
* messages are used to decide when all elements have completed playback of
* their segment.
*
- * MESSAGE_SEGMENT_DONE - Is posted by Bin when all elements that posted a
- * SEGMENT_START have posted a SEGMENT_DONE.
+ * Gst::MESSAGE_SEGMENT_DONE - Is posted by Gst::Bin when all elements that
+ * posted a SEGMENT_START have posted a SEGMENT_DONE.
*
- * MESSAGE_DURATION - Is posted by an element that detected a change in the
- * stream duration. The default bin behaviour is to clear any cached duration
- * values so that the next duration query will perform a full duration
+ * Gst::MESSAGE_DURATION - Is posted by an element that detected a change in
+ * the stream duration. The default bin behaviour is to clear any cached
+ * duration values so that the next duration query will perform a full duration
* recalculation. The duration change is posted to the application so that it
* can refetch the new duration with a duration query.
*
- * MESSAGE_CLOCK_LOST - This message is posted by an element when it can no
- * longer provide a clock. The default bin behaviour is to check if the lost
+ * Gst::MESSAGE_CLOCK_LOST - This message is posted by an element when it can
+ * no longer provide a clock. The default bin behaviour is to check if the lost
* clock was the one provided by the bin. If so and the bin is currently in the
* PLAYING state, the message is forwarded to the bin parent. This message is
* also generated when a clock provider is removed from the bin. If this
* message is received by the application, it should PAUSE the pipeline and set
* it back to PLAYING to force a new clock distribution.
*
- * MESSAGE_CLOCK_PROVIDE - This message is generated when an element can
+ * Gst::MESSAGE_CLOCK_PROVIDE - This message is generated when an element can
* provide a clock. This mostly happens when a new clock provider is added to
* the bin. The default behaviour of the bin is to mark the currently selected
* clock as dirty, which will perform a clock recalculation the next time the
@@ -96,26 +96,28 @@
*
* OTHERS - posted upwards.
- * A Bin implements the following default behaviour for answering to a Query:
+ * A Gst::Bin implements the following default behaviour for answering to a
+ * Gst::Query:
*
- * QUERY_DURATION - If the query has been asked before with the same format and
- * the bin is a toplevel bin (ie. has no parent), use the cached previous
- * value. If no previous value was cached, the query is sent to all sink
- * elements in the bin and the MAXIMUM of all values is returned. If the bin is
- * a toplevel bin the value is cached. If no sinks are available in the bin,
- * the query fails.
+ * Gst::QUERY_DURATION - If the query has been asked before with the same
+ * format and the bin is a toplevel bin (ie. has no parent), use the cached
+ * previous value. If no previous value was cached, the query is sent to all
+ * sink elements in the bin and the MAXIMUM of all values is returned. If the
+ * bin is a toplevel bin the value is cached. If no sinks are available in the
+ * bin, the query fails.
*
- * QUERY_POSITION - The query is sent to all sink elements in the bin and the
- * MAXIMUM of all values is returned. If no sinks are available in the bin, the
- * query fails.
+ * Gst::QUERY_POSITION - The query is sent to all sink elements in the bin and
+ * the MAXIMUM of all values is returned. If no sinks are available in the bin,
+ * the query fails.
*
* OTHERS - the query is forwarded to all sink elements, the result of the
* first sink that answers the query successfully is returned. If no sink is in
* the bin, the query fails.
*
- * A Bin will by default forward any event sent to it to all sink elements. If
- * all the sinks return TRUE, the bin will also return TRUE, else FALSE is
- * returned. If no sinks are in the bin, the event handler will return TRUE.
+ * A Gst::Bin will by default forward any event sent to it to all sink
+ * elements. If all the sinks return TRUE, the bin will also return TRUE, else
+ * FALSE is returned. If no sinks are in the bin, the event handler will return
+ * TRUE.
*
* Last reviewed on 2006-04-28 (0.10.6)
*/
@@ -146,7 +148,7 @@
* MT safe.
*
* @param element the Gst::Element to add
- * @return this Gst::Bin (for further adding if wanted) if successful, NULL
+ * @return this Gst::Bin if successful (for further adding if wanted), NULL
* otherwise
*/
Glib::RefPtr<Bin> add(const Glib::RefPtr<Element>& element);
@@ -162,7 +164,7 @@
* MT safe.
*
* element the Gst::Element to remove
- * Returns this Gst::Bin (for further removing if wanted) if successful, NULL
+ * Returns this Gst::Bin if successful (for further removing if wanted), NULL
* otherwise
*/
Glib::RefPtr<Bin> remove(const Glib::RefPtr<Element>& element);
Modified: gstreamermm/trunk/gstreamer/src/buffer.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/buffer.hg (original)
+++ gstreamermm/trunk/gstreamer/src/buffer.hg Thu Apr 17 22:30:24 2008
@@ -32,10 +32,10 @@
_WRAP_ENUM(BufferFlag, GstBufferFlag)
_WRAP_ENUM(BufferCopyFlags, GstBufferCopyFlags)
-/** Buffer â Data-passing buffer type, supporting sub-buffers.
- * Buffers are the basic unit of data transfer in GStreamer. The Buffer type
- * provides all the state necessary to define a region of memory as part of a
- * stream. Sub-buffers are also supported, allowing a smaller region of a
+/** Gst::Buffer â Data-passing buffer type, supporting sub-buffers.
+ * Buffers are the basic unit of data transfer in GStreamer. The Gst::Buffer
+ * type provides all the state necessary to define a region of memory as part
+ * of a stream. Sub-buffers are also supported, allowing a smaller region of a
* buffer to become its own buffer, with mechanisms in place to ensure that
* neither memory space goes away prematurely.
*
@@ -104,14 +104,15 @@
_MEMBER_GET(size, size, guint, guint)
/** Get the timestamp of this buffer.
- * @return The timestamp in nanoseconds (as a GstClockTime) of the data in
- * the buffer. Value will be CLOCK_TIME_NONE if the timestamp is unknown.
+ * @return The timestamp in nanoseconds (as a Gst::ClockTime) of the data in
+ * the buffer. Value will be Gst::CLOCK_TIME_NONE if the timestamp is
+ * unknown.
*/
_MEMBER_GET(timestamp, timestamp, ClockTime, GstClockTime)
/** Get duration of this buffer.
- * @return he duration in nanoseconds (as a GstClockTime) of the data in the
- * buffer. Value will be CLOCK_TIME_NONE if the duration is unknown.
+ * @return he duration in nanoseconds (as a Gst::ClockTime) of the data in
+ * the buffer. Value will be Gst::CLOCK_TIME_NONE if the duration is unknown.
*/
_MEMBER_GET(duration, duration, ClockTime, GstClockTime)
Modified: gstreamermm/trunk/gstreamer/src/bus.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/bus.hg (original)
+++ gstreamermm/trunk/gstreamer/src/bus.hg Thu Apr 17 22:30:24 2008
@@ -36,16 +36,16 @@
//TODO: Correct C API reference in class docs below:
-/** Bus â Asynchronous message bus subsystem.
- * The Bus is an object responsible for delivering Messages in a first-in
+/** Gst::Bus â Asynchronous message bus subsystem.
+ * The Gst::Bus is an object responsible for delivering Messages in a first-in
* first-out way from the streaming threads to the application.
*
* Since the application typically only wants to deal with delivery of these
- * messages from one thread, the Bus will marshall the messages between
+ * messages from one thread, the Gst::Bus will marshall the messages between
* different threads. This is important since the actual streaming of media is
* done in another thread than the application.
*
- * The Bus provides support for GSource based notifications. This makes it
+ * The Gst::Bus provides support for GSource based notifications. This makes it
* possible to handle the delivery in the glib mainloop.
*
* The GSource callback function gst_bus_async_signal_func() can be used to
@@ -69,10 +69,10 @@
* This should only be used if the application is able to deal with messages
* from different threads.
*
- * Every Pipeline has one bus.
+ * Every Gst::Pipeline has one bus.
*
- * Note that a Pipeline will set its bus into flushing state when changing from
- * READY to NULL state.
+ * Note that a Gst::Pipeline will set its bus into flushing state when changing
+ * from READY to NULL state.
*
* Last reviewed on 2006-03-12 (0.10.5)
*/
@@ -85,16 +85,16 @@
public:
/** For example,
- * bool on_bus_message(const Glib::RefPtr<Bus>& bus, const
- * Glib::RefPtr<Message>& message);
+ * bool on_bus_message(const Glib::RefPtr<Gst::Bus>& bus, const
+ * Glib::RefPtr<Gst::Message>& message);
* The message function should return true if it wants to continue to receive
* messages, false otherwise.
*/
typedef sigc::slot< bool, const Glib::RefPtr<Bus>&, const Glib::RefPtr<Message>& > SlotMessage;
/** For example,
- * BusSyncReply on_bus_sync_message(const Glib::RefPtr<Bus>& bus, const
- * Glib::RefPtr<Message>& message);
+ * BusSyncReply on_bus_sync_message(const Glib::RefPtr<Gst::Bus>& bus, const
+ * Glib::RefPtr<Gst::Message>& message);
*/
typedef sigc::slot< BusSyncReply, const Glib::RefPtr<Bus>&, const Glib::RefPtr<Message>& > SlotMessageSync;
@@ -138,7 +138,8 @@
* called in the same thread context as the posting object (synchronously).
* This function is usually only called by the creator of the bus.
* Applications should handle messages asynchronously using the watch and
- * poll functions.
+ * poll functions or enable the "sync-message" signal emission with
+ * enable_sync_message_emission().
*
* @param slot The handler slot to install
*/
Modified: gstreamermm/trunk/gstreamer/src/caps.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/caps.hg (original)
+++ gstreamermm/trunk/gstreamer/src/caps.hg Thu Apr 17 22:30:24 2008
@@ -29,23 +29,23 @@
struct Structure;
-/** Caps â A structure describing sets of media formats.
- * Caps (capabilities) are lighweight refcounted objects describing media
- * types. They are composed of an array of Structure.
+/** Gst::Caps â A structure describing sets of media formats.
+ * Gst::Caps (capabilities) are lighweight refcounted objects describing media
+ * types. They are composed of an array of Gst::Structure.
*
- * Caps are exposed on PadTemplate to describe all possible types a given pad
- * can handle. They are also stored in the Registry along with a description of
- * the Element.
+ * Gst::Caps are exposed on Gst::PadTemplate to describe all possible types a
+ * given pad can handle. They are also stored in the Gst::Registry along with a
+ * description of the Gst::Element.
*
- * Caps are exposed on the element pads using the Gst::Pad::get_caps() method.
- * This method describes the possible types that the pad can handle or produce
- * at runtime.
+ * Gst::Caps are exposed on the element pads using the Gst::Pad::get_caps()
+ * method. This method describes the possible types that the pad can handle or
+ * produce at runtime.
*
- * Caps are also attached to buffers to describe to content of the data pointed
- * to by the buffer with Gst::Buffer:set_caps(). Caps attached to a Buffer
- * allow for format negotiation upstream and downstream.
+ * Gst::Caps are also attached to buffers to describe to content of the data
+ * pointed to by the buffer with Gst::Buffer::set_caps(). Gst::Caps attached to
+ * a Gst::Buffer allow for format negotiation upstream and downstream.
*
- * A Caps can be constructed with the following code fragment:
+ * A Gst::Caps can be constructed with the following code fragment:
*
* TODO: Insert C++ translated code fragment from C API docs
*/
@@ -55,26 +55,25 @@
_IGNORE(gst_caps_ref, gst_caps_unref)
public:
- /** Creates a new Caps that indicates that it is compatible with any media
- * format.
+ /** Creates a new Gst::Caps that indicates that it is compatible with any
+ * media format.
*
- * @return the new Caps
+ * @return the new Gst::Caps
*/
static Glib::RefPtr<Caps> create_any();
- /** Creates a new Caps that contains one Structure. Caller is responsible for
- * unreffing the returned caps.
+ /** Creates a new Gst::Caps that contains one Gst::Structure.
*
* @param media_type the media type of the structure
- * @return the new GstCaps
+ * @return the new Gst::Caps
*/
static Glib::RefPtr<Caps> create_simple(const Glib::ustring& media_type);
- /** Creates a new GstCaps and adds the first Structure given. The structure
- * is not copied; the returned Caps owns the structure.
+ /** Creates a new Gst::Caps and adds the first Gst::Structure given. The
+ * structure is not copied; the returned Gst::Caps owns the structure.
*
* @param first_struct the first structure to add
- * @return Returns the new GstCaps
+ * @return Returns the new Gst::Caps
*/
static Glib::RefPtr<Caps> create(Structure& first_struct);
@@ -86,29 +85,29 @@
/** Appends structure to caps. The structure is not copied; caps becomes the
* owner of structure.
*
- * @param structure the Structure to append
+ * @param structure the Gst::Structure to append
*/
void append_structure(Structure& structure);
/** Appends structure to caps if its not already expressed by caps. The
* structure is not copied; caps becomes the owner of structure.
*
- * @param structure the Structure to merge
+ * @param structure the Gst::Structure to merge
*/
void merge_structure(Structure& structure);
/** Finds the structure in caps that has the index idx, and returns it.
*
* @param index the index of the structure
- * @return the Structure corresponding to index
+ * @return the Gst::Structure corresponding to index
*/
const Structure* get_structure(guint idx) const;
_WRAP_METHOD(void remove_structure(guint idx), gst_caps_remove_structure)
_WRAP_METHOD(guint size() const, gst_caps_get_size)
- /** Sets a fields in a simple Caps. A simple Caps is one that only has one
- * structure.
+ /** Sets a fields in a simple Gst::Caps. A simple Gst::Caps is one that only
+ * has one structure.
*
* @param field field to set
* @param value the value which the field should be set to
Modified: gstreamermm/trunk/gstreamer/src/childproxy.ccg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/childproxy.ccg (original)
+++ gstreamermm/trunk/gstreamer/src/childproxy.ccg Thu Apr 17 22:30:24 2008
@@ -22,9 +22,10 @@
namespace Gst
{
-void ChildProxy::get_proxy_property(const Glib::ustring& name, Glib::ValueBase& value)
+Glib::RefPtr<ChildProxy> ChildProxy::get_proxy_property(const Glib::ustring& name, Glib::ValueBase& value)
{
gst_child_proxy_get_property(GST_OBJECT(gobj()), name.c_str(), value.gobj());
+ return Glib::wrap(gobj(), true);
}
void ChildProxy::get_proxy_valist(const Glib::ustring& first_prop_name, va_list& var_args)
@@ -32,9 +33,10 @@
gst_child_proxy_get_valist(GST_OBJECT(gobj()), first_prop_name.c_str(), var_args);
}
-void ChildProxy::set_proxy_property(const Glib::ustring& name, const Glib::ValueBase& value)
+Glib::RefPtr<ChildProxy> ChildProxy::set_proxy_property(const Glib::ustring& name, const Glib::ValueBase& value)
{
gst_child_proxy_set_property(GST_OBJECT(gobj()), name.c_str(), value.gobj());
+ return Glib::wrap(gobj(), true);
}
void ChildProxy::set_proxy_valist(const Glib::ustring& first_prop_name, const va_list& var_args)
Modified: gstreamermm/trunk/gstreamer/src/childproxy.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/childproxy.hg (original)
+++ gstreamermm/trunk/gstreamer/src/childproxy.hg Thu Apr 17 22:30:24 2008
@@ -28,18 +28,18 @@
namespace Gst
{
-/** ChildProxy â Interface for multi child elements.
+/** Gst::ChildProxy â An interface for multi child elements.
* This interface abstracts handling of property sets for child elements.
* Imagine elements such as mixers or polyphonic generators. They all have
- * multiple Pad or some kind of voice objects. The element acts as a parent
- * for those child objects. Each child has the same properties.
+ * multiple Gst::Pad or some kind of voice objects. The element acts as a
+ * parent for those child objects. Each child has the same properties.
*
* By implementing this interface the child properties can be accessed from
- * the parent element by using child_proxy_get() and child_proxy_set().
+ * the parent element by using get_proxy_property() and set_proxy_property().
*
* Property names are written as "child-name::property-name". The whole naming
* scheme is recursive. Thus "child1::child2::property" is valid too, if
- * "child1" also implements the ChildProxy interface.
+ * "child1" also implements the Gst::ChildProxy interface.
*/
class ChildProxy : public Glib::Interface
{
@@ -52,11 +52,42 @@
//TODO: should gst_child_proxy_lookup() be wrapped?
- void get_proxy_property(const Glib::ustring& name, Glib::ValueBase& value);
+ /** Gets a single property using the Gst::ChildProxy mechanism.
+ * @param name the property to get
+ * @param value an empty Glib::ValueBase in which to store the property
+ * @return this Gst::ChildProxy so more properties can be gotten if needed
+ */
+ Glib::RefPtr<ChildProxy> get_proxy_property(const Glib::ustring& name, Glib::ValueBase& value);
+
+ /** Gets properties of the parent object and its children.
+ * @param first_prop_name name of the first property to get
+ * @param var_args return location for the first property, followed
+ * optionally by more name/return location pairs, followed by NULL
+ */
void get_proxy_valist(const Glib::ustring& first_prop_name, va_list& var_args);
- void set_proxy_property(const Glib::ustring& name, const Glib::ValueBase& value);
+
+ /** Sets a single property using the Gst::ChildProxy mechanism.
+ * @param name the property to get
+ * @param value the Glib::ValueBase to set the property to (non-empty)
+ * @return this Gst::ChildProxy so more properties can be set
+ */
+ Glib::RefPtr<ChildProxy> set_proxy_property(const Glib::ustring& name, const Glib::ValueBase& value);
+
+ /** Sets properties of the parent object and its children.
+ * @param first_prop_name name of the first property to set
+ * @param var_args alue for the first property, followed optionally by more
+ * name/value pairs, followed by NULL
+ */
void set_proxy_valist(const Glib::ustring& first_prop_name, const va_list& var_args);
+
+ /** Emits the "child-added" signal.
+ * @param child the newly added child
+ */
void child_added(const Glib::RefPtr<Gst::Object>& child);
+
+ /** Emits the "child-removed" signal.
+ * @param child the newly added child
+ */
void child_removed(const Glib::RefPtr<Gst::Object>& child);
#m4 _CONVERSION(`GstObject*',`const Glib::RefPtr<Gst::Object>&',`Glib::wrap($3)')
Modified: gstreamermm/trunk/gstreamer/src/clock.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/clock.hg (original)
+++ gstreamermm/trunk/gstreamer/src/clock.hg Thu Apr 17 22:30:24 2008
@@ -47,8 +47,8 @@
public:
/** For example,
- * bool on_clock(const Glib::RefPtr<Clock>& clock, ClockTime time, const
- * Glib::RefPtr<ClockID>& id);
+ * bool on_clock(const Glib::RefPtr<Gst::Clock>& clock, ClockTime time, const
+ * Glib::RefPtr<Gst::ClockID>& id);
* The clock function return value is currently unused (see GstClockCallback)
*/
typedef sigc::slot< bool, const Glib::RefPtr<Clock>&, ClockTime, const Glib::RefPtr<ClockID>& > SlotClock;
@@ -56,10 +56,10 @@
_WRAP_METHOD(ClockTime get_time(), gst_clock_id_get_time)
_WRAP_METHOD(ClockReturn wait(ClockTimeDiff& jitter), gst_clock_id_wait)
- /** Register a slot on the given GstClockID id with the given slot. When
- * passing a GstClockID with an invalid time to this function, the slot will
- * be called immediatly with a time set to CLOCK_TIME_NONE. The slot will be
- * called when the time of id has been reached.
+ /** Register a slot on the given Gst::ClockID id with the given slot. When
+ * passing a Gst::ClockID with an invalid time to this function, the slot
+ * will be called immediatly with a time set to Gst::CLOCK_TIME_NONE. The
+ * slot will be called when the time of id has been reached.
*
* @param slot The slot to callback
* @return the result of the non blocking wait. MT safe.
@@ -79,12 +79,12 @@
guint get_nanoseconds(ClockTime time);
guint get_fractional_seconds(ClockTime time);
-/** Clock â Abstract class for global clocks.
+/** Gst::Clock â Abstract class for global clocks.
* GStreamer uses a global clock to synchronize the plugins in a pipeline.
* Different clock implementations are possible by implementing this abstract
* base class.
*
- * The Clock returns a monotonically increasing time with the method
+ * The Gst::Clock returns a monotonically increasing time with the method
* get_time(). Its accuracy and base time depend on the specific clock
* implementation but time is always expressed in nanoseconds. Since the
* baseline of the clock is undefined, the clock time returned is not
@@ -93,55 +93,56 @@
*
* The pipeline uses the clock to calculate the stream time. Usually all
* renderers synchronize to the global clock using the buffer timestamps, the
- * newsegment events and the element's base time, see Pipeline.
+ * newsegment events and the element's base time, see Gst::Pipeline.
*
* A clock implementation can support periodic and single shot clock
* notifications both synchronous and asynchronous.
*
- * One first needs to create a ClockID for the periodic or single shot
+ * One first needs to create a Gst::ClockID for the periodic or single shot
* notification using create_single_shot_id() or create_periodic_id().
*
- * To perform a blocking wait for the specific time of the ClockID use the
- * ClockID::wait() method. To receive a callback when the specific time is
- * reached in the clock use ClockID::wait_async(). Both these calls can be
- * interrupted with the ClockID::unschedule() call. If the blocking wait is
- * unscheduled a return value of CLOCK_UNSCHEDULED is returned.
+ * To perform a blocking wait for the specific time of the Gst::ClockID use the
+ * Gst::ClockID::wait() method. To receive a callback when the specific time is
+ * reached in the clock use Gst::ClockID::wait_async(). Both these calls can be
+ * interrupted with the Gst::ClockID::unschedule() call. If the blocking wait
+ * is unscheduled a return value of Gst::CLOCK_UNSCHEDULED is returned.
*
* Periodic callbacks scheduled async will be repeadedly called automatically
- * until it is unscheduled. To schedule a sync periodic callback, wait() should
- * be called repeadedly.
+ * until it is unscheduled. To schedule a sync periodic callback,
+ * Gst::ClockID::wait() should be called repeadedly.
*
* The async callbacks can happen from any thread, either provided by the core or from a streaming thread. The application should be prepared for this.
*
- * A ClockID that has been unscheduled cannot be used again for any wait
- * operation, a new ClockID should be created.
+ * A Gst::ClockID that has been unscheduled cannot be used again for any wait
+ * operation, a new Gst::ClockID should be created.
*
* It is possible to perform a blocking wait on the same ClockID from multiple
* threads. However, registering the same ClockID for multiple async
* notifications is not possible, the slot will only be called for the thread
* registering the entry last.
*
- * None of the wait operations unref the ClockID, the owner is responsible for
- * unreffing the ids itself. This holds for both periodic and single shot
- * notifications. The reason being that the owner of the ClockID has to keep a
- * handle to the ClockID to unblock the wait on FLUSHING events or state
- * changes and if the entry would be unreffed automatically, the handle might
- * become invalid without any notification. (The RefPtr takes care of unreffing
- * in this case)
+ * None of the wait operations unref the Gst::ClockID, the owner is responsible
+ * for unreffing the ids itself. This holds for both periodic and single shot
+ * notifications. The reason being that the owner of the Gst::ClockID has to
+ * keep a handle to the Gst::ClockID to unblock the wait on FLUSHING events or
+ * state changes and if the entry would be unreffed automatically, the handle
+ * might become invalid without any notification. (The RefPtr takes care of
+ * unreffing in this case)
*
* These clock operations do not operate on the stream time, so the callbacks
* will also occur when not in PLAYING state as if the clock just keeps on
* running. Some clocks however do not progress when the element that provided
* the clock is not PLAYING.
*
- * When a clock has the CLOCK_FLAG_CAN_SET_MASTER flag set, it can be slaved to
- * another Clock with the set_master() method. The clock will then
- * automatically be synchronized to this master clock by repeadedly sampling
- * the master clock and the slave clock and recalibrating the slave clock with
- * set_calibration(). This feature is mostly useful for plugins that have an
- * internal clock but must operate with another clock selected by the Pipeline.
- * They can track the offset and rate difference of their internal clock
- * relative to the master clock by using the get_calibration() method.
+ * When a clock has the Gst::CLOCK_FLAG_CAN_SET_MASTER flag set, it can be
+ * slaved to another Gst::Clock with the set_master() method. The clock will
+ * then automatically be synchronized to this master clock by repeadedly
+ * sampling the master clock and the slave clock and recalibrating the slave
+ * clock with set_calibration(). This feature is mostly useful for plugins that
+ * have an internal clock but must operate with another clock selected by the
+ * Gst::Pipeline. They can track the offset and rate difference of their
+ * internal clock relative to the master clock by using the get_calibration()
+ * method.
*
* The master/slave synchronisation can be tuned with the "timeout",
* "window-size" and "window-threshold" properties. The "timeout" property
@@ -168,6 +169,9 @@
_WRAP_METHOD(ClockTime get_internal_time() const, gst_clock_get_internal_time)
_WRAP_METHOD(ClockTime adjust_unlocked(ClockTime internal_time), gst_clock_adjust_unlocked)
_WRAP_METHOD(ClockTime unadjust_unlocked(ClockTime external_time), gst_clock_unadjust_unlocked)
+ _WRAP_METHOD(void get_calibration(ClockTime& internal, ClockTime& external, ClockTime& rate_num, ClockTime& rate_denom), gst_clock_get_calibration)
+ _WRAP_METHOD(void set_calibration(ClockTime internal, ClockTime external, ClockTime rate_num, ClockTime rate_denom), gst_clock_set_calibration)
+
_WRAP_PROPERTY("stats", bool)
_WRAP_PROPERTY("timeout", guint64)
@@ -187,7 +191,7 @@
*/
_WRAP_VFUNC(ClockTime get_internal_time(), "get_internal_time")
- /** perform an asynchronous wait for the given GstClockEntry.
+ /** perform an asynchronous wait for the given Gst::ClockID.
*/
_WRAP_VFUNC(ClockReturn wait_async(const Glib::RefPtr<ClockID>& id), "wait_async")
@@ -195,7 +199,7 @@
*/
_WRAP_VFUNC(void unschedule(const Glib::RefPtr<ClockID>& id), "unschedule")
- /** perform a blocking wait on the given GstClockEntry and return the jitter.
+ /** perform a blocking wait on the given Gst::ClockID and return the jitter.
* (Since: 0.10.10)
*/
_WRAP_VFUNC(ClockReturn wait_jitter(const Glib::RefPtr<ClockID>& id, ClockTimeDiff& jitter), "wait_jitter")
Modified: gstreamermm/trunk/gstreamer/src/element.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/element.hg (original)
+++ gstreamermm/trunk/gstreamer/src/element.hg Thu Apr 17 22:30:24 2008
@@ -72,25 +72,26 @@
*/
Glib::ustring get_name(StateChangeReturn s);
-/** Element â Abstract base class for all pipeline elements.
- * Element is the abstract base class needed to construct an element that can
- * be used in a GStreamer pipeline. Please refer to the plugin writers guide
- * for more information on creating Element subclasses.
+/** Gst::Element â Abstract base class for all pipeline elements.
+ * Gst::Element is the abstract base class needed to construct an element that
+ * can be used in a GStreamer pipeline. Please refer to the plugin writers
+ * guide for more information on creating Gst::Element subclasses.
*
- * The name of an Element can be get with get_name() and set with set_name().
+ * The name of a Gst::Element can be get with get_name() and set with
+ * set_name().
*
- * All elements have pads (of the type Pad). These pads link to pads on other
- * elements. Buffer flow between these linked pads. An Element has a GList of
- * Pad structures for all their input (or sink) and output (or source) pads.
- * Core and plug-in writers can add and remove pads with add_pad() and
- * remove_pad().
+ * All elements have pads (of the type Gst::Pad). These pads link to pads on
+ * other elements. Gst::Buffer flow between these linked pads. An Element has a
+ * GList of Gst::Pad structures for all their input (or sink) and output (or
+ * source) pads. Core and plug-in writers can add and remove pads with
+ * add_pad() and remove_pad().
*
* A pad of an element can be retrieved by name with get_pad(). An iterator of
* all pads can be retrieved with gst_element_iterate_pads().
*
- * Elements can be linked through their pads. Use the link() function to link
- * elements. Use link_filtered() to link two elements constrained by a
- * specified set of Caps. For finer control, use link_pads() and
+ * Gst::Elements can be linked through their pads. Use the link() function to
+ * link elements. Use link_filtered() to link two elements constrained by a
+ * specified set of Gst::Caps. For finer control, use link_pads() and
* link_pads_filtered() to specify the pads to link on each element by name.
*
* Each element has a state (see State). You can get and set the state of an
@@ -105,7 +106,7 @@
* element with set_clock().
*
* Note that clock slection and distribution is normally handled by the
- * toplevel Pipeline so the clock functions are only to be used in very
+ * toplevel Gst::Pipeline so the clock functions are only to be used in very
* specific situations.
*
* Last reviewed on 2006-03-12 (0.10.5)
Modified: gstreamermm/trunk/gstreamer/src/elementfactory.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/elementfactory.hg (original)
+++ gstreamermm/trunk/gstreamer/src/elementfactory.hg Thu Apr 17 22:30:24 2008
@@ -32,11 +32,11 @@
class PadTemplate;
class Plugin;
-/** ElementFactory â Create Elements from a factory.
- * ElementFactory is used to create instances of elements. An Elementfactory
- * can be added to a Plugin as it is also a PluginFeature. Use the find() and
- * create() functions to create element instances. or use the static create()
- * as a convenient shortcut.
+/** Gst::ElementFactory â Create Gst::Element from a factory.
+ * Gst::ElementFactory is used to create instances of elements. A
+ * Gst::ElementFactory can be added to a Gst::Plugin as it is also a
+ * Gst::PluginFeature. Use the find() and create() functions to create element
+ * instances. or use the static create() as a convenient shortcut.
*
* The following code example shows you how to create a GstFileSrc element.
*
Modified: gstreamermm/trunk/gstreamer/src/event.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/event.hg (original)
+++ gstreamermm/trunk/gstreamer/src/event.hg Thu Apr 17 22:30:24 2008
@@ -62,6 +62,36 @@
Glib::ustring get_name(EventType t);
Glib::QueryQuark get_quark(EventType t);
+/** Gst::Event â A structure describing events that are passed up and down a
+ * pipeline.
+ * The event class provides factory methods to construct and functions query
+ * (parse) events.
+ *
+ * Events are usually created by using the Gst::Event derrived classes'
+ * create() methods. To send an event application will usually use
+ * Gst::Element::send_event() and elements will use Gst::Pad::send_event() or
+ * Gst::Pad::push_event().
+ *
+ * Events that have been received can be parsed with their respective parse()
+ * functions.
+ *
+ * Events are passed between elements in parallel to the data stream. Some
+ * events are serialized with buffers, others are not. Some events only travel
+ * downstream, others only upstream. Some events can travel both upstream and
+ * downstream.
+ *
+ * The events are used to signal special conditions in the datastream such as
+ * EOS (end of stream) or the start of a new stream-segment. Events are also
+ * used to flush the pipeline of any pending data.
+ *
+ * Most of the event API is used inside plugins. Applications usually only
+ * construct and use seek events. To do that Gst::EventSeek::create() is used
+ * to create a seek event. It takes the needed parameters to specity seeking
+ * time and mode. The event is then sent to the element like so:
+ * @code
+ * pipeline->send_event(event);
+ * @endcode
+ */
class Event : public MiniObject
{
protected:
@@ -69,7 +99,7 @@
public:
/** Get the structure of an event.
- * @return The Structure of the event (unmodifiable)
+ * @return The Gst::Structure of the event (unmodifiable)
*/
const Structure* get_structure();
Modified: gstreamermm/trunk/gstreamer/src/filter.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/filter.hg (original)
+++ gstreamermm/trunk/gstreamer/src/filter.hg Thu Apr 17 22:30:24 2008
@@ -36,18 +36,18 @@
*/
typedef sigc::slot<bool, const Glib::RefPtr<Glib::Object>& > SlotFilter;
-/**
- * Iterates over the elements in the list, calling the slot with each
- * object. If the slot returns TRUE, the object is
- * prepended to the list of results returned. If first is true,
- * the search is halted after the first result is found.
- *
- * @param list a list of objects
- * @param slot the slot to execute for each item
- * @param first flag to stop execution after a successful item
- *
- * @return the list of results
- */
+ /**
+ * Iterates over the elements in the list, calling the slot with each
+ * object. If the slot returns TRUE, the object is
+ * prepended to the list of results returned. If first is true,
+ * the search is halted after the first result is found.
+ *
+ * @param list a list of objects
+ * @param slot the slot to execute for each item
+ * @param first flag to stop execution after a successful item
+ *
+ * @return the list of results
+ */
static Glib::ListHandle< Glib::RefPtr<Glib::Object> > run(const Glib::ListHandle<Glib::RefPtr<Glib::Object> >& list, const SlotFilter& slot, bool first);
};
Modified: gstreamermm/trunk/gstreamer/src/ghostpad.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/ghostpad.hg (original)
+++ gstreamermm/trunk/gstreamer/src/ghostpad.hg Thu Apr 17 22:30:24 2008
@@ -26,20 +26,21 @@
namespace Gst
{
-/** GhostPad â Pseudo link pads.
- * GhostPads are useful when organizing pipelines with Bin like elements. The
- * idea here is to create hierarchical element graphs. The bin element contains
- * a sub-graph. Now one would like to treat the bin-element like other
- * Elements. This is where GhostPads come into play. A GhostPad acts as a proxy
- * for another pad. Thus the bin can have sink and source ghost-pads that are
- * associated with sink and source pads of the child elements.
+/** Gst::GhostPad â Pseudo link pads.
+ * Gst::GhostPad are useful when organizing pipelines with Gst::Bin like elements.
+ * The idea here is to create hierarchical element graphs. The bin element
+ * contains a sub-graph. Now one would like to treat the bin-element like
+ * another Gst::Element. This is where Gst::GhostPad come into play. A
+ * Gst::GhostPad acts as a proxy for another pad. Thus the bin can have sink
+ * and source ghost-pads that are associated with sink and source pads of the
+ * child elements.
*
- * If the target pad is known at creation time, create() with a Pad argument is
- * the method to use to get a ghost-pad. Otherwise one can use create() with a
- * PadDirection argument to create the ghost-pad and use set_target() to
- * establish the association later on.
+ * If the target pad is known at creation time, create() with a Gst::Pad
+ * argument is the method to use to get a ghost-pad. Otherwise one can use
+ * create() with a Gst::PadDirection argument to create the ghost-pad and use
+ * set_target() to establish the association later on.
*
- * Note that GhostPads add overhead to the data processing of a pipeline.
+ * Note that Gst::GhostPad add overhead to the data processing of a pipeline.
*
* Last reviewed on 2005-11-18 (0.9.5)
*/
@@ -61,7 +62,7 @@
*
* @param name the name of the new pad.
* @param target the pad to ghost.
- * @returns a new GhostPad, or NULL in case of an error.
+ * @returns a new Gst::GhostPad, or NULL in case of an error.
*/
_WRAP_CREATE(const Glib::ustring& name, const Glib::RefPtr<Pad>& target)
@@ -72,7 +73,7 @@
*
* @param name the name of the new pad.
* @param dir the direction of the ghostpad
- * @return a new GhostPad, or NULL in case of an error.
+ * @return a new Gst::GhostPad, or NULL in case of an error.
*/
_WRAP_CREATE(const Glib::ustring& name, PadDirection dir)
@@ -84,8 +85,8 @@
*
* @param name the name of the new pad.
* @param target the pad to ghost.
- * @param templ the PadTemplate to use on the ghostpad.
- * @return Returns a new GhostPad, or NULL in case of an error.
+ * @param templ the Gst::PadTemplate to use on the ghostpad.
+ * @return a new Gst::GhostPad, or NULL in case of an error.
*/
_WRAP_CREATE(const Glib::ustring& name, const Glib::RefPtr<Pad>& target, const Glib::RefPtr<PadTemplate>& templ)
@@ -93,12 +94,12 @@
* direction will be taken from the templ.
*
* @param name the name of the new pad.
- * @param templ the PadTemplate to create the ghostpad from.
- * @return a new GhostPad, or NULL in case of an error.
+ * @param templ the Gst::PadTemplate to create the ghostpad from.
+ * @return a new Gst::GhostPad, or NULL in case of an error.
*/
_WRAP_CREATE(const Glib::ustring& name, const Glib::RefPtr<PadTemplate>& templ)
- _WRAP_METHOD(bool set_target(const Glib::RefPtr<Pad>& new_target), gst_ghost_pad_set_target)
+ _WRAP_METHOD(bool set_target(const Glib::RefPtr<Pad>& newtarget), gst_ghost_pad_set_target)
_WRAP_METHOD(Glib::RefPtr<Pad> get_target(), gst_ghost_pad_get_target)
};
Modified: gstreamermm/trunk/gstreamer/src/gst_enums.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_enums.defs (original)
+++ gstreamermm/trunk/gstreamer/src/gst_enums.defs Thu Apr 17 22:30:24 2008
@@ -565,6 +565,8 @@
(in-module "Gst")
(c-name "GstPadTemplateFlags")
(values
+ '("fixed" "GST_PAD_TEMPLATE_FIXED" "GST_OBJECT_FLAG_LAST << 0")
+ '("last" "GST_PAD_TEMPLATE_LAST" "GST_OBJECT_FLAG_LAST << 4")
)
)
Modified: gstreamermm/trunk/gstreamer/src/index.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/index.hg (original)
+++ gstreamermm/trunk/gstreamer/src/index.hg Thu Apr 17 22:30:24 2008
@@ -87,7 +87,7 @@
_WRAP_METHOD(IndexEntry get_assoc_entry(int id, IndexLookupMethod method, AssocFlags flags, Format format, gint64 value) const, gst_index_get_assoc_entry)
/** For example,
- * bool on_filter(const Glib::RefPtr<Index>& index, IndexEntry entry);
+ * bool on_filter(const Glib::RefPtr<Gst::Index>& index, IndexEntry entry);
* The filter function should return true if the entry is to be added to the
* index, false otherwise.
*/
Modified: gstreamermm/trunk/gstreamer/src/indexfactory.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/indexfactory.hg (original)
+++ gstreamermm/trunk/gstreamer/src/indexfactory.hg Thu Apr 17 22:30:24 2008
@@ -29,8 +29,8 @@
class Index;
-/** IndexFactory â Create Indexes from a factory.
- * IndexFactory is used to dynamically create Index implementations.
+/** Gst::IndexFactory â Create Indexes from a factory.
+ * Gst::IndexFactory is used to dynamically create Gst::Index implementations.
*/
class IndexFactory : public PluginFeature
{
Modified: gstreamermm/trunk/gstreamer/src/interface.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/interface.hg (original)
+++ gstreamermm/trunk/gstreamer/src/interface.hg Thu Apr 17 22:30:24 2008
@@ -27,8 +27,8 @@
namespace Gst
{
-/** Interface â Core interface implemented by Element instances
- * that allows runtime querying of interface availabillity.
+/** Gst::Interface â Core interface implemented by Gst::Element instances that
+ * allows runtime querying of interface availabillity.
* Provides interface functionality on per instance basis and not per class
* basis, which is the case for gobject.
*/
Modified: gstreamermm/trunk/gstreamer/src/message.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/message.hg (original)
+++ gstreamermm/trunk/gstreamer/src/message.hg Thu Apr 17 22:30:24 2008
@@ -36,6 +36,21 @@
Glib::ustring get_name(MessageType t);
Glib::QueryQuark get_quark(MessageType t);
+/** Gst::Message â Lightweight objects to signal the application of pipeline
+ * events.
+ * Messages are implemented as a subclass of Gst::MiniObject with a generic
+ * Gst::Structure as the content. This allows for writing custom messages
+ * without requiring an API change while allowing a wide range of different
+ * types of messages.
+ *
+ * Messages are posted by objects in the pipeline and are passed to the
+ * application using the Gst::Bus.
+ *
+ * The basic use pattern of posting a message on a Gst::Bus is as follows:
+ * @code
+ * bus->post(Gst::MessageEos::create(my_element));
+ * @endcode
+ */
class Message : public Gst::MiniObject
{
protected:
@@ -43,7 +58,7 @@
_IGNORE(gst_message_ref, gst_message_unref)
public:
/** Get the structure of a message.
- * @return The Structure of the message (unmodifiable)
+ * @return The Gst::Structure of the message (unmodifiable)
*/
const Structure* get_structure();
Modified: gstreamermm/trunk/gstreamer/src/pad.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/pad.hg (original)
+++ gstreamermm/trunk/gstreamer/src/pad.hg Thu Apr 17 22:30:24 2008
@@ -43,32 +43,33 @@
_WRAP_ENUM(FlowReturn, GstFlowReturn)
_WRAP_ENUM(ActivateMode, GstActivateMode)
-/** Pad â Object contained by elements that allows links to other elements.
- * An Element is linked to other elements via "pads", which are extremely
+/** Gst::Pad â Object contained by elements that allows links to other
+ * elements.
+ * A Gst::Element is linked to other elements via "pads", which are extremely
* light-weight generic link points. After two pads are retrieved from an
* element with Element::get_pad(), the pads can be link with link(). (For
* quick links, you can also use Element::link(), which will make the obvious
* link for you if it's straightforward.)
*
- * Pads are typically created from a PadTemplate with the create() method that
- * takes a PadTemplate.
+ * Pads are typically created from a Gst::PadTemplate with the create() method
+ * that takes a Gst::PadTemplate.
*
- * Pads have Caps attached to it to describe the media type they are capable of
- * dealing with. get_caps() and set_caps() are used to manipulate the caps of
- * the pads. Pads created from a pad template cannot set capabilities that are
- * incompatible with the pad template capabilities.
+ * Pads have Gst::Caps attached to it to describe the media type they are
+ * capable of dealing with. get_caps() and set_caps() are used to manipulate
+ * the caps of the pads. Pads created from a pad template cannot set
+ * capabilities that are incompatible with the pad template capabilities.
*
* Pads without pad templates can be created with create(), which takes a
* direction and a name as an argument.
*
- * get_parent_element() will retrieve the Element that owns the pad.
+ * get_parent_element() will retrieve the Gst::Element that owns the pad.
*
- * An Element creating a pad will typically use the underlying C API to
+ * A Gst::Element creating a pad will typically use the underlying C API to
* register callbacks for various events on the pads.
*
* Elements will use push() and pull_range() to push out or pull in a buffer.
*
- * To send an Event on a pad, use send_event() and push_event().
+ * To send a Gst::Event on a pad, use send_event() and push_event().
*
* Last reviewed on 2006-07-06 (0.10.9)
*/
@@ -82,13 +83,13 @@
public:
/** For example,
- * void on_block(const Glib::RefPtr<Pad>& pad, bool blocked);
+ * void on_block(const Glib::RefPtr<Gst::Pad>& pad, bool blocked);
*/
typedef sigc::slot<void, const Glib::RefPtr<Pad>&, bool> SlotBlock;
/** For example,
- * bool on_have_data(const Glib::RefPtr<Pad>& pad, const
- * Glib::RefPtr<MiniObjec>& data);
+ * bool on_have_data(const Glib::RefPtr<Gst::Pad>& pad, const
+ * Glib::RefPtr<Gst::MiniObjec>& data);
* The on_have_data method should return TRUE to keep the data in the
* pipeline, FALSE to drop it (throw it away)
*/
Modified: gstreamermm/trunk/gstreamer/src/padtemplate.ccg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/padtemplate.ccg (original)
+++ gstreamermm/trunk/gstreamer/src/padtemplate.ccg Thu Apr 17 22:30:24 2008
@@ -25,13 +25,3 @@
_PINCLUDE(glibmm/private/object_p.h)
_PINCLUDE(gstreamermm/private/object_p.h)
-
-namespace Gst
-{
-
-Glib::RefPtr<PadTemplate> PadTemplate::create(const Glib::ustring& name_template, PadDirection direction, PadPresence presence, const Glib::RefPtr<Caps>& caps)
-{
- return Glib::wrap(gst_pad_template_new(name_template.c_str(), GstPadDirection(direction), GstPadPresence(presence), caps->gobj()));
-}
-
-} //namespace Gst
Modified: gstreamermm/trunk/gstreamer/src/padtemplate.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/padtemplate.hg (original)
+++ gstreamermm/trunk/gstreamer/src/padtemplate.hg Thu Apr 17 22:30:24 2008
@@ -29,28 +29,79 @@
namespace Gst
{
+_WRAP_ENUM(PadTemplateFlags, GstPadTemplateFlags)
_WRAP_ENUM(PadPresence, GstPadPresence)
class Caps;
class Pad;
+/** Gst::PadTemplate â Describe the media type of a pad.
+ * Padtemplates describe the possible media types a pad or an elementfactory
+ * can handle. This allows for both inspection of handled types before loading
+ * the element plugin as well as identifying pads on elements that are not yet
+ * created (request or sometimes pads).
+ *
+ * Gst::Pad and PadTemplates have Gst::Caps attached to it to describe the
+ * media type they are capable of dealing with. get_caps() is used to get the
+ * caps of a padtemplate. It's not possible to modify the caps of a padtemplate
+ * after creation.
+ *
+ * PadTemplates have a Gst::PadPresence property which identifies the lifetime
+ * of the pad and that can be retrieved with get_presence(). Also the direction
+ * of the pad can be retrieved from the GstPadTemplate with get_direction().
+ *
+ * The get_name_template() method is important for Gst::PAD_REQUEST pads
+ * because it has to be used as the name in the
+ * Gst::Element::get_request_pad() call to instantiate a pad from this
+ * template.
+ *
+ * Padtemplates can be created with create().
+
+ * A padtemplate can be used to create a pad (see Gst::Pad::create() methods).
+ */
class PadTemplate : public Object
{
_CLASS_GOBJECT(PadTemplate, GstPadTemplate, GST_PAD_TEMPLATE, Object, GstObject)
protected:
- _CTOR_DEFAULT
+ _WRAP_CTOR(PadTemplate(const Glib::ustring& name_template, PadDirection direction, PadPresence presence, const Glib::RefPtr<Caps>& caps), gst_pad_template_new)
public:
- Glib::RefPtr<PadTemplate> create(const Glib::ustring& name_template, PadDirection direction, PadPresence presence, const Glib::RefPtr<Caps>& caps);
+ /** Creates a new pad template with a name according to the given template
+ * and with the given arguments. This functions takes ownership of the
+ * provided caps, so be sure to not use them afterwards.
+ *
+ * @param name_template the name template.
+ * @param direction the Gst::PadDirection of the template.
+ * @param presence the Gst::PadPresence of the pad.
+ * @param caps a Gst::Caps set for the template. The caps are taken ownership
+ * of.
+ * @return a new Gst::PadTemplate.
+ */
+ _WRAP_CREATE(const Glib::ustring& name_template, PadDirection direction, PadPresence presence, const Glib::RefPtr<Caps>& caps)
+
_WRAP_METHOD(Glib::RefPtr<Caps> get_caps(), gst_pad_template_get_caps)
_WRAP_METHOD(Glib::RefPtr<const Caps> get_caps() const, gst_pad_template_get_caps, constversion)
+ /** Get the nametemplate of the padtemplate.
+ */
+ _MEMBER_GET(name_template, name_template, Glib::ustring, gchar*)
+
+ /** Get the Gst::PadDirection of the padtemplate.
+ */
+ _MEMBER_GET(direction, direction, PadDirection, GstPadDirection)
+
+ /** Get the Gst::PadPresence of the padtemplate.
+ */
+ _MEMBER_GET(presence, presence, PadPresence, GstPadPresence)
+
#m4 _CONVERSION(`GstPad*',`const Glib::RefPtr<Pad>&',`Glib::wrap($3, true)')
+
+ /** This signal is fired when an element creates a pad from this template.
+ */
_WRAP_SIGNAL(void pad_created(const Glib::RefPtr<Pad>& pad), "pad-created")
_IGNORE(gst_pad_template_pad_created)
-
};
} //namespace Gst
Modified: gstreamermm/trunk/gstreamer/src/parse.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/parse.hg (original)
+++ gstreamermm/trunk/gstreamer/src/parse.hg Thu Apr 17 22:30:24 2008
@@ -30,7 +30,7 @@
_WRAP_ENUM(ParseError, GstParseError)
-/** Parse â Get a pipeline from a text pipeline description.
+/** Gst::Parse â Get a pipeline from a text pipeline description.
* The methods in this class allow to create a pipeline based on the syntax
* used in the gst-launch utillity.
*/
@@ -51,7 +51,7 @@
* @param error the error message in case of an erroneous pipeline.
* @return a new element on success, NULL on failure. If more than one
* toplevel element is specified by the pipeline_description, all elements
- * are put into a Pipeline, which than is returned.
+ * are put into a Gst::Pipeline, which than is returned.
*/
#ifdef GLIBMM_EXCEPTIONS_ENABLED
@@ -73,7 +73,7 @@
static Glib::RefPtr<Element> launchv(const gchar *argv[], std::auto_ptr<Glib::Error>& error);
#endif //GLIBMM_EXCEPTIONS_ENABLED
- /** This is a convenience wrapper around launch() to create a Bin from a
+ /** This is a convenience wrapper around launch() to create a Gst::Bin from a
* gst-launch-style pipeline description. See launch() and the gst-launch man
* page for details about the syntax. Ghost pads on the bin for unconnected
* source or sink pads within the bin can automatically be created (but only
Modified: gstreamermm/trunk/gstreamer/src/pipeline.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/pipeline.hg (original)
+++ gstreamermm/trunk/gstreamer/src/pipeline.hg Thu Apr 17 22:30:24 2008
@@ -32,38 +32,42 @@
class Bus;
-/** A Pipeline is a special Bin used as the toplevel container for the filter
- * graph. The Pipeline will manage the selection and distribution of a global
- * Clock as well as provide a Bus to the application. It will also implement a
- * default behavour for managing seek events (see Element::seek()).
+/** A Gst::Pipeline is a special Gst::Bin used as the toplevel container for
+ * the filter graph.
+ * The Gst::Pipeline will manage the selection and distribution of a global
+ * Gst::Clock as well as provide a Gst::Bus to the application. It will also
+ * implement a default behavour for managing seek events (see
+ * Gst::Element::seek()).
*
* create() is used to create a pipeline. when the pipeline is destroyed all
- * its resources including all added Element objects are destroyed.
+ * its resources including all added Gst::Element objects are destroyed.
*
- * Elements are added and removed from the pipeline using the Bin methods like
- * Bin::add() and Bin::remove() (see Bin).
+ * Elements are added and removed from the pipeline using the Gst::Bin methods
+ * like Gst::Bin::add() and Gst::Bin::remove() (see Gst::Bin).
*
- * Before changing the state of the Pipeline (see Element) a Bus can be
- * retrieved with get_bus(). This bus can then be used to receive Message from
- * the elements in the pipeline.
- *
- * By default, a Pipeline will automatically flush the pending Bus messages
- * when going to the NULL state to ensure that no circular references exist
- * when no messages are read from the Bus. This behaviour can be changed with
- * set_auto_flush_bus().
- *
- * When the Pipeline performs the PAUSED to PLAYING state change it will select
- * a clock for the elements. The clock selection algorithm will by default
- * select a clock provided by an element that is most upstream (closest to the
- * source). For live pipelines (ones that return STATE_CHANGE_NO_PREROLL from
- * the Element::set_state() call) this will select the clock provided by the
- * live source. For normal pipelines this will select a clock provided by the
- * sinks (most likely the audio sink). If no element provides a clock, a
- * default SystemClock is used.
+ * Before changing the state of the Gst::Pipeline (see Gst::Element) a Gst::Bus
+ * can be retrieved with get_bus(). This bus can then be used to receive
+ * Gst::Message from the elements in the pipeline.
+ *
+ * By default, a Gst::Pipeline will automatically flush the pending Gst::Bus
+ * messages when going to the NULL state to ensure that no circular references
+ * exist when no messages are read from the Gst::Bus. This behaviour can be
+ * changed with set_auto_flush_bus().
+ *
+ * When the Gst::Pipeline performs the PAUSED to PLAYING state change it will
+ * select a clock for the elements. The clock selection algorithm will by
+ * default select a clock provided by an element that is most upstream (closest
+ * to the source). For live pipelines (ones that return
+ * Gst::STATE_CHANGE_NO_PREROLL from the Gst::Element::set_state() call) this
+ * will select the clock provided by the live source. For normal pipelines this
+ * will select a clock provided by the sinks (most likely the audio sink). If
+ * no element provides a clock, a default Gst::SystemClock is used.
+ *
+ * The clock selection can be controlled with the use_clock() method, which
+ * will enforce a given clock on the pipeline. With auto_clock() the default
+ * clock selection algorithm can be restored.
*
- * The clock selection can be controlled with the use_clock() method, which will enforce a given clock on the pipeline. With auto_clock() the default clock selection algorithm can be restored.
- *
- * A Pipeline maintains a stream time for the elements. The stream time is
+ * A Gst::Pipeline maintains a stream time for the elements. The stream time is
* defined as the difference between the current clock time and the base time.
* When the pipeline goes to READY or a flushing seek is performed on it, the
* stream time is reset to 0. When the pipeline is set from PLAYING to PAUSED,
@@ -71,9 +75,10 @@
* the elements when the pipeline is set to PLAYING again. This default
* behaviour can be changed with the set_new_stream_time() method.
*
- * When sending a flushing seek event to a Pipeline (see Element::seek()), it
- * will make sure that the pipeline is properly PAUSED and resumed as well as
- * set the new stream time to 0 when the seek succeeded.
+ * When sending a flushing seek event to a Gst::Pipeline (see
+ * Gst::Element::seek()), it will make sure that the pipeline is properly
+ * PAUSED and resumed as well as set the new stream time to 0 when the seek
+ * succeeded.
*
* Last reviewed on 2006-03-12 (0.10.5)
*/
@@ -85,6 +90,11 @@
_WRAP_CTOR(Pipeline(const Glib::ustring& name), gst_pipeline_new)
public:
+ /** Create a new pipeline with the given name.
+ *
+ * @param name name of new pipeline
+ * @return newly created Gst::Pipeline MT safe.
+ */
_WRAP_CREATE(const Glib::ustring& name)
_WRAP_METHOD(Glib::RefPtr<Bus> get_bus(), gst_pipeline_get_bus)
Modified: gstreamermm/trunk/gstreamer/src/plugin.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/plugin.hg (original)
+++ gstreamermm/trunk/gstreamer/src/plugin.hg Thu Apr 17 22:30:24 2008
@@ -31,25 +31,26 @@
//TODO: Edit references below to use gstreamermm classes/methods
-/** Plugin â Container for features loaded from a shared object module.
- * GStreamer is extensible, so Element instances can be loaded at runtime. A
- * plugin system can provide one or more of the basic GStreamer
- * PluginFeature subclasses.
+/** Gst::Plugin â Container for features loaded from a shared object module.
+ * GStreamer is extensible, so Gst::Element instances can be loaded at runtime.
+ * A plugin system can provide one or more of the basic GStreamer
+ * Gst::PluginFeature subclasses.
*
* A plugin should export a symbol gst_plugin_desc that is a struct of type
* PluginDesc. the plugin loader will check the version of the core library
- * the plugin was linked against and will create a new Plugin. It will then
- * call the PluginInitFunc function that was provided in the gst_plugin_desc.
+ * the plugin was linked against and will create a new Gst::Plugin. It will
+ * then call the PluginInitFunc function that was provided in the
+ * gst_plugin_desc.
*
- * Once you have a handle to a Plugin (e.g. from the RegistryPool), you can add
- * any object that subclasses PluginFeature.
+ * Once you have a handle to a Gst::Plugin (e.g. from the RegistryPool), you
+ * can add any object that subclasses Gst::PluginFeature.
*
* Use find_feature() and feature_list() to find features in a plugin.
*
* Usually plugins are always automaticlly loaded so you don't need to call
* gst_plugin_load() explicitly to bring it into memory. There are options to
* statically link plugins to an app or even use GStreamer without a plugin
- * repository in which case gst_plugin_load() can be needed to bring the plugin
+ * repository in which case load() can be needed to bring the plugin
* into memory.
*/
class Plugin : public Object
@@ -58,7 +59,7 @@
public:
/** For example,
- * bool on_plugin_filter(const Glib::RefPtr<Plugin>& plugin);
+ * bool on_plugin_filter(const Glib::RefPtr<Gst::Plugin>& plugin);
* The filter function should return true if plugin is a match, false
* otherwise.
*/
Modified: gstreamermm/trunk/gstreamer/src/pluginfeature.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/pluginfeature.hg (original)
+++ gstreamermm/trunk/gstreamer/src/pluginfeature.hg Thu Apr 17 22:30:24 2008
@@ -29,7 +29,7 @@
_WRAP_ENUM(Rank, GstRank)
-/** This is a base class for anything that can be added to a Plugin.
+/** This is a base class for anything that can be added to a Gst::Plugin.
*
*/
class PluginFeature : public Object
@@ -38,7 +38,7 @@
public:
/** For example,
- * bool on_filter(const Glib::RefPtr<PluginFeature>& feature);
+ * bool on_filter(const Glib::RefPtr<Gst::PluginFeature>& feature);
* The filter function should return true if the feature is a match, false
* otherwise.
*/
Modified: gstreamermm/trunk/tools/m4/convert_gst.m4
==============================================================================
--- gstreamermm/trunk/tools/m4/convert_gst.m4 (original)
+++ gstreamermm/trunk/tools/m4/convert_gst.m4 Thu Apr 17 22:30:24 2008
@@ -129,6 +129,7 @@
_CONVERSION(`const guint32&',`guint32',`$3')
#Basic Gstreamermm Conversions
+_CONVERSION(`ClockTime&',`GstClockTime*',`(GstClockTime*)(&($3))')
_CONVERSION(`ClockTimeDiff',`GstClockTimeDiff',`GstClockTimeDiff ($3)')
_CONVERSION(`ClockTimeDiff&',`GstClockTimeDiff*',`(GstClockTimeDiff*)(&($3))')
_CONVERSION(`Format&',`GstFormat*',`(($2) &($3))')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]