ice->priv->gathered = TRUE;
- for (l = ice->priv->transports; l; l = l->next) {
+ for (l = ice->priv->transports; l;) {
GstWebRTCICETransport *trans = g_weak_ref_get (l->data);
if (trans) {
gst_webrtc_ice_transport_gathering_state_change (trans,
GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE);
g_object_unref (trans);
+ l = l->next;
} else {
l = _delete_transport (&ice->priv->transports, l);
}
GList *l;
GstWebRTCNiceStream *nice_stream = GST_WEBRTC_NICE_STREAM (stream);
- for (l = nice_stream->priv->transports; l; l = l->next) {
+ for (l = nice_stream->priv->transports; l;) {
GstWebRTCICETransport *trans = g_weak_ref_get (l->data);
if (trans) {
g_object_get (trans, "component", &trans_comp, NULL);
return trans;
else
gst_object_unref (trans);
+ l = l->next;
} else {
l = _delete_transport (&nice_stream->priv->transports, l);
}
if (nice_stream->priv->gathered)
return TRUE;
- for (l = nice_stream->priv->transports; l; l = l->next) {
+ for (l = nice_stream->priv->transports; l;) {
GstWebRTCICETransport *trans = g_weak_ref_get (l->data);
if (trans) {
gst_webrtc_ice_transport_gathering_state_change (trans,
GST_WEBRTC_ICE_GATHERING_STATE_GATHERING);
g_object_unref (trans);
+ l = l->next;
} else {
l = _delete_transport (&nice_stream->priv->transports, l);
}
goto cleanup;
}
- for (l = nice_stream->priv->transports; l; l = l->next) {
+ for (l = nice_stream->priv->transports; l;) {
GstWebRTCNiceTransport *trans = g_weak_ref_get (l->data);
if (trans) {
gst_webrtc_nice_transport_update_buffer_size (trans);
g_object_unref (trans);
+ l = l->next;
} else {
l = _delete_transport (&nice_stream->priv->transports, l);
}