summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2013-07-19 15:24:08 +0200
committerSebastian Dröge <slomo@circular-chaos.org>2013-07-19 16:21:42 +0200
commit118876702467d6063e9c9745b7d093682ad16472 (patch)
treed6b6e0b1b6bca01ef28291d176c7a6aa0603c96b /gst
parent620017ed390088a5776955b893c17d87417da8f5 (diff)
downloadgst-plugins-good-118876702467d6063e9c9745b7d093682ad16472.tar.gz
gst-plugins-good-118876702467d6063e9c9745b7d093682ad16472.tar.xz
(dyn|multi)udpsink: unbreak on !IPv6 systems after 130268bc (Bind socket before using it)
The g_socket functions only touch the error argument on errors, so clear err back to NULL in case g_socket_new (G_SOCKET_FAMILY_IPV6) failed, as we check for err != NULL later on to know if g_socket_bind() failed, otherwise we errously fail on systems without IPv6 support. https://bugzilla.gnome.org/show_bug.cgi?id=704553
Diffstat (limited to 'gst')
-rw-r--r--gst/udp/gstdynudpsink.c1
-rw-r--r--gst/udp/gstmultiudpsink.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/gst/udp/gstdynudpsink.c b/gst/udp/gstdynudpsink.c
index 4690bde44..fadbd7f62 100644
--- a/gst/udp/gstdynudpsink.c
+++ b/gst/udp/gstdynudpsink.c
@@ -316,6 +316,7 @@ gst_dynudpsink_start (GstBaseSink * bsink)
if ((udpsink->used_socket =
g_socket_new (G_SOCKET_FAMILY_IPV6,
G_SOCKET_TYPE_DATAGRAM, G_SOCKET_PROTOCOL_UDP, &err)) == NULL) {
+ g_clear_error (&err);
udpsink->family = G_SOCKET_FAMILY_IPV4;
if ((udpsink->used_socket = g_socket_new (G_SOCKET_FAMILY_IPV4,
G_SOCKET_TYPE_DATAGRAM, G_SOCKET_PROTOCOL_UDP, &err)) == NULL)
diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c
index 92d1bac9d..69011c77d 100644
--- a/gst/udp/gstmultiudpsink.c
+++ b/gst/udp/gstmultiudpsink.c
@@ -868,6 +868,7 @@ gst_multiudpsink_start (GstBaseSink * bsink)
if (sink->force_ipv4 || (sink->used_socket =
g_socket_new (G_SOCKET_FAMILY_IPV6,
G_SOCKET_TYPE_DATAGRAM, G_SOCKET_PROTOCOL_UDP, &err)) == NULL) {
+ g_clear_error (&err);
if ((sink->used_socket = g_socket_new (G_SOCKET_FAMILY_IPV4,
G_SOCKET_TYPE_DATAGRAM, G_SOCKET_PROTOCOL_UDP, &err)) == NULL)
goto no_socket;