diff --git a/subprojects/gst-plugins-bad/ext/sctp/sctpassociation.c b/subprojects/gst-plugins-bad/ext/sctp/sctpassociation.c index 68c05e62f3..772cbc145d 100644 --- a/subprojects/gst-plugins-bad/ext/sctp/sctpassociation.c +++ b/subprojects/gst-plugins-bad/ext/sctp/sctpassociation.c @@ -110,8 +110,8 @@ static void gst_sctp_association_get_property (GObject * object, guint prop_id, static struct socket *create_sctp_socket (GstSctpAssociation * gst_sctp_association); -static struct sockaddr_conn get_sctp_socket_address (GstSctpAssociation * - gst_sctp_association, guint16 port); +static void fill_sctp_socket_address (GstSctpAssociation * gst_sctp_association, + guint16 port, struct sockaddr_conn *addr); static gboolean client_role_connect (GstSctpAssociation * self); static int sctp_packet_out (void *addr, void *buffer, size_t length, guint8 tos, guint8 set_df); @@ -486,7 +486,7 @@ gst_sctp_association_send_data (GstSctpAssociation * self, const guint8 * buf, goto end; } } - remote_addr = get_sctp_socket_address (self, self->remote_port); + fill_sctp_socket_address (self, self->remote_port, &remote_addr); g_mutex_unlock (&self->association_mutex); /* TODO: We probably want to split too large chunks into multiple packets @@ -688,21 +688,17 @@ error: return NULL; } -static struct sockaddr_conn -get_sctp_socket_address (GstSctpAssociation * gst_sctp_association, - guint16 port) +static void +fill_sctp_socket_address (GstSctpAssociation * gst_sctp_association, + guint16 port, struct sockaddr_conn *addr) { - struct sockaddr_conn addr; - - memset ((void *) &addr, 0, sizeof (struct sockaddr_conn)); + memset ((void *) addr, 0, sizeof (struct sockaddr_conn)); #ifdef __APPLE__ - addr.sconn_len = sizeof (struct sockaddr_conn); + addr->sconn_len = sizeof (struct sockaddr_conn); #endif - addr.sconn_family = AF_CONN; - addr.sconn_port = g_htons (port); - addr.sconn_addr = (void *) gst_sctp_association; - - return addr; + addr->sconn_family = AF_CONN; + addr->sconn_port = g_htons (port); + addr->sconn_addr = (void *) gst_sctp_association; } static gboolean @@ -714,8 +710,8 @@ client_role_connect (GstSctpAssociation * self) gint ret; g_mutex_lock (&self->association_mutex); - local_addr = get_sctp_socket_address (self, self->local_port); - remote_addr = get_sctp_socket_address (self, self->remote_port); + fill_sctp_socket_address (self, self->local_port, &local_addr); + fill_sctp_socket_address (self, self->remote_port, &remote_addr); g_mutex_unlock (&self->association_mutex); ret =