[gstreamermm] Commented out wrapped boolean vfuncs to avoid wrong functionality for now.



commit 145fb0a63a98b134595ca4ce588b72a75e24a1cb
Author: José Alburquerque <jaalburqu svn gnome org>
Date:   Mon May 18 22:34:06 2009 -0400

    Commented out wrapped boolean vfuncs to avoid wrong functionality for now.
---
 ChangeLog                      |   12 ++++
 gstreamer/src/audiosink.hg     |   29 ++++++---
 gstreamer/src/audiosrc.hg      |   27 ++++++---
 gstreamer/src/basesink.hg      |   75 ++++++++++++++++---------
 gstreamer/src/basesrc.hg       |  122 ++++++++++++++++++++++++++--------------
 gstreamer/src/basetransform.hg |   77 ++++++++++++++++---------
 6 files changed, 225 insertions(+), 117 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8ba3aa5..c44b0ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2009-05-18  José Alburquerque  <jaalburqu svn gnome org>
 
+	* gstreamer/src/audiosink.hg:
+	* gstreamer/src/audiosrc.hg:
+	* gstreamer/src/basesink.hg:
+	* gstreamer/src/basesrc.hg:
+	* gstreamer/src/basetransform.hg: Commented out wrapped boolean vfuncs
+	because some cause incorrect functionality when their callbacks return
+	false with the last 'return RType()' line.  Aparently the C API
+	expects a return of true to mark completion in these cases.  Added
+	TODO's to make sure they can be implemented correctly later.
+
+2009-05-18  José Alburquerque  <jaalburqu svn gnome org>
+
 	* gstreamer/src/gst_methods.defs:
 	* gstreamer/src/gst_methods.defs.patch: Fixed gst_method.defs patch to
 	include gst_message_get_seqnum() which is not automatically defined
diff --git a/gstreamer/src/audiosink.hg b/gstreamer/src/audiosink.hg
index 03e7089..ba732cf 100644
--- a/gstreamer/src/audiosink.hg
+++ b/gstreamer/src/audiosink.hg
@@ -52,10 +52,13 @@ class AudioSink : public Gst::BaseAudioSink
   _CLASS_GOBJECT(AudioSink, GstAudioSink, GST_AUDIO_SINK, Gst::BaseAudioSink, GstBaseAudioSink)
 
 public:
-  /** vfunc to open the device. No configuration needs to be done at this
-   * point. This function is also used to check if the device is available.
-   */
-  _WRAP_VFUNC(bool open(), "open")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** vfunc to open the device. No configuration needs to be done at this
+   //* point. This function is also used to check if the device is available.
+   //*/
+  //_WRAP_VFUNC(bool open(), "open")
 
 #ifdef GLIBMM_VFUNCS_ENABLED
   /** vfunc to prepare the device to operate with the specified parameters.
@@ -63,13 +66,19 @@ public:
   virtual bool prepare_vfunc(const Gst::RingBufferSpec& spec);
 #endif //GLIBMM_VFUNCS_ENABLED
 
-  /** vfunc to undo operations done in prepare.
-   */
-  _WRAP_VFUNC(bool unprepare(), "unprepare")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** vfunc to undo operations done in prepare.
+   //*/
+  //_WRAP_VFUNC(bool unprepare(), "unprepare")
 
-  /** vfunc to close the device.
-   */
-  _WRAP_VFUNC(bool close(), "close")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** vfunc to close the device.
+   //*/
+  //_WRAP_VFUNC(bool close(), "close")
 
  #ifdef GLIBMM_VFUNCS_ENABLED
   /** vfunc to write data to the device.
diff --git a/gstreamer/src/audiosrc.hg b/gstreamer/src/audiosrc.hg
index 065bd70..a962cd4 100644
--- a/gstreamer/src/audiosrc.hg
+++ b/gstreamer/src/audiosrc.hg
@@ -52,9 +52,12 @@ class AudioSrc : public Gst::BaseAudioSrc
   _CLASS_GOBJECT(AudioSrc, GstAudioSrc, GST_AUDIO_SRC, Gst::BaseAudioSrc, GstBaseAudioSrc)
 
 public:
-  /** vfunc to open the device.
-   */
-  _WRAP_VFUNC(bool open(), "open")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** vfunc to open the device.
+   //*/
+  //_WRAP_VFUNC(bool open(), "open")
 
 #ifdef GLIBMM_VFUNCS_ENABLED
   /** vfunc to configure device with spec.
@@ -62,13 +65,19 @@ public:
   virtual bool prepare_vfunc(const Gst::RingBufferSpec& spec);
 #endif //GLIBMM_VFUNCS_ENABLED
 
-  /** vfunc to undo the configuration.
-   */
-  _WRAP_VFUNC(bool unprepare(), "unprepare")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** vfunc to undo the configuration.
+   //*/
+  //_WRAP_VFUNC(bool unprepare(), "unprepare")
 
-  /** vfunc to close the device.
-   */
-  _WRAP_VFUNC(bool close(), "close")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** vfunc to close the device.
+   //*/
+  //_WRAP_VFUNC(bool close(), "close")
 
  #ifdef GLIBMM_VFUNCS_ENABLED
   /** vfunc to read samples to the audio device.
diff --git a/gstreamer/src/basesink.hg b/gstreamer/src/basesink.hg
index b9f0697..126c270 100644
--- a/gstreamer/src/basesink.hg
+++ b/gstreamer/src/basesink.hg
@@ -217,9 +217,12 @@ public:
   _WRAP_VFUNC(Glib::RefPtr<Gst::Caps> get_caps() const, "get_caps")
 
 #m4 _CONVERSION(`GstCaps*', `const Glib::RefPtr<Gst::Caps>&', `Glib::wrap($3, true)')
-  /** Notify subclass of changed caps.
-   */
-  _WRAP_VFUNC(bool set_caps(const Glib::RefPtr<Gst::Caps>& caps), "set_caps")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Notify subclass of changed caps.
+   //*/
+  //_WRAP_VFUNC(bool set_caps(const Glib::RefPtr<Gst::Caps>& caps), "set_caps")
 
 #ifdef GLIBMM_VFUNCS_ENABLED
   /** Allocate a new buffer with given caps. */
@@ -233,23 +236,35 @@ public:
    */
   _WRAP_VFUNC(void get_times(const Glib::RefPtr<Gst::Buffer>& buffer, ClockTime& start, ClockTime& end) const, "get_times")
 
-  /** Start processing. Ideal for opening resources in the subclass.
-   */
-  _WRAP_VFUNC(bool start(), "start")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** 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")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** 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")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Unlock any pending access to the resource. Subclasses should unblock any
+   //* blocked function ASAP.
+   //*/
+  //_WRAP_VFUNC(bool unlock(), "unlock")
 
 #m4 _CONVERSION(`GstEvent*', `const Glib::RefPtr<Gst::Event>&', `Gst::wrap($3, true)')
-  /** Override this to handle events arriving on the sink pad.
-   */
-  _WRAP_VFUNC(bool event(const Glib::RefPtr<Gst::Event>& event), "event")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Override this to handle events arriving on the sink pad.
+   //*/
+  //_WRAP_VFUNC(bool event(const Glib::RefPtr<Gst::Event>& event), "event")
 
   /** Called to present the preroll buffer if desired.
    */
@@ -266,13 +281,16 @@ public:
    */
   _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")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** 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
@@ -281,10 +299,13 @@ public:
    */
   _WRAP_VFUNC(void fixate(const Glib::RefPtr<Gst::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")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** 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")
 protected:
 #m4begin
   _PUSH(SECTION_PCC_CLASS_INIT_VFUNCS)
diff --git a/gstreamer/src/basesrc.hg b/gstreamer/src/basesrc.hg
index 54a5f82..511dcd9 100644
--- a/gstreamer/src/basesrc.hg
+++ b/gstreamer/src/basesrc.hg
@@ -169,26 +169,41 @@ public:
   _WRAP_VFUNC(Glib::RefPtr<Gst::Caps> get_caps() const, "get_caps")
 
 #m4 _CONVERSION(`GstCaps*', `const Glib::RefPtr<Gst::Caps>&', `Glib::wrap($3, true)')
-  /** Notify subclass of changed output caps.
-   */
-  _WRAP_VFUNC(bool set_caps(const Glib::RefPtr<Gst::Caps>& caps), "set_caps")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Notify subclass of changed output caps.
+   //*/
+  //_WRAP_VFUNC(bool set_caps(const Glib::RefPtr<Gst::Caps>& caps), "set_caps")
 
-  /** Negotiated the caps with the peer.
-   */
-  _WRAP_VFUNC(bool negotiate(), "negotiate")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Negotiated the caps with the peer.
+   //*/
+  //_WRAP_VFUNC(bool negotiate(), "negotiate")
 
-  /** Generate and send a new_segment event (UNUSED).
-   */
-  _WRAP_VFUNC(bool new_segment(), "newsegment")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Generate and send a new_segment event (UNUSED).
+   //*/
+  //_WRAP_VFUNC(bool new_segment(), "newsegment")
 
-  /** Start processing. Subclasses should open resources and prepare to produce
-   * data.
-   */
-  _WRAP_VFUNC(bool start(), "start")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Start processing. Subclasses should open resources and prepare to produce
+   //* data.
+   //*/
+  //_WRAP_VFUNC(bool start(), "start")
 
-  /** Stop processing. Subclasses should use this to close resources.
-   */
-  _WRAP_VFUNC(bool stop(), "stop")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Stop processing. Subclasses should use this to close resources.
+   //*/
+  //_WRAP_VFUNC(bool stop(), "stop")
 
 #m4 _CONVERSION(`GstBuffer*', `const Glib::RefPtr<Gst::Buffer>&', `Gst::wrap($3, true)')
 #m4 _CONVERSION(`GstClockTime*', `ClockTime&', `*($3)')
@@ -199,23 +214,35 @@ public:
 
 #m4 _CONVERSION(`guint64&', `guint64*', `&($3)')
 #m4 _CONVERSION(`guint64*', `guint64&', `*($3)')
-  /** Return the total size of the resource, in the configured format.
-   */
-  _WRAP_VFUNC(bool get_size(guint64& size) const, "get_size")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Return the total size of the resource, in the configured format.
+   //*/
+  //_WRAP_VFUNC(bool get_size(guint64& size) const, "get_size")
 
-  /** Check if the source can seek.
-   */
-  _WRAP_VFUNC(bool is_seekable() const, "is_seekable")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Check if the source can seek.
+   //*/
+  //_WRAP_VFUNC(bool is_seekable() const, "is_seekable")
 
-  /** Unlock any pending access to the resource. Subclasses should unblock any
-   * blocked function ASAP.
-   */
-  _WRAP_VFUNC(bool unlock(), "unlock")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Unlock any pending access to the resource. Subclasses should unblock any
+   //* blocked function ASAP.
+   //*/
+  //_WRAP_VFUNC(bool unlock(), "unlock")
 
 #m4 _CONVERSION(`GstEvent*', `const Glib::RefPtr<Gst::Event>&', `Gst::wrap($3, true)')
-  /** Override this to implement custom event handling.
-   */
-  _WRAP_VFUNC(bool event(const Glib::RefPtr<Gst::Event>& event), "event")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Override this to implement custom event handling.
+   //*/
+  //_WRAP_VFUNC(bool event(const Glib::RefPtr<Gst::Event>& event), "event")
 
 #ifdef GLIBMM_VFUNCS_ENABLED
   virtual FlowReturn create_vfunc(guint64 offset, guint size, Glib::RefPtr<Gst::Buffer>& buffer);
@@ -228,27 +255,36 @@ public:
 #endif //GLIBMM_VFUNCS_ENABLED
 
 #m4 _CONVERSION(`GstQuery*', `const Glib::RefPtr<Gst::Query>&', `Gst::wrap($3, true)')
-  /** Handle a requested query.
-   */
-  _WRAP_VFUNC(bool query(const Glib::RefPtr<Gst::Query>& query) const, "query")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Handle a requested query.
+   //*/
+  //_WRAP_VFUNC(bool query(const Glib::RefPtr<Gst::Query>& query) const, "query")
 
-  /** Check whether the source would support pull-based operation if it were to
-   * 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.
-   */
-  _WRAP_VFUNC(bool check_get_range(), "check_get_range")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Check whether the source would support pull-based operation if it were to
+   //* 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.
+   //*/
+  //_WRAP_VFUNC(bool check_get_range(), "check_get_range")
 
   /** Called during negotiation if caps need fixating. Implement instead of
    * setting a fixate function on the source pad.
    */
   _WRAP_VFUNC(void fixate(const Glib::RefPtr<Gst::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")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** 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")
 
 #ifdef GLIBMM_VFUNCS_ENABLED
   /** Prepare the Gst::Segment that will be passed to the do_seek_vfunc()
diff --git a/gstreamer/src/basetransform.hg b/gstreamer/src/basetransform.hg
index 619c997..61e0b23 100644
--- a/gstreamer/src/basetransform.hg
+++ b/gstreamer/src/basetransform.hg
@@ -178,37 +178,55 @@ public:
    */
   _WRAP_VFUNC(void fixate_caps(PadDirection direction, const Glib::RefPtr<Gst::Caps>& caps, const Glib::RefPtr<Gst::Caps>& othercaps), "fixate_caps")
 
-  /** Optional. Given the size of a buffer in the given direction with the
-   * given caps, calculate the size in bytes of a buffer on the other pad with
-   * the given other caps. The default implementation uses
-   * get_unit_size_vfunc() and keeps the number of units the same.
-   */
-  _WRAP_VFUNC(bool transform_size(PadDirection direction, const Glib::RefPtr<Gst::Caps>& caps, guint size, const Glib::RefPtr<Gst::Caps>& othercaps, guint& othersize), "transform_size")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Optional. Given the size of a buffer in the given direction with the
+   //* given caps, calculate the size in bytes of a buffer on the other pad with
+   //* the given other caps. The default implementation uses
+   //* get_unit_size_vfunc() and keeps the number of units the same.
+   //*/
+  //_WRAP_VFUNC(bool transform_size(PadDirection direction, const Glib::RefPtr<Gst::Caps>& caps, guint size, const Glib::RefPtr<Gst::Caps>& othercaps, guint& othersize), "transform_size")
 
-  /** Required if the transform is not in-place. Get the size in bytes of one
-   * unit for the given caps.
-   */
-  _WRAP_VFUNC(bool get_unit_size(const Glib::RefPtr<Gst::Caps>& caps, guint& size) const, "get_unit_size")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Required if the transform is not in-place. Get the size in bytes of one
+   //* unit for the given caps.
+   //*/
+  //_WRAP_VFUNC(bool get_unit_size(const Glib::RefPtr<Gst::Caps>& caps, guint& size) const, "get_unit_size")
 
-  /** Allows the subclass to be notified of the actual caps set.
-   */
-  _WRAP_VFUNC(bool set_caps(const Glib::RefPtr<Gst::Caps>& incaps, const Glib::RefPtr<Gst::Caps>& outcaps), "set_caps")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Allows the subclass to be notified of the actual caps set.
+   //*/
+  //_WRAP_VFUNC(bool set_caps(const Glib::RefPtr<Gst::Caps>& incaps, const Glib::RefPtr<Gst::Caps>& outcaps), "set_caps")
 
-  /** Optional. Called when the element starts processing. Allows opening
-   * external resources.
-   */
-  _WRAP_VFUNC(bool start(), "start")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Optional. Called when the element starts processing. Allows opening
+   //* external resources.
+   //*/
+  //_WRAP_VFUNC(bool start(), "start")
 
-  /** Optional. Called when the element stops processing. Allows closing
-   * external resources.
-   */
-  _WRAP_VFUNC(bool stop(), "stop")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Optional. Called when the element stops processing. Allows closing
+   //* external resources.
+   //*/
+  //_WRAP_VFUNC(bool stop(), "stop")
 
 #m4 _CONVERSION(`GstEvent*', `const Glib::RefPtr<Gst::Event>&', `Gst::wrap($3, true)')
-  /** Optional. Event handler on the sink pad. This function should return TRUE
-   * if the base class should forward the event.
-   */
-  _WRAP_VFUNC(bool event(const Glib::RefPtr<Gst::Event>& event), "event")
+  ///** Optional. Event handler on the sink pad. This function should return TRUE
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+   //* if the base class should forward the event.
+   //*/
+  //_WRAP_VFUNC(bool event(const Glib::RefPtr<Gst::Event>& event), "event")
 
 #m4 _CONVERSION(`GstBuffer*', `const Glib::RefPtr<Gst::Buffer>&', `Gst::wrap($3, true)')
   /** Required if the element does not operate in-place. Transforms one
@@ -231,9 +249,12 @@ public:
   virtual FlowReturn prepare_output_buffer_vfunc(const Glib::RefPtr<Gst::Buffer>& input, int size, const Glib::RefPtr<Gst::Caps>& caps, Glib::RefPtr<Gst::Buffer>& buffer);
 #endif //GLIBMM_VFUNCS_ENABLED
 
-  /** Optional. Event handler on the source pad.
-   */
-  _WRAP_VFUNC(bool src_event(const Glib::RefPtr<Gst::Event>& event), "src_event")
+  //TODO: Some boolean vfuncs cause strange incorrect functionality when their
+  //callbacks return false with the last "return RType()" line.  Make sure this
+  //one doesn't cause problems and implement later.
+  ///** Optional. Event handler on the source pad.
+   //*/
+  //_WRAP_VFUNC(bool src_event(const Glib::RefPtr<Gst::Event>& event), "src_event")
 
   /** Optional. Since 0.10.22 This method is called right before the base class
    * will start processing. Dynamic properties or other delayed configuration



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]