udpsrc: post error before stopping

This commit is contained in:
Wim Taymans 2012-11-15 14:37:44 +01:00
parent bdf3c77828
commit c33507f186

View file

@ -743,6 +743,7 @@ gst_udpsrc_start (GstBaseSrc * bsrc)
if (!addr) { if (!addr) {
GList *results; GList *results;
GST_DEBUG_OBJECT (src, "resolving IP address for host %s", src->host);
resolver = g_resolver_get_default (); resolver = g_resolver_get_default ();
results = results =
g_resolver_lookup_by_name (resolver, src->host, src->cancellable, g_resolver_lookup_by_name (resolver, src->host, src->cancellable,
@ -902,27 +903,27 @@ no_socket:
} }
bind_error: bind_error:
{ {
gst_udpsrc_stop (GST_BASE_SRC (src));
GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL), GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
("bind failed: %s", err->message)); ("bind failed: %s", err->message));
g_clear_error (&err); g_clear_error (&err);
g_object_unref (bind_saddr); g_object_unref (bind_saddr);
gst_udpsrc_stop (GST_BASE_SRC (src));
return FALSE; return FALSE;
} }
membership: membership:
{ {
gst_udpsrc_stop (GST_BASE_SRC (src));
GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL), GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
("could add membership: %s", err->message)); ("could add membership: %s", err->message));
g_clear_error (&err); g_clear_error (&err);
gst_udpsrc_stop (GST_BASE_SRC (src));
return FALSE; return FALSE;
} }
getsockname_error: getsockname_error:
{ {
gst_udpsrc_stop (GST_BASE_SRC (src));
GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL), GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
("getsockname failed: %s", err->message)); ("getsockname failed: %s", err->message));
g_clear_error (&err); g_clear_error (&err);
gst_udpsrc_stop (GST_BASE_SRC (src));
return FALSE; return FALSE;
} }
} }