After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 612751 - [udpsink] regression when external sockfd is used
[udpsink] regression when external sockfd is used
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.22
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-03-12 23:43 UTC by Tristan Matthews
Modified: 2010-03-17 00:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tristan Matthews 2010-03-12 23:43:35 UTC
In my application (http://svn.sat.qc.ca/trac/scenic/) I create my own sockets and pass them to udpsink elements via the sockfd property. Until recently this worked fine, now however, i get this failure message:

gstmultiudpsink.c(808): gst_multiudpsink_configure_client (): /GstPipeline:pipeline/GstUDPSink:udpsink1:
Could not set TTL socket option (97): Address family not supported by protocol

I think commit 7f980d28aa23c64dce423c0c0f994b2d136fc7fe might be the one that introduced this issue.

My guess is that the sink->ss_family variable is never being updated with the value of the socket's family when it's an external socket.

Here's the output of my program up until it dies:

Creating socket for host 127.0.0.1, port 10000, IPV4 Socket
/GstPipeline:pipeline/GstUDPSink:udpsink0: port = 10000
/GstPipeline:pipeline/GstUDPSink:udpsink0: host = "127.0.0.1"
/GstPipeline:pipeline/GstUDPSink:udpsink0: sockfd = 6

Creating socket for host 127.0.0.1, port 10001, IPV4 Socket
/GstPipeline:pipeline/GstUDPSink:udpsink1: async = FALSE
/GstPipeline:pipeline/GstUDPSink:udpsink1: sync = FALSE
/GstPipeline:pipeline/GstUDPSink:udpsink1: port = 10001
/GstPipeline:pipeline/GstUDPSink:udpsink1: host = "127.0.0.1"
/GstPipeline:pipeline/GstUDPSink:udpsink1: sockfd = 7

Creating socket for port 10005, IPV4 Socket
/GstPipeline:pipeline/GstUDPSrc:udpsrc0: port = 10005
/GstPipeline:pipeline/GstUDPSrc:udpsrc0: sockfd = 8
GStreamer-CRITICAL **: Could not add signal watch to bus bus1
Debug details: gstmultiudpsink.c(808): gst_multiudpsink_configure_client (): /GstPipeline:pipeline/GstUDPSink:udpsink1:
Could not set TTL socket option (97): Address family not supported by protocol
Comment 1 Tristan Matthews 2010-03-17 00:36:48 UTC
Fixed in commit efbdecd0aca7775ea8877624b102e84a789d615e