From c33507f1862a24fba95bd4f010349f3a4e2de201 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 15 Nov 2012 14:37:44 +0100 Subject: [PATCH] udpsrc: post error before stopping --- gst/udp/gstudpsrc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gst/udp/gstudpsrc.c b/gst/udp/gstudpsrc.c index ec00ff7ca7..e68401203e 100644 --- a/gst/udp/gstudpsrc.c +++ b/gst/udp/gstudpsrc.c @@ -743,6 +743,7 @@ gst_udpsrc_start (GstBaseSrc * bsrc) if (!addr) { GList *results; + GST_DEBUG_OBJECT (src, "resolving IP address for host %s", src->host); resolver = g_resolver_get_default (); results = g_resolver_lookup_by_name (resolver, src->host, src->cancellable, @@ -902,27 +903,27 @@ no_socket: } bind_error: { - gst_udpsrc_stop (GST_BASE_SRC (src)); GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL), ("bind failed: %s", err->message)); g_clear_error (&err); g_object_unref (bind_saddr); + gst_udpsrc_stop (GST_BASE_SRC (src)); return FALSE; } membership: { - gst_udpsrc_stop (GST_BASE_SRC (src)); GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL), ("could add membership: %s", err->message)); g_clear_error (&err); + gst_udpsrc_stop (GST_BASE_SRC (src)); return FALSE; } getsockname_error: { - gst_udpsrc_stop (GST_BASE_SRC (src)); GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL), ("getsockname failed: %s", err->message)); g_clear_error (&err); + gst_udpsrc_stop (GST_BASE_SRC (src)); return FALSE; } }