diff options
author | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2018-06-18 08:43:17 -0400 |
---|---|---|
committer | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2018-06-18 08:47:12 -0400 |
commit | 3770519e53c8fd096efd1ad7958645c01d62e5c0 (patch) | |
tree | ba689fb3dbdb6f5212a6f57eda52cae8f16677f7 | |
parent | 23b5926885683987ac8706dddd8cbc195ba40d18 (diff) | |
download | libnice-3770519e53c8fd096efd1ad7958645c01d62e5c0.tar.gz |
Fix queue_clear replaced by queue_free error
There was two cases where instead of freeing the queue, we actually
clear the queue so it's ready for reused. Notably in
nice_socket_free_send_queue(), a missed name function and nicesrc
element state change.
This regression was introduced by: fa783b1dd727a6ee2b99a111ca24790ae850c2f7
-rw-r--r-- | gst/gstnicesrc.c | 3 | ||||
-rw-r--r-- | socket/socket.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/gst/gstnicesrc.c b/gst/gstnicesrc.c index a3f223e..0d39c34 100644 --- a/gst/gstnicesrc.c +++ b/gst/gstnicesrc.c @@ -429,7 +429,8 @@ gst_nice_src_change_state (GstElement * element, GstStateChange transition) nice_agent_attach_recv (src->agent, src->stream_id, src->component_id, src->mainctx, NULL, NULL); GST_OBJECT_LOCK (src); - g_queue_free_full (src->outbufs, (GDestroyNotify) gst_buffer_unref); + g_list_free_full (src->outbufs->head, (GDestroyNotify) gst_buffer_unref); + g_queue_init (src->outbufs); GST_OBJECT_UNLOCK (src); break; case GST_STATE_CHANGE_READY_TO_PAUSED: diff --git a/socket/socket.c b/socket/socket.c index 684e88b..260a190 100644 --- a/socket/socket.c +++ b/socket/socket.c @@ -450,5 +450,6 @@ gboolean nice_socket_flush_send_queue_to_socket (GSocket *gsock, void nice_socket_free_send_queue (GQueue *send_queue) { - g_queue_free_full (send_queue, (GDestroyNotify) nice_socket_free_queued_send); + g_list_free_full (send_queue->head, (GDestroyNotify) nice_socket_free_queued_send); + g_queue_init (send_queue); } |