summaryrefslogtreecommitdiff
path: root/transmitters
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2012-09-25 15:08:26 -0400
committerOlivier CrĂȘte <olivier.crete@collabora.com>2012-09-25 16:23:53 -0400
commitdfcbd4cbcf111d6cfe6c174c4fdb5a9235062cf9 (patch)
tree168f70df15e0f7cf7d5d51ebbae320c8be5d9f1a /transmitters
parent224a49a5c784efbe6bc4b9e8c7632332efcf7456 (diff)
downloadfarstream-dfcbd4cbcf111d6cfe6c174c4fdb5a9235062cf9.tar.gz
Port to GLib 2.32
Diffstat (limited to 'transmitters')
-rw-r--r--transmitters/multicast/fs-multicast-stream-transmitter.c10
-rw-r--r--transmitters/multicast/fs-multicast-transmitter.c41
-rw-r--r--transmitters/nice/fs-nice-agent.c15
-rw-r--r--transmitters/nice/fs-nice-stream-transmitter.c53
-rw-r--r--transmitters/nice/fs-nice-transmitter.c16
-rw-r--r--transmitters/rawudp/fs-rawudp-component.c14
-rw-r--r--transmitters/rawudp/fs-rawudp-stream-transmitter.c10
-rw-r--r--transmitters/rawudp/fs-rawudp-transmitter.c45
-rw-r--r--transmitters/shm/fs-shm-stream-transmitter.c10
9 files changed, 114 insertions, 100 deletions
diff --git a/transmitters/multicast/fs-multicast-stream-transmitter.c b/transmitters/multicast/fs-multicast-stream-transmitter.c
index a5b1844d..2f4c73da 100644
--- a/transmitters/multicast/fs-multicast-stream-transmitter.c
+++ b/transmitters/multicast/fs-multicast-stream-transmitter.c
@@ -108,7 +108,7 @@ struct _FsMulticastStreamTransmitterPrivate
*/
FsMulticastTransmitter *transmitter;
- GMutex *mutex;
+ GMutex mutex;
/* Protected by the mutex */
gboolean sending;
@@ -131,9 +131,9 @@ struct _FsMulticastStreamTransmitterPrivate
FsMulticastStreamTransmitterPrivate))
#define FS_MULTICAST_STREAM_TRANSMITTER_LOCK(s) \
- g_mutex_lock ((s)->priv->mutex)
+ g_mutex_lock (&(s)->priv->mutex)
#define FS_MULTICAST_STREAM_TRANSMITTER_UNLOCK(s) \
- g_mutex_unlock ((s)->priv->mutex)
+ g_mutex_unlock (&(s)->priv->mutex)
static void fs_multicast_stream_transmitter_class_init (FsMulticastStreamTransmitterClass *klass);
static void fs_multicast_stream_transmitter_init (FsMulticastStreamTransmitter *self);
@@ -220,7 +220,7 @@ fs_multicast_stream_transmitter_init (FsMulticastStreamTransmitter *self)
self->priv->sending = TRUE;
- self->priv->mutex = g_mutex_new ();
+ g_mutex_init (&self->priv->mutex);
}
static void
@@ -294,7 +294,7 @@ fs_multicast_stream_transmitter_finalize (GObject *object)
g_free (self->priv->udpsocks);
self->priv->udpsocks = NULL;
- g_mutex_free (self->priv->mutex);
+ g_mutex_clear (&self->priv->mutex);
parent_class->finalize (object);
}
diff --git a/transmitters/multicast/fs-multicast-transmitter.c b/transmitters/multicast/fs-multicast-transmitter.c
index bce74a9c..d105798e 100644
--- a/transmitters/multicast/fs-multicast-transmitter.c
+++ b/transmitters/multicast/fs-multicast-transmitter.c
@@ -91,7 +91,7 @@ struct _FsMulticastTransmitterPrivate
GstElement **udpsrc_funnels;
GstElement **udpsink_tees;
- GMutex *mutex;
+ GMutex mutex;
GList **udpsocks;
gint type_of_service;
@@ -104,6 +104,11 @@ struct _FsMulticastTransmitterPrivate
(G_TYPE_INSTANCE_GET_PRIVATE ((o), FS_TYPE_MULTICAST_TRANSMITTER, \
FsMulticastTransmitterPrivate))
+#define FS_MULTICAST_TRANSMITTER_LOCK(self) \
+ g_mutex_lock (&(self)->priv->mutex);
+#define FS_MULTICAST_TRANSMITTER_UNLOCK(self) \
+ g_mutex_unlock (&(self)->priv->mutex);
+
static void fs_multicast_transmitter_class_init (
FsMulticastTransmitterClass *klass);
static void fs_multicast_transmitter_init (FsMulticastTransmitter *self);
@@ -219,7 +224,7 @@ fs_multicast_transmitter_init (FsMulticastTransmitter *self)
self->priv->disposed = FALSE;
self->components = 2;
- self->priv->mutex = g_mutex_new ();
+ g_mutex_init (&self->priv->mutex);
self->priv->do_timestamp = TRUE;
}
@@ -417,7 +422,7 @@ fs_multicast_transmitter_finalize (GObject *object)
self->priv->udpsocks = NULL;
}
- g_mutex_free (self->priv->mutex);
+ g_mutex_clear (&self->priv->mutex);
parent_class->finalize (object);
}
@@ -441,9 +446,9 @@ fs_multicast_transmitter_get_property (GObject *object,
g_value_set_uint (value, self->components);
break;
case PROP_TYPE_OF_SERVICE:
- g_mutex_lock (self->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_LOCK (self);
g_value_set_uint (value, self->priv->type_of_service);
- g_mutex_unlock (self->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_UNLOCK (self);
break;
case PROP_DO_TIMESTAMP:
g_value_set_boolean (value, self->priv->do_timestamp);
@@ -913,11 +918,11 @@ fs_multicast_transmitter_get_udpsock (FsMulticastTransmitter *trans,
return NULL;
}
- g_mutex_lock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_LOCK (trans);
udpsock = fs_multicast_transmitter_get_udpsock_locked (trans, component_id,
local_ip, multicast_ip, port, ttl, sending, &local_error);
tos = trans->priv->type_of_service;
- g_mutex_unlock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_UNLOCK (trans);
if (local_error)
{
@@ -979,14 +984,14 @@ fs_multicast_transmitter_get_udpsock (FsMulticastTransmitter *trans,
"sync", FALSE,
NULL);
- g_mutex_lock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_LOCK (trans);
/* Check if someone else has added the same thing at the same time */
tmpudpsock = fs_multicast_transmitter_get_udpsock_locked (trans, component_id,
local_ip, multicast_ip, port, ttl, sending, &local_error);
if (tmpudpsock || local_error)
{
- g_mutex_unlock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_UNLOCK (trans);
fs_multicast_transmitter_put_udpsock (trans, udpsock, ttl);
if (local_error)
{
@@ -1000,7 +1005,7 @@ fs_multicast_transmitter_get_udpsock (FsMulticastTransmitter *trans,
trans->priv->udpsocks[component_id] =
g_list_prepend (trans->priv->udpsocks[component_id], udpsock);
- g_mutex_unlock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_UNLOCK (trans);
if (udpsock->udpsink_recvonly_filter)
{
@@ -1028,7 +1033,7 @@ fs_multicast_transmitter_put_udpsock (FsMulticastTransmitter *trans,
{
guint i;
- g_mutex_lock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_LOCK (trans);
for (i = udpsock->ttls->len - 1;; i--)
{
if (udpsock->ttls->data[i] == ttl)
@@ -1060,20 +1065,20 @@ fs_multicast_transmitter_put_udpsock (FsMulticastTransmitter *trans,
{
GST_WARNING ("Error setting the multicast TTL to %u: %s", max,
g_strerror (errno));
- g_mutex_unlock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_UNLOCK (trans);
return;
}
udpsock->current_ttl = max;
}
}
- g_mutex_unlock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_UNLOCK (trans);
return;
}
trans->priv->udpsocks[udpsock->component_id] =
g_list_remove (trans->priv->udpsocks[udpsock->component_id], udpsock);
- g_mutex_unlock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_UNLOCK (trans);
if (udpsock->udpsrc)
{
@@ -1182,9 +1187,9 @@ void
fs_multicast_transmitter_udpsock_ref (FsMulticastTransmitter *trans,
UdpSock *udpsock, guint8 ttl)
{
- g_mutex_lock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_LOCK (trans);
g_byte_array_append (udpsock->ttls, &ttl, 1);
- g_mutex_unlock (trans->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_UNLOCK (trans);
}
@@ -1194,7 +1199,7 @@ fs_multicast_transmitter_set_type_of_service (FsMulticastTransmitter *self,
{
gint i;
- g_mutex_lock (self->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_LOCK (self);
if (self->priv->type_of_service == tos)
goto out;
@@ -1221,5 +1226,5 @@ fs_multicast_transmitter_set_type_of_service (FsMulticastTransmitter *self,
}
out:
- g_mutex_unlock (self->priv->mutex);
+ FS_MULTICAST_TRANSMITTER_UNLOCK (self);
}
diff --git a/transmitters/nice/fs-nice-agent.c b/transmitters/nice/fs-nice-agent.c
index adcf5037..c1babbc3 100644
--- a/transmitters/nice/fs-nice-agent.c
+++ b/transmitters/nice/fs-nice-agent.c
@@ -67,7 +67,7 @@ struct _FsNiceAgentPrivate
GList *preferred_local_candidates;
- GMutex *mutex;
+ GMutex mutex;
/* Everything below is protected by the mutex */
@@ -79,8 +79,8 @@ struct _FsNiceAgentPrivate
FsNiceAgentPrivate))
-#define FS_NICE_AGENT_LOCK(o) g_mutex_lock ((o)->priv->mutex)
-#define FS_NICE_AGENT_UNLOCK(o) g_mutex_unlock ((o)->priv->mutex)
+#define FS_NICE_AGENT_LOCK(o) g_mutex_lock (&(o)->priv->mutex)
+#define FS_NICE_AGENT_UNLOCK(o) g_mutex_unlock (&(o)->priv->mutex)
static void fs_nice_agent_class_init (
FsNiceAgentClass *klass);
@@ -175,7 +175,7 @@ fs_nice_agent_init (FsNiceAgent *self)
/* member init */
self->priv = FS_NICE_AGENT_GET_PRIVATE (self);
- self->priv->mutex = g_mutex_new ();
+ g_mutex_init (&self->priv->mutex);
self->priv->main_context = g_main_context_new ();
self->priv->main_loop = g_main_loop_new (self->priv->main_context, FALSE);
@@ -213,8 +213,7 @@ fs_nice_agent_finalize (GObject *object)
fs_candidate_list_destroy (self->priv->preferred_local_candidates);
self->priv->preferred_local_candidates = NULL;
- g_mutex_free (self->priv->mutex);
- self->priv->mutex = NULL;
+ g_mutex_clear (&self->priv->mutex);
parent_class->finalize (object);
}
@@ -418,8 +417,8 @@ fs_nice_agent_new (guint compatibility_mode,
FS_NICE_AGENT_LOCK (self);
- self->priv->thread = g_thread_create (fs_nice_agent_main_thread,
- self, TRUE, error);
+ self->priv->thread = g_thread_try_new ("libnice agent thread",
+ fs_nice_agent_main_thread, self, error);
if (!self->priv->thread)
{
diff --git a/transmitters/nice/fs-nice-stream-transmitter.c b/transmitters/nice/fs-nice-stream-transmitter.c
index 697eb568..e266d632 100644
--- a/transmitters/nice/fs-nice-stream-transmitter.c
+++ b/transmitters/nice/fs-nice-stream-transmitter.c
@@ -84,7 +84,7 @@ struct _FsNiceStreamTransmitterPrivate
guint compatibility_mode;
- GMutex *mutex;
+ GMutex mutex;
GList *preferred_local_candidates;
@@ -95,7 +95,7 @@ struct _FsNiceStreamTransmitterPrivate
gulong tos_changed_handler_id;
- GValueArray *relay_info;
+ GPtrArray *relay_info;
volatile gint associate_on_source;
@@ -122,8 +122,8 @@ struct _FsNiceStreamTransmitterPrivate
(G_TYPE_INSTANCE_GET_PRIVATE ((o), FS_TYPE_NICE_STREAM_TRANSMITTER, \
FsNiceStreamTransmitterPrivate))
-#define FS_NICE_STREAM_TRANSMITTER_LOCK(o) g_mutex_lock ((o)->priv->mutex)
-#define FS_NICE_STREAM_TRANSMITTER_UNLOCK(o) g_mutex_unlock ((o)->priv->mutex)
+#define FS_NICE_STREAM_TRANSMITTER_LOCK(o) g_mutex_lock (&(o)->priv->mutex)
+#define FS_NICE_STREAM_TRANSMITTER_UNLOCK(o) g_mutex_unlock (&(o)->priv->mutex)
static void fs_nice_stream_transmitter_class_init (FsNiceStreamTransmitterClass *klass);
@@ -287,7 +287,7 @@ fs_nice_stream_transmitter_class_init (FsNiceStreamTransmitterClass *klass)
/**
* FsNiceStreamTransmitter:relay-info:
*
- * This is a #GValueArray containing one or more #GstStructure.
+ * This is a #GPtrArray containing one or more #GstStructure.
*
* The fields in the structure are:
* <informaltable>
@@ -328,15 +328,29 @@ fs_nice_stream_transmitter_class_init (FsNiceStreamTransmitterClass *klass)
* </td>
* </tr>
* </informaltable>
+ *
+ * Example:
+ * |[
+ GPtrArray *relay_info = g_ptr_array_new_full (1, (GDestroyNotify) gst_structure_free);
+ g_ptr_array_add (relay_info,
+ gst_structure_new ("aa",
+ "ip", G_TYPE_STRING, "127.0.0.1",
+ "port", G_TYPE_UINT, 7654,
+ "username", G_TYPE_STRING, "blah",
+ "password", G_TYPE_STRING, "blah2",
+ "relay-type", G_TYPE_STRING, "udp",
+ NULL));
+ |]
+ *
*/
g_object_class_install_property (gobject_class, PROP_RELAY_INFO,
- g_param_spec_value_array (
+ g_param_spec_boxed (
"relay-info",
"Information for the TURN server",
"ip/port/username/password/relay-type/component of the TURN servers"
- " in a GValueArray of GstStructures",
- NULL,
+ " in a GPtrArray of GstStructures",
+ G_TYPE_PTR_ARRAY,
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_DEBUG,
@@ -356,7 +370,7 @@ fs_nice_stream_transmitter_init (FsNiceStreamTransmitter *self)
self->priv = FS_NICE_STREAM_TRANSMITTER_GET_PRIVATE (self);
self->priv->sending = TRUE;
- self->priv->mutex = g_mutex_new ();
+ g_mutex_init (&self->priv->mutex);
self->priv->controlling_mode = TRUE;
}
@@ -446,11 +460,11 @@ fs_nice_stream_transmitter_finalize (GObject *object)
fs_candidate_list_destroy (self->priv->local_candidates);
if (self->priv->relay_info)
- g_value_array_free (self->priv->relay_info);
+ g_ptr_array_unref (self->priv->relay_info);
g_free (self->priv->stun_ip);
- g_mutex_free (self->priv->mutex);
+ g_mutex_clear (&self->priv->mutex);
g_free (self->priv->username);
g_free (self->priv->password);
@@ -1179,15 +1193,14 @@ fs_nice_stream_transmitter_build (FsNiceStreamTransmitter *self,
if (self->priv->relay_info)
{
- for (i = 0; i < self->priv->relay_info->n_values; i++)
+ for (i = 0; i < self->priv->relay_info->len; i++)
{
- GValue *val = g_value_array_get_nth (self->priv->relay_info, i);
- const GstStructure *s = gst_value_get_structure (val);
+ const GstStructure *s = g_ptr_array_index (self->priv->relay_info, i);
if (!s)
{
g_set_error (error, FS_ERROR, FS_ERROR_INVALID_ARGUMENTS,
- "Element %d of the relay-info GValueArray is not a GstStructure",
+ "Element %d of the relay-info GPtrArray is NULL",
i);
return FALSE;
}
@@ -1349,10 +1362,9 @@ fs_nice_stream_transmitter_build (FsNiceStreamTransmitter *self,
{
gboolean relay_info_set = FALSE;
- for (i = 0; i < self->priv->relay_info->n_values; i++)
+ for (i = 0; i < self->priv->relay_info->len; i++)
{
- GValue *val = g_value_array_get_nth (self->priv->relay_info, i);
- const GstStructure *s = gst_value_get_structure (val);
+ const GstStructure *s = g_ptr_array_index (self->priv->relay_info, i);
guint component_id;
if (gst_structure_get_uint (s, "component", &component_id) &&
@@ -1366,10 +1378,9 @@ fs_nice_stream_transmitter_build (FsNiceStreamTransmitter *self,
if (!relay_info_set)
{
- for (i = 0; i < self->priv->relay_info->n_values; i++)
+ for (i = 0; i < self->priv->relay_info->len; i++)
{
- GValue *val = g_value_array_get_nth (self->priv->relay_info, i);
- const GstStructure *s = gst_value_get_structure (val);
+ const GstStructure *s = g_ptr_array_index (self->priv->relay_info, i);
if (!gst_structure_has_field (s, "component"))
if (!fs_nice_stream_transmitter_set_relay_info (self, s, c, error))
diff --git a/transmitters/nice/fs-nice-transmitter.c b/transmitters/nice/fs-nice-transmitter.c
index 0798dd8e..4cca547b 100644
--- a/transmitters/nice/fs-nice-transmitter.c
+++ b/transmitters/nice/fs-nice-transmitter.c
@@ -699,7 +699,7 @@ struct _NiceGstStream {
gulong *probe_ids;
/* Protects the sending field and the addition/state of the elements */
- GMutex *mutex;
+ GMutex mutex;
gboolean sending;
gboolean desired_sending;
@@ -720,7 +720,7 @@ fs_nice_transmitter_add_gst_stream (FsNiceTransmitter *self,
ns = g_slice_new0 (NiceGstStream);
ns->sending = TRUE;
ns->desired_sending = TRUE;
- ns->mutex = g_mutex_new ();
+ g_mutex_init (&ns->mutex);
ns->nicesrcs = g_new0 (GstElement *, self->components + 1);
ns->nicesinks = g_new0 (GstElement *, self->components + 1);
ns->recvonly_filters = g_new0 (GstElement *, self->components + 1);
@@ -858,7 +858,7 @@ fs_nice_transmitter_free_gst_stream (FsNiceTransmitter *self,
g_free (ns->requested_tee_pads);
g_free (ns->requested_funnel_pads);
g_free (ns->probe_ids);
- g_mutex_free (ns->mutex);
+ g_mutex_clear (&ns->mutex);
g_slice_free (NiceGstStream, ns);
}
@@ -868,7 +868,7 @@ fs_nice_transmitter_set_sending (FsNiceTransmitter *self,
{
guint c;
- g_mutex_lock (ns->mutex);
+ g_mutex_lock (&ns->mutex);
ns->desired_sending = sending;
@@ -876,7 +876,7 @@ fs_nice_transmitter_set_sending (FsNiceTransmitter *self,
if (ns->modifying)
{
- g_mutex_unlock (ns->mutex);
+ g_mutex_unlock (&ns->mutex);
return;
}
@@ -886,7 +886,7 @@ fs_nice_transmitter_set_sending (FsNiceTransmitter *self,
{
gboolean current_sending = ns->sending;
- g_mutex_unlock (ns->mutex);
+ g_mutex_unlock (&ns->mutex);
GST_DEBUG ("Changing gst stream sending status to %d", !current_sending);
@@ -936,7 +936,7 @@ fs_nice_transmitter_set_sending (FsNiceTransmitter *self,
}
}
- g_mutex_lock (ns->mutex);
+ g_mutex_lock (&ns->mutex);
ns->sending = sending;
@@ -944,7 +944,7 @@ fs_nice_transmitter_set_sending (FsNiceTransmitter *self,
ns->modifying = FALSE;
- g_mutex_unlock (ns->mutex);
+ g_mutex_unlock (&ns->mutex);
}
diff --git a/transmitters/rawudp/fs-rawudp-component.c b/transmitters/rawudp/fs-rawudp-component.c
index be54f482..18cf82c1 100644
--- a/transmitters/rawudp/fs-rawudp-component.c
+++ b/transmitters/rawudp/fs-rawudp-component.c
@@ -118,7 +118,7 @@ struct _FsRawUdpComponentPrivate
guint stun_port;
guint stun_timeout;
- GMutex *mutex;
+ GMutex mutex;
StunAgent stun_agent;
StunMessage stun_message;
@@ -177,9 +177,9 @@ static guint signals[LAST_SIGNAL] = { 0 };
static GType type = 0;
#define FS_RAWUDP_COMPONENT_LOCK(component) \
- g_mutex_lock ((component)->priv->mutex)
+ g_mutex_lock (&(component)->priv->mutex)
#define FS_RAWUDP_COMPONENT_UNLOCK(component) \
- g_mutex_unlock ((component)->priv->mutex)
+ g_mutex_unlock (&(component)->priv->mutex)
static void
fs_rawudp_component_class_init (FsRawUdpComponentClass *klass);
@@ -536,7 +536,7 @@ fs_rawudp_component_init (FsRawUdpComponent *self)
self->priv->upnp_mapping_timeout = DEFAULT_UPNP_MAPPING_TIMEOUT;
#endif
- self->priv->mutex = g_mutex_new ();
+ g_mutex_init (&self->priv->mutex);
}
static void
@@ -698,7 +698,7 @@ fs_rawudp_component_finalize (GObject *object)
g_free (self->priv->ip);
g_free (self->priv->stun_ip);
- g_mutex_free (self->priv->mutex);
+ g_mutex_clear (&self->priv->mutex);
parent_class->finalize (object);
}
@@ -1349,8 +1349,8 @@ fs_rawudp_component_start_stun (FsRawUdpComponent *self, GError **error)
return FALSE;
}
- self->priv->stun_timeout_thread =
- g_thread_create (stun_timeout_func, self, TRUE, error);
+ self->priv->stun_timeout_thread = g_thread_try_new ("stun timeout thread",
+ stun_timeout_func, self, error);
}
res = (self->priv->stun_timeout_thread != NULL);
diff --git a/transmitters/rawudp/fs-rawudp-stream-transmitter.c b/transmitters/rawudp/fs-rawudp-stream-transmitter.c
index 99554dcd..94e2ba07 100644
--- a/transmitters/rawudp/fs-rawudp-stream-transmitter.c
+++ b/transmitters/rawudp/fs-rawudp-stream-transmitter.c
@@ -139,7 +139,7 @@ struct _FsRawUdpStreamTransmitterPrivate
#endif
/* Everything below this line is protected by the mutex */
- GMutex *mutex;
+ GMutex mutex;
gboolean *candidates_prepared;
};
@@ -147,8 +147,8 @@ struct _FsRawUdpStreamTransmitterPrivate
(G_TYPE_INSTANCE_GET_PRIVATE ((o), FS_TYPE_RAWUDP_STREAM_TRANSMITTER, \
FsRawUdpStreamTransmitterPrivate))
-#define FS_RAWUDP_STREAM_TRANSMITTER_LOCK(o) g_mutex_lock ((o)->priv->mutex)
-#define FS_RAWUDP_STREAM_TRANSMITTER_UNLOCK(o) g_mutex_unlock ((o)->priv->mutex)
+#define FS_RAWUDP_STREAM_TRANSMITTER_LOCK(o) g_mutex_lock (&(o)->priv->mutex)
+#define FS_RAWUDP_STREAM_TRANSMITTER_UNLOCK(o) g_mutex_unlock (&(o)->priv->mutex)
static void fs_rawudp_stream_transmitter_class_init (
FsRawUdpStreamTransmitterClass *klass);
@@ -350,7 +350,7 @@ fs_rawudp_stream_transmitter_init (FsRawUdpStreamTransmitter *self)
self->priv->upnp_discovery = TRUE;
#endif
- self->priv->mutex = g_mutex_new ();
+ g_mutex_init (&self->priv->mutex);
}
static void
@@ -405,7 +405,7 @@ fs_rawudp_stream_transmitter_finalize (GObject *object)
self->priv->component = NULL;
}
- g_mutex_free (self->priv->mutex);
+ g_mutex_clear (&self->priv->mutex);
g_free (self->priv->candidates_prepared);
diff --git a/transmitters/rawudp/fs-rawudp-transmitter.c b/transmitters/rawudp/fs-rawudp-transmitter.c
index c81aaddb..27853a8c 100644
--- a/transmitters/rawudp/fs-rawudp-transmitter.c
+++ b/transmitters/rawudp/fs-rawudp-transmitter.c
@@ -89,7 +89,7 @@ struct _FsRawUdpTransmitterPrivate
GstElement **udpsrc_funnels;
GstElement **udpsink_tees;
- GMutex *mutex;
+ GMutex mutex;
/* Protected by the mutex */
GList **udpports;
@@ -221,7 +221,7 @@ fs_rawudp_transmitter_init (FsRawUdpTransmitter *self)
self->priv->disposed = FALSE;
self->components = 2;
- self->priv->mutex = g_mutex_new ();
+ g_mutex_init (&self->priv->mutex);
self->priv->do_timestamp = TRUE;
}
@@ -432,7 +432,7 @@ fs_rawudp_transmitter_finalize (GObject *object)
self->priv->udpports = NULL;
}
- g_mutex_free (self->priv->mutex);
+ g_mutex_clear (&self->priv->mutex);
parent_class->finalize (object);
}
@@ -457,9 +457,9 @@ fs_rawudp_transmitter_get_property (GObject *object,
g_value_set_uint (value, self->components);
break;
case PROP_TYPE_OF_SERVICE:
- g_mutex_lock (self->priv->mutex);
+ g_mutex_lock (&self->priv->mutex);
g_value_set_uint (value, self->priv->type_of_service);
- g_mutex_unlock (self->priv->mutex);
+ g_mutex_unlock (&self->priv->mutex);
break;
case PROP_DO_TIMESTAMP:
g_value_set_boolean (value, self->priv->do_timestamp);
@@ -558,7 +558,7 @@ struct _UdpPort {
guint component_id;
/* Everything below is protected by the mutex */
- GMutex *mutex;
+ GMutex mutex;
GArray *known_addresses;
};
@@ -856,11 +856,11 @@ fs_rawudp_transmitter_get_udpport (FsRawUdpTransmitter *trans,
return NULL;
}
- g_mutex_lock (trans->priv->mutex);
+ g_mutex_lock (&trans->priv->mutex);
udpport = fs_rawudp_transmitter_get_udpport_locked (trans, component_id,
requested_ip, requested_port);
tos = trans->priv->type_of_service;
- g_mutex_unlock (trans->priv->mutex);
+ g_mutex_unlock (&trans->priv->mutex);
if (udpport)
return udpport;
@@ -875,7 +875,7 @@ fs_rawudp_transmitter_get_udpport (FsRawUdpTransmitter *trans,
udpport->requested_port = requested_port;
udpport->fd = -1;
udpport->component_id = component_id;
- udpport->mutex = g_mutex_new ();
+ g_mutex_init (&udpport->mutex);
udpport->known_addresses = g_array_new (TRUE, FALSE,
sizeof (struct KnownAddress));
@@ -922,7 +922,7 @@ fs_rawudp_transmitter_get_udpport (FsRawUdpTransmitter *trans,
goto error;
}
- g_mutex_lock (trans->priv->mutex);
+ g_mutex_lock (&trans->priv->mutex);
/* Check if someone else added the same port at the same time */
tmpudpport = fs_rawudp_transmitter_get_udpport_locked (trans, component_id,
@@ -930,14 +930,14 @@ fs_rawudp_transmitter_get_udpport (FsRawUdpTransmitter *trans,
if (tmpudpport)
{
- g_mutex_unlock (trans->priv->mutex);
+ g_mutex_unlock (&trans->priv->mutex);
fs_rawudp_transmitter_put_udpport (trans, udpport);
return tmpudpport;
}
trans->priv->udpports[component_id] =
g_list_prepend (trans->priv->udpports[component_id], udpport);
- g_mutex_unlock (trans->priv->mutex);
+ g_mutex_unlock (&trans->priv->mutex);
return udpport;
@@ -953,19 +953,19 @@ fs_rawudp_transmitter_put_udpport (FsRawUdpTransmitter *trans,
{
GST_LOG ("Put port refcount %d->%d", udpport->refcount, udpport->refcount-1);
- g_mutex_lock (trans->priv->mutex);
+ g_mutex_lock (&trans->priv->mutex);
if (udpport->refcount > 1)
{
udpport->refcount--;
- g_mutex_unlock (trans->priv->mutex);
+ g_mutex_unlock (&trans->priv->mutex);
return;
}
trans->priv->udpports[udpport->component_id] =
g_list_remove (trans->priv->udpports[udpport->component_id], udpport);
- g_mutex_unlock (trans->priv->mutex);
+ g_mutex_unlock (&trans->priv->mutex);
if (udpport->udpsrc)
{
@@ -1030,8 +1030,6 @@ fs_rawudp_transmitter_put_udpport (FsRawUdpTransmitter *trans,
if (udpport->fd >= 0)
close (udpport->fd);
- if (udpport->mutex)
- g_mutex_free (udpport->mutex);
if (udpport->known_addresses)
{
guint i;
@@ -1042,6 +1040,7 @@ fs_rawudp_transmitter_put_udpport (FsRawUdpTransmitter *trans,
}
g_free (udpport->requested_ip);
+ g_mutex_clear (&udpport->mutex);
g_slice_free (UdpPort, udpport);
}
@@ -1173,7 +1172,7 @@ fs_rawudp_transmitter_udpport_add_known_address (UdpPort *udpport,
guint counter = 0;
struct KnownAddress *prev_ka = NULL;
- g_mutex_lock (udpport->mutex);
+ g_mutex_lock (&udpport->mutex);
for (i = 0;
g_array_index (udpport->known_addresses,
@@ -1207,7 +1206,7 @@ fs_rawudp_transmitter_udpport_add_known_address (UdpPort *udpport,
g_array_append_val (udpport->known_addresses, newka);
- g_mutex_unlock (udpport->mutex);
+ g_mutex_unlock (&udpport->mutex);
return unique;
}
@@ -1236,7 +1235,7 @@ fs_rawudp_transmitter_udpport_remove_known_address (UdpPort *udpport,
guint counter = 0;
struct KnownAddress *prev_ka = NULL;
- g_mutex_lock (udpport->mutex);
+ g_mutex_lock (&udpport->mutex);
for (i = 0;
g_array_index (udpport->known_addresses, struct KnownAddress, i).callback;
@@ -1273,7 +1272,7 @@ fs_rawudp_transmitter_udpport_remove_known_address (UdpPort *udpport,
out:
- g_mutex_unlock (udpport->mutex);
+ g_mutex_unlock (&udpport->mutex);
}
void
@@ -1301,7 +1300,7 @@ fs_rawudp_transmitter_set_type_of_service (FsRawUdpTransmitter *self,
{
gint i;
- g_mutex_lock (self->priv->mutex);
+ g_mutex_lock (&self->priv->mutex);
if (self->priv->type_of_service == tos)
goto out;
@@ -1327,7 +1326,7 @@ fs_rawudp_transmitter_set_type_of_service (FsRawUdpTransmitter *self,
}
out:
- g_mutex_unlock (self->priv->mutex);
+ g_mutex_unlock (&self->priv->mutex);
}
diff --git a/transmitters/shm/fs-shm-stream-transmitter.c b/transmitters/shm/fs-shm-stream-transmitter.c
index 23c45f26..abc43b2e 100644
--- a/transmitters/shm/fs-shm-stream-transmitter.c
+++ b/transmitters/shm/fs-shm-stream-transmitter.c
@@ -110,7 +110,7 @@ struct _FsShmStreamTransmitterPrivate
GList *preferred_local_candidates;
- GMutex *mutex;
+ GMutex mutex;
/* Protected by the mutex */
gboolean sending;
@@ -134,9 +134,9 @@ struct _FsShmStreamTransmitterPrivate
FsShmStreamTransmitterPrivate))
#define FS_SHM_STREAM_TRANSMITTER_LOCK(s) \
- g_mutex_lock ((s)->priv->mutex)
+ g_mutex_lock (&(s)->priv->mutex)
#define FS_SHM_STREAM_TRANSMITTER_UNLOCK(s) \
- g_mutex_unlock ((s)->priv->mutex)
+ g_mutex_unlock (&(s)->priv->mutex)
static void fs_shm_stream_transmitter_class_init (FsShmStreamTransmitterClass *klass);
static void fs_shm_stream_transmitter_init (FsShmStreamTransmitter *self);
@@ -242,7 +242,7 @@ fs_shm_stream_transmitter_init (FsShmStreamTransmitter *self)
self->priv->sending = TRUE;
- self->priv->mutex = g_mutex_new ();
+ g_mutex_init (&self->priv->mutex);
}
static void
@@ -283,7 +283,7 @@ fs_shm_stream_transmitter_finalize (GObject *object)
g_free (self->priv->shm_src);
g_free (self->priv->shm_sink);
- g_mutex_free (self->priv->mutex);
+ g_mutex_clear (&self->priv->mutex);
parent_class->finalize (object);
}