35 #include <librtmp/rtmp.h> 41 #define setsockopt(a,b,c,d,e) (setsockopt)(a,b,c,(const char *)d,(int)e) 42 #define SET_RCVTIMEO(tv,s) int tv = s*1000 44 #define SET_RCVTIMEO(tv,s) struct timeval tv = {s,0} 47 #define DEF_BUFTIME (2*60*60*1000) 64 rtmp_setup_connection,
85 rtmp_setup_connection,
106 rtmp_setup_connection,
127 rtmp_setup_connection,
148 rtmp_setup_connection,
169 rtmp_setup_connection,
190 RTMP *r = RTMP_Alloc();
195 RTMP_SetBufferMS(r, DEF_BUFTIME);
207 SET_RCVTIMEO(tv, 10);
215 r->Link.protocol |= RTMP_FEATURE_WRITE;
218 if(!(r->Link.lFlags & RTMP_LF_LIVE) &&
219 !(r->Link.protocol & RTMP_FEATURE_HTTP))
220 r->Link.lFlags |= RTMP_LF_BUFX;
223 setsockopt(r->m_sb.sb_socket, SOL_SOCKET, SO_RCVTIMEO,
224 (
char *)&tv,
sizeof(tv));
226 if(!RTMP_Connect1(r, NULL))
230 r->m_bSendCounter =
true;
242 if(!RTMP_ConnectStream(r, 0))
266 bool dead_connection)
269 (void)dead_connection;
288 if(r->m_read.status == RTMP_READ_COMPLETE ||
289 r->m_read.status == RTMP_READ_EOF) {
300 const void *buf,
size_t len,
CURLcode *err)
ssize_t( Curl_recv)(struct connectdata *conn, int sockindex, char *buf, size_t len, CURLcode *err)
int curlx_uztosi(size_t uznum)
struct DynamicStatic change
int curlx_nonblock(curl_socket_t sockfd, int nonblock)
void Curl_setup_transfer(struct connectdata *conn, int sockindex, curl_off_t size, bool getheader, curl_off_t *bytecountp, int writesockindex, curl_off_t *writecountp)
void Curl_pgrsSetUploadSize(struct Curl_easy *data, curl_off_t size)
ssize_t( Curl_send)(struct connectdata *conn, int sockindex, const void *buf, size_t len, CURLcode *err)
union connectdata::@34 proto