[gstreamermm] const and usage corrections of Gst::RingBufferSpec.
- From: JosĂŠ Alburquerque <jaalburqu src gnome org>
- To: svn-commits-list gnome org
- Subject: [gstreamermm] const and usage corrections of Gst::RingBufferSpec.
- Date: Tue, 12 May 2009 00:23:40 -0400 (EDT)
commit 977787bab3b9a765ef87c74f12b56f7da38b3194
Author: José Alburquerque <jaalburqu svn gnome org>
Date: Tue May 12 00:22:28 2009 -0400
const and usage corrections of Gst::RingBufferSpec.
---
ChangeLog | 14 ++++++++++++++
gstreamer/src/audiofilter.ccg | 10 +++-------
gstreamer/src/audiofilter.hg | 2 +-
gstreamer/src/audiosink.ccg | 2 +-
gstreamer/src/audiosink.hg | 2 +-
gstreamer/src/audiosrc.ccg | 2 +-
gstreamer/src/audiosrc.hg | 2 +-
gstreamer/src/ringbuffer.ccg | 12 +++++-------
gstreamer/src/ringbuffer.hg | 8 ++++----
9 files changed, 31 insertions(+), 23 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 9ad06f5..77171b6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2009-05-12 José Alburquerque <jaalburqu svn gnome org>
+
+ * gstreamer/src/audiofilter.ccg:
+ * gstreamer/src/audiofilter.hg:
+ * gstreamer/src/audiosink.ccg:
+ * gstreamer/src/audiosink.hg:
+ * gstreamer/src/audiosrc.ccg:
+ * gstreamer/src/audiosrc.hg:
+ * gstreamer/src/ringbuffer.ccg:
+ * gstreamer/src/ringbuffer.hg: const corrections of
+ Gst::RingBufferSpec usages. Also corrected logical use so that
+ copying from a GstRingBufferSpec is done only after API that in fact
+ modifies the GstRingBufferSpec.
+
2009-05-11 José Alburquerque <jaalburqu svn gnome org>
* gstreamer/src/audiosink.ccg:
diff --git a/gstreamer/src/audiofilter.ccg b/gstreamer/src/audiofilter.ccg
index c8bdc1a..ca3ca2e 100644
--- a/gstreamer/src/audiofilter.ccg
+++ b/gstreamer/src/audiofilter.ccg
@@ -46,9 +46,7 @@ gboolean AudioFilter_Class::setup_vfunc_callback(GstAudioFilter* self, GstRingBu
#endif //GLIBMM_EXCEPTIONS_ENABLED
Gst::RingBufferSpec spec(format);
// Call the virtual member method, which derived classes might override.
- gboolean const result = static_cast<int>(obj->setup_vfunc(spec));
- spec.copy_fields_to(*format);
- return result;
+ return static_cast<int>(obj->setup_vfunc(spec));
#ifdef GLIBMM_EXCEPTIONS_ENABLED
}
catch(...)
@@ -71,7 +69,7 @@ gboolean AudioFilter_Class::setup_vfunc_callback(GstAudioFilter* self, GstRingBu
typedef gboolean RType;
return RType();
}
-bool Gst::AudioFilter::setup_vfunc(Gst::RingBufferSpec& format)
+bool Gst::AudioFilter::setup_vfunc(const Gst::RingBufferSpec& format)
{
BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
@@ -81,9 +79,7 @@ bool Gst::AudioFilter::setup_vfunc(Gst::RingBufferSpec& format)
{
GstRingBufferSpec gst_spec;
format.copy_fields_to(gst_spec);
- bool const result = (*base->setup)(gobj(),&gst_spec);
- format.copy_fields_from(gst_spec);
- return result;
+ return (*base->setup)(gobj(),&gst_spec);
}
typedef bool RType;
diff --git a/gstreamer/src/audiofilter.hg b/gstreamer/src/audiofilter.hg
index 21f0fa8..65a3752 100644
--- a/gstreamer/src/audiofilter.hg
+++ b/gstreamer/src/audiofilter.hg
@@ -49,7 +49,7 @@ public:
#ifdef GLIBMM_VFUNCS_ENABLED
/** Virtual function, called whenever the format changes.
*/
- virtual bool setup_vfunc(Gst::RingBufferSpec& format);
+ virtual bool setup_vfunc(const Gst::RingBufferSpec& format);
#endif //GLIBMM_VFUNCS_ENABLED
protected:
diff --git a/gstreamer/src/audiosink.ccg b/gstreamer/src/audiosink.ccg
index 7ad916d..726d03f 100644
--- a/gstreamer/src/audiosink.ccg
+++ b/gstreamer/src/audiosink.ccg
@@ -68,7 +68,7 @@ gboolean AudioSink_Class::prepare_vfunc_callback(GstAudioSink* self, GstRingBuff
typedef gboolean RType;
return RType();
}
-bool Gst::AudioSink::prepare_vfunc(Gst::RingBufferSpec& spec)
+bool Gst::AudioSink::prepare_vfunc(const Gst::RingBufferSpec& spec)
{
BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
diff --git a/gstreamer/src/audiosink.hg b/gstreamer/src/audiosink.hg
index 48d7f82..03e7089 100644
--- a/gstreamer/src/audiosink.hg
+++ b/gstreamer/src/audiosink.hg
@@ -60,7 +60,7 @@ public:
#ifdef GLIBMM_VFUNCS_ENABLED
/** vfunc to prepare the device to operate with the specified parameters.
*/
- virtual bool prepare_vfunc(Gst::RingBufferSpec& spec);
+ virtual bool prepare_vfunc(const Gst::RingBufferSpec& spec);
#endif //GLIBMM_VFUNCS_ENABLED
/** vfunc to undo operations done in prepare.
diff --git a/gstreamer/src/audiosrc.ccg b/gstreamer/src/audiosrc.ccg
index 18c0605..061a979 100644
--- a/gstreamer/src/audiosrc.ccg
+++ b/gstreamer/src/audiosrc.ccg
@@ -68,7 +68,7 @@ gboolean AudioSrc_Class::prepare_vfunc_callback(GstAudioSrc* self, GstRingBuffer
typedef gboolean RType;
return RType();
}
-bool Gst::AudioSrc::prepare_vfunc(Gst::RingBufferSpec& spec)
+bool Gst::AudioSrc::prepare_vfunc(const Gst::RingBufferSpec& spec)
{
BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
diff --git a/gstreamer/src/audiosrc.hg b/gstreamer/src/audiosrc.hg
index 4af0771..065bd70 100644
--- a/gstreamer/src/audiosrc.hg
+++ b/gstreamer/src/audiosrc.hg
@@ -59,7 +59,7 @@ public:
#ifdef GLIBMM_VFUNCS_ENABLED
/** vfunc to configure device with spec.
*/
- virtual bool prepare_vfunc(Gst::RingBufferSpec& spec);
+ virtual bool prepare_vfunc(const Gst::RingBufferSpec& spec);
#endif //GLIBMM_VFUNCS_ENABLED
/** vfunc to undo the configuration.
diff --git a/gstreamer/src/ringbuffer.ccg b/gstreamer/src/ringbuffer.ccg
index 061e4df..304af02 100644
--- a/gstreamer/src/ringbuffer.ccg
+++ b/gstreamer/src/ringbuffer.ccg
@@ -42,7 +42,7 @@ static void RingBuffer_Fill_gstreamermm_callback(GstRingBuffer* rbuf, guint8* da
namespace Gst
{
-RingBufferSpec::RingBufferSpec(GstRingBufferSpec* castitem)
+RingBufferSpec::RingBufferSpec(const GstRingBufferSpec* castitem)
{
if (castitem)
copy_fields_from(*castitem);
@@ -53,7 +53,7 @@ RingBufferSpec::RingBufferSpec(GstRingBufferSpec* castitem)
}
}
-void RingBufferSpec::copy_fields_from(GstRingBufferSpec& spec)
+void RingBufferSpec::copy_fields_from(const GstRingBufferSpec& spec)
{
type = (Gst::BufferFormatType)(spec.type);
format = (Gst::BufferFormat)(spec.format);
@@ -73,7 +73,7 @@ void RingBufferSpec::copy_fields_from(GstRingBufferSpec& spec)
memcpy(silence_sample, spec.silence_sample, sizeof(silence_sample));
}
-void RingBufferSpec::copy_fields_to(GstRingBufferSpec& spec)
+void RingBufferSpec::copy_fields_to(GstRingBufferSpec& spec) const
{
spec.type = (GstBufferFormatType)(type);
spec.format = (GstBufferFormat)(format);
@@ -115,13 +115,11 @@ bool RingBuffer::_slot_set(bool mark_set) const
return slot_set;
}
-bool RingBuffer::acquire(Gst::RingBufferSpec& spec)
+bool RingBuffer::acquire(const Gst::RingBufferSpec& spec)
{
GstRingBufferSpec gst_spec;
spec.copy_fields_to(gst_spec);
- gboolean const result = gst_ring_buffer_acquire(gobj(), &gst_spec);
- spec.copy_fields_from(gst_spec);
- return result;
+ return gst_ring_buffer_acquire(gobj(), &gst_spec);
}
bool RingBuffer::parse_caps(Gst::RingBufferSpec& spec, const Glib::RefPtr<Gst::Caps>& caps)
diff --git a/gstreamer/src/ringbuffer.hg b/gstreamer/src/ringbuffer.hg
index af036b5..bfa0bef 100644
--- a/gstreamer/src/ringbuffer.hg
+++ b/gstreamer/src/ringbuffer.hg
@@ -40,7 +40,7 @@ class RingBufferSpec
_CLASS_GENERIC(RingBufferSpec, GstRingBufferSpec)
public:
/// Construct a Gst::RingBufferSpec from a GstRingBufferSpec.
- RingBufferSpec(GstRingBufferSpec* castitem);
+ RingBufferSpec(const GstRingBufferSpec* castitem);
/** The caps that generated the Spec. */
Glib::RefPtr<Gst::Caps> caps;
@@ -107,8 +107,8 @@ public:
int seglatency;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
- void copy_fields_from(GstRingBufferSpec& spec);
- void copy_fields_to(GstRingBufferSpec& spec);
+ void copy_fields_from(const GstRingBufferSpec& spec);
+ void copy_fields_to(GstRingBufferSpec& spec) const;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
};
@@ -157,7 +157,7 @@ public:
*
* @return true if the device could be acquired, false on error. MT safe.
*/
- bool acquire(Gst::RingBufferSpec& spec);
+ bool acquire(const Gst::RingBufferSpec& spec);
_WRAP_METHOD(bool release(), gst_ring_buffer_release)
_WRAP_METHOD(bool is_acquired() const, gst_ring_buffer_is_acquired)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]