telepathy-farstream: The relay-info is now a GPtrArray instead of a GValueArray
Olivier Crête
tester at kemper.freedesktop.org
Tue Sep 25 14:01:42 PDT 2012
Module: telepathy-farstream
Branch: master
Commit: cd002a7f723229450968f8ea2664fd173a5047ad
URL: http://cgit.freedesktop.org/telepathy/telepathy-farstream/commit/?id=cd002a7f723229450968f8ea2664fd173a5047ad
Author: Olivier Crête <olivier.crete at collabora.com>
Date: Tue Sep 25 16:57:49 2012 -0400
The relay-info is now a GPtrArray instead of a GValueArray
---
configure.ac | 4 ++--
telepathy-farstream/call-stream.c | 19 ++++++++-----------
telepathy-farstream/stream.c | 21 +++++++++------------
3 files changed, 19 insertions(+), 25 deletions(-)
diff --git a/configure.ac b/configure.ac
index 0fdc4bd..a6a2251 100644
--- a/configure.ac
+++ b/configure.ac
@@ -86,9 +86,9 @@ fi
CFLAGS="$CFLAGS -DGST_USE_UNSTABLE_API"
dnl Check for Glib
-PKG_CHECK_MODULES(GLIB, gobject-2.0 >= 2.30 glib-2.0 >= 2.30 gio-2.0)
+PKG_CHECK_MODULES(GLIB, gobject-2.0 >= 2.32 glib-2.0 >= 2.32 gio-2.0)
AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_30, [Ignore post 2.30 deprecations])
-AC_DEFINE(GLIB_VERSION_MAX_ALLOWED, GLIB_VERSION_2_30, [Prevent post 2.30 APIs])
+AC_DEFINE(GLIB_VERSION_MAX_ALLOWED, GLIB_VERSION_2_32, [Prevent post 2.32 APIs])
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
diff --git a/telepathy-farstream/call-stream.c b/telepathy-farstream/call-stream.c
index d95a19f..6d3ef02 100644
--- a/telepathy-farstream/call-stream.c
+++ b/telepathy-farstream/call-stream.c
@@ -467,9 +467,7 @@ tf_call_stream_try_adding_fsstream (TfCallStream *self)
if (self->relay_info->len)
{
- GValueArray *fs_relay_info = g_value_array_new (0);
- GValue val = {0};
- g_value_init (&val, GST_TYPE_STRUCTURE);
+ GPtrArray *fs_relay_info = NULL;
for (i = 0; i < self->relay_info->len; i++)
{
@@ -507,21 +505,20 @@ tf_call_stream_try_adding_fsstream (TfCallStream *self)
gst_structure_set (s, "component", G_TYPE_UINT, component, NULL);
- g_value_take_boxed (&val, s);
+ if (!fs_relay_info)
+ fs_relay_info = g_ptr_array_new_with_free_func (
+ (GDestroyNotify)gst_structure_free);
- g_value_array_append (fs_relay_info, &val);
- g_value_reset (&val);
+ g_ptr_array_add (fs_relay_info, s);
}
- if (fs_relay_info->n_values)
+ if (fs_relay_info)
{
params[n_params].name = "relay-info";
- g_value_init (¶ms[n_params].value, G_TYPE_VALUE_ARRAY);
- g_value_set_boxed (¶ms[n_params].value, fs_relay_info);
+ g_value_init (¶ms[n_params].value, G_TYPE_PTR_ARRAY);
+ g_value_take_boxed (¶ms[n_params].value, fs_relay_info);
n_params++;
}
-
- g_value_array_free (fs_relay_info);
}
if (self->receiving_state == TP_STREAM_FLOW_STATE_PENDING_START)
diff --git a/telepathy-farstream/stream.c b/telepathy-farstream/stream.c
index 7959c12..1ee9237 100644
--- a/telepathy-farstream/stream.c
+++ b/telepathy-farstream/stream.c
@@ -943,9 +943,7 @@ get_all_properties_cb (TpProxy *proxy,
if (dbus_relay_info && dbus_relay_info->len)
{
- GValueArray *fs_relay_info = g_value_array_new (0);
- GValue val = {0};
- g_value_init (&val, GST_TYPE_STRUCTURE);
+ GPtrArray *fs_relay_info = NULL;
for (i = 0; i < dbus_relay_info->len; i++)
{
@@ -968,6 +966,10 @@ get_all_properties_cb (TpProxy *proxy,
if (!ip || !port || !username || !password)
continue;
+ if (!fs_relay_info)
+ fs_relay_info = g_ptr_array_new_with_free_func (
+ (GDestroyNotify) gst_structure_free);
+
s = gst_structure_new ("relay-info",
"ip", G_TYPE_STRING, ip,
"port", G_TYPE_UINT, port,
@@ -987,21 +989,16 @@ get_all_properties_cb (TpProxy *proxy,
DEBUG (stream, "Adding relay (%s) %s:%u %s:%s %u",
type, ip, port, username, password, component);
- g_value_take_boxed (&val, s);
-
- g_value_array_append (fs_relay_info, &val);
- g_value_reset (&val);
+ g_ptr_array_add (fs_relay_info, s);
}
- if (fs_relay_info->n_values)
+ if (fs_relay_info)
{
params[n_args].name = "relay-info";
- g_value_init (¶ms[n_args].value, G_TYPE_VALUE_ARRAY);
- g_value_set_boxed (¶ms[n_args].value, fs_relay_info);
+ g_value_init (¶ms[n_args].value, G_TYPE_PTR_ARRAY);
+ g_value_take_boxed (¶ms[n_args].value, fs_relay_info);
n_args++;
}
-
- g_value_array_free (fs_relay_info);
}
if (out_Properties && do_controlling)
More information about the telepathy-commits
mailing list