<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div>This is in gstudpsrc.c...anyone? This fixes the issue, should I open a bug report?<br></div><div style="font-family:arial, helvetica, sans-serif;font-size:10pt"><br><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><font face="Tahoma" size="2"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> Robert Krakora <robkrakora@att.net><br><b><span style="font-weight: bold;">To:</span></b> gstreamer-devel@lists.freedesktop.org<br><b><span style="font-weight: bold;">Cc:</span></b> geisj@pagestation.com<br><b><span style="font-weight: bold;">Sent:</span></b> Fri, November 2, 2012 12:38:50 PM<br><b><span style="font-weight: bold;">Subject:</span></b> udpsrc and EHOSTUNREACH<br></font><br>
<div style="font-family:arial, helvetica, sans-serif;font-size:10pt;"><div>Hi All,<br><br>I have found that the same code that was added to udpsrc for WSAECONNRESET for WIN32 is also needed for EHOSTUNREACH for <span style="background-color:rgb(255, 255, 0);">Linux</span>. I have spend the last two days tracking this down and would not have found it for some time had the WSAECONNRESET fix for WIN32 not been present in the code.<br><br>#ifdef G_OS_WIN32<br> /* WSAECONNRESET for a UDP socket means that a packet sent with udpsink<br> * generated a "port unreachable" ICMP response. We ignore that and try<br> * again. */<br> if (WSAGetLastError () == WSAECONNRESET) {<br> g_free
(pktdata);<br> pktdata = NULL;<br> goto retry;<br> }<br> if (WSAGetLastError () != WSAEINTR)<br> goto receive_error;<br>#else<br><span style="background-color:rgb(255, 255, 0);"> /* EHOSTUNREACH for a UDP socket means that a packet sent with udpsink</span><br style="background-color:rgb(255, 255, 0);"><span style="background-color:rgb(255, 255, 0);"> * generated a "port unreachable" ICMP response. We ignore that and try</span><br style="background-color:rgb(255, 255, 0);"><span style="background-color:rgb(255, 255, 0);"> * again. */</span><br style="background-color:rgb(255, 255, 0);"><span style="background-color:rgb(255, 255,
0);"> </span><br style="background-color:rgb(255, 255, 0);"><span style="background-color:rgb(255, 255, 0);"> if (errno == EHOSTUNREACH) {</span><br style="background-color:rgb(255, 255, 0);"><span style="background-color:rgb(255, 255, 0);"> g_free (pktdata);</span><br style="background-color:rgb(255, 255, 0);"><span style="background-color:rgb(255, 255, 0);"> pktdata = NULL;</span><br style="background-color:rgb(255, 255, 0);"><span style="background-color:rgb(255, 255, 0);"> goto retry;</span><br style="background-color:rgb(255, 255, 0);"><span style="background-color:rgb(255, 255, 0);"> }</span><br> if (errno != EAGAIN && errno !=
EINTR)<br> goto receive_error;<br>#endif<br><br>Best Regards,<br><br>Rob Krakora<br><br></div>
</div></div></div>
</div></body></html>