Hello,

I was getting a huge timeout on Connect operation causing application GUI that uses librtmp through GStreamer to block for more than 2 minutes, although timeout parameter was defined.

0:00:00.550468481  55310x41f600 DEBUG rtmp :0:: Parsing...
0:00:00.550560518  55310x41f600 DEBUG rtmp :0:: Parsed protocol: 2
0:00:00.550629629  55310x41f600 DEBUG rtmp :0:: Parsed host : xx.xx.xx.xx
0:00:00.550678073  55310x41f600 DEBUG rtmp :0:: Parsed app: liveedge1
0:00:00.550750740  55310x41f600 INFO  rtmpsrc gst-plugins-bad-1.4.3/ext/rtmp/gstrtmpsrc.c:585:gst_rtmp_src_start:<source> seekable 0
0:02:07.820957257  55310x41f600 ERROR rtmp :0:: RTMP_Connect0, failed to connect socket. 145 (Connection timed out)

After setting timeout for sending (SO_SNDTIMEO) operations everything works as it should.

0:00:00.538803815  61500x41f600 DEBUG rtmp :0:: Parsing...
0:00:00.538897370  61500x41f600 DEBUG rtmp :0:: Parsed protocol: 2
0:00:00.538964037  61500x41f600 DEBUG rtmp :0:: Parsed host : xx.xx.xx.xx
0:00:00.539010778  61500x41f600 DEBUG rtmp :0:: Parsed app: liveedge1
0:00:00.539083333  61500x41f600 INFO  rtmpsrc gst-plugins-bad-1.4.3/ext/rtmp/gstrtmpsrc.c:585:gst_rtmp_src_start:<source> seekable 0
0:00:10.538779327  61500x41f600 ERROR rtmp :0:: RTMP_Connect0, failed to connect socket. 150 (Operation now in progress)

Patch for setting timeout for send operations is attached.