Lines Matching refs:Link
346 r->Link.timeout = 30; in RTMP_Init()
347 r->Link.swfAge = 30; in RTMP_Init()
353 r->Link.protocol |= RTMP_FEATURE_WRITE; in RTMP_EnableWrite()
419 r->Link.sockshost.av_val = hostname; in SocksSetup()
420 r->Link.sockshost.av_len = strlen(hostname); in SocksSetup()
422 r->Link.socksport = socksport ? atoi(socksport + 1) : 1080; in SocksSetup()
423 RTMP_Log(RTMP_LOGDEBUG, "Connecting via SOCKS proxy: %s:%d", r->Link.sockshost.av_val, in SocksSetup()
424 r->Link.socksport); in SocksSetup()
428 r->Link.sockshost.av_val = NULL; in SocksSetup()
429 r->Link.sockshost.av_len = 0; in SocksSetup()
430 r->Link.socksport = 0; in SocksSetup()
486 memcpy(r->Link.SWFHash, swfSHA256Hash->av_val, sizeof(r->Link.SWFHash)); in RTMP_SetupStream()
487 r->Link.SWFSize = swfSize; in RTMP_SetupStream()
489 RTMP_LogHex(RTMP_LOGDEBUG, r->Link.SWFHash, sizeof(r->Link.SWFHash)); in RTMP_SetupStream()
490 RTMP_Log(RTMP_LOGDEBUG, "SWFSize : %u", r->Link.SWFSize); in RTMP_SetupStream()
494 r->Link.SWFSize = 0; in RTMP_SetupStream()
501 r->Link.tcUrl = *tcUrl; in RTMP_SetupStream()
503 r->Link.swfUrl = *swfUrl; in RTMP_SetupStream()
505 r->Link.pageUrl = *pageUrl; in RTMP_SetupStream()
507 r->Link.app = *app; in RTMP_SetupStream()
510 r->Link.auth = *auth; in RTMP_SetupStream()
511 r->Link.lFlags |= RTMP_LF_AUTH; in RTMP_SetupStream()
514 r->Link.flashVer = *flashVer; in RTMP_SetupStream()
516 r->Link.flashVer = RTMP_DefaultFlashVer; in RTMP_SetupStream()
518 r->Link.subscribepath = *subscribepath; in RTMP_SetupStream()
520 r->Link.usherToken = *usherToken; in RTMP_SetupStream()
521 r->Link.seekTime = dStart; in RTMP_SetupStream()
522 r->Link.stopTime = dStop; in RTMP_SetupStream()
524 r->Link.lFlags |= RTMP_LF_LIVE; in RTMP_SetupStream()
525 r->Link.timeout = timeout; in RTMP_SetupStream()
527 r->Link.protocol = protocol; in RTMP_SetupStream()
528 r->Link.hostname = *host; in RTMP_SetupStream()
529 r->Link.port = port; in RTMP_SetupStream()
530 r->Link.playpath = *playpath; in RTMP_SetupStream()
532 if (r->Link.port == 0) in RTMP_SetupStream()
535 r->Link.port = 443; in RTMP_SetupStream()
537 r->Link.port = 80; in RTMP_SetupStream()
539 r->Link.port = 1935; in RTMP_SetupStream()
556 { AVC("socks"), OFF(Link.sockshost), OPT_STR, 0,
558 { AVC("app"), OFF(Link.app), OPT_STR, 0,
560 { AVC("tcUrl"), OFF(Link.tcUrl), OPT_STR, 0,
562 { AVC("pageUrl"), OFF(Link.pageUrl), OPT_STR, 0,
564 { AVC("swfUrl"), OFF(Link.swfUrl), OPT_STR, 0,
566 { AVC("flashver"), OFF(Link.flashVer), OPT_STR, 0,
568 { AVC("conn"), OFF(Link.extras), OPT_CONN, 0,
570 { AVC("playpath"), OFF(Link.playpath), OPT_STR, 0,
572 { AVC("playlist"), OFF(Link.lFlags), OPT_BOOL, RTMP_LF_PLST,
574 { AVC("live"), OFF(Link.lFlags), OPT_BOOL, RTMP_LF_LIVE,
576 { AVC("subscribe"), OFF(Link.subscribepath), OPT_STR, 0,
578 { AVC("jtv"), OFF(Link.usherToken), OPT_STR, 0,
580 { AVC("token"), OFF(Link.token), OPT_STR, 0,
582 { AVC("swfVfy"), OFF(Link.lFlags), OPT_BOOL, RTMP_LF_SWFV,
584 { AVC("swfAge"), OFF(Link.swfAge), OPT_INT, 0,
586 { AVC("start"), OFF(Link.seekTime), OPT_INT, 0,
588 { AVC("stop"), OFF(Link.stopTime), OPT_INT, 0,
592 { AVC("timeout"), OFF(Link.timeout), OPT_INT, 0,
594 { AVC("pubUser"), OFF(Link.pubUser), OPT_STR, 0,
596 { AVC("pubPasswd"), OFF(Link.pubPasswd), OPT_STR, 0,
742 if (parseAMF(&r->Link.extras, arg, &r->Link.edepth)) in RTMP_SetOpt()
768 ret = RTMP_ParseURL(url, &r->Link.protocol, &r->Link.hostname, in RTMP_SetupURL()
769 &port, &r->Link.playpath0, &r->Link.app); in RTMP_SetupURL()
772 r->Link.port = port; in RTMP_SetupURL()
773 r->Link.playpath = r->Link.playpath0; in RTMP_SetupURL()
819 if (!r->Link.tcUrl.av_len) in RTMP_SetupURL()
821 r->Link.tcUrl.av_val = url; in RTMP_SetupURL()
822 if (r->Link.app.av_len) in RTMP_SetupURL()
824 if (r->Link.app.av_val < url + len) in RTMP_SetupURL()
827 r->Link.tcUrl.av_len = r->Link.app.av_len + (r->Link.app.av_val - url); in RTMP_SetupURL()
831 len = r->Link.hostname.av_len + r->Link.app.av_len + in RTMP_SetupURL()
833 r->Link.tcUrl.av_val = malloc(len); in RTMP_SetupURL()
834 r->Link.tcUrl.av_len = snprintf(r->Link.tcUrl.av_val, len, in RTMP_SetupURL()
836 RTMPProtocolStringsLower[r->Link.protocol], in RTMP_SetupURL()
837 r->Link.hostname.av_len, r->Link.hostname.av_val, in RTMP_SetupURL()
838 r->Link.port, in RTMP_SetupURL()
839 r->Link.app.av_len, r->Link.app.av_val); in RTMP_SetupURL()
840 r->Link.lFlags |= RTMP_LF_FTCU; in RTMP_SetupURL()
845 r->Link.tcUrl.av_len = strlen(url); in RTMP_SetupURL()
850 if ((r->Link.lFlags & RTMP_LF_SWFV) && r->Link.swfUrl.av_len) in RTMP_SetupURL()
851 RTMP_HashSWF(r->Link.swfUrl.av_val, &r->Link.SWFSize, in RTMP_SetupURL()
852 (unsigned char *)r->Link.SWFHash, r->Link.swfAge); in RTMP_SetupURL()
855 SocksSetup(r, &r->Link.sockshost); in RTMP_SetupURL()
857 if (r->Link.port == 0) in RTMP_SetupURL()
859 if (r->Link.protocol & RTMP_FEATURE_SSL) in RTMP_SetupURL()
860 r->Link.port = 443; in RTMP_SetupURL()
861 else if (r->Link.protocol & RTMP_FEATURE_HTTP) in RTMP_SetupURL()
862 r->Link.port = 80; in RTMP_SetupURL()
864 r->Link.port = 1935; in RTMP_SetupURL()
925 if (r->Link.socksport) in RTMP_Connect0()
945 SET_RCVTIMEO(tv, r->Link.timeout); in RTMP_Connect0()
950 __FUNCTION__, r->Link.timeout); in RTMP_Connect0()
979 if (r->Link.protocol & RTMP_FEATURE_SSL) in RTMP_Connect1()
997 if (r->Link.protocol & RTMP_FEATURE_HTTP) in RTMP_Connect1()
1034 if (!r->Link.hostname.av_len) in RTMP_Connect()
1040 if (r->Link.socksport) in RTMP_Connect()
1043 if (!add_addr_info(&service, &r->Link.sockshost, r->Link.socksport)) in RTMP_Connect()
1049 if (!add_addr_info(&service, &r->Link.hostname, r->Link.port)) in RTMP_Connect()
1068 add_addr_info(&service, &r->Link.hostname, r->Link.port); in SocksNegotiate()
1074 (r->Link.port >> 8) & 0xFF, in SocksNegotiate()
1075 (r->Link.port) & 0xFF, in SocksNegotiate()
1107 r->Link.seekTime = seekTime; in RTMP_ConnectStream()
1406 if (r->Link.protocol & RTMP_FEATURE_HTTP) in ReadN()
1484 if (r->Link.protocol & RTMP_FEATURE_HTTP) in ReadN()
1488 if (r->Link.rc4keyIn) in ReadN()
1490 RC4_encrypt(r->Link.rc4keyIn, nBytes, ptr); in ReadN()
1509 if (r->Link.rc4keyOut) in WriteN()
1516 RC4_encrypt2(r->Link.rc4keyOut, n, buffer, ptr); in WriteN()
1524 if (r->Link.protocol & RTMP_FEATURE_HTTP) in WriteN()
1601 enc = AMF_EncodeNamedString(enc, pend, &av_app, &r->Link.app); in SendConnectPacket()
1604 if (r->Link.protocol & RTMP_FEATURE_WRITE) in SendConnectPacket()
1610 if (r->Link.flashVer.av_len) in SendConnectPacket()
1612 enc = AMF_EncodeNamedString(enc, pend, &av_flashVer, &r->Link.flashVer); in SendConnectPacket()
1616 if (r->Link.swfUrl.av_len) in SendConnectPacket()
1618 enc = AMF_EncodeNamedString(enc, pend, &av_swfUrl, &r->Link.swfUrl); in SendConnectPacket()
1622 if (r->Link.tcUrl.av_len) in SendConnectPacket()
1624 enc = AMF_EncodeNamedString(enc, pend, &av_tcUrl, &r->Link.tcUrl); in SendConnectPacket()
1628 if (!(r->Link.protocol & RTMP_FEATURE_WRITE)) in SendConnectPacket()
1645 if (r->Link.pageUrl.av_len) in SendConnectPacket()
1647 enc = AMF_EncodeNamedString(enc, pend, &av_pageUrl, &r->Link.pageUrl); in SendConnectPacket()
1665 if (r->Link.auth.av_len) in SendConnectPacket()
1667 enc = AMF_EncodeBoolean(enc, pend, r->Link.lFlags & RTMP_LF_AUTH); in SendConnectPacket()
1670 enc = AMF_EncodeString(enc, pend, &r->Link.auth); in SendConnectPacket()
1674 if (r->Link.extras.o_num) in SendConnectPacket()
1677 for (i = 0; i < r->Link.extras.o_num; i++) in SendConnectPacket()
1679 enc = AMFProp_Encode(&r->Link.extras.o_props[i], enc, pend); in SendConnectPacket()
1834 enc = AMF_EncodeString(enc, pend, &r->Link.playpath); in SendReleaseStream()
1864 enc = AMF_EncodeString(enc, pend, &r->Link.playpath); in SendFCPublish()
1894 enc = AMF_EncodeString(enc, pend, &r->Link.playpath); in SendFCUnpublish()
1926 enc = AMF_EncodeString(enc, pend, &r->Link.playpath); in SendPublish()
2209 __FUNCTION__, r->Link.seekTime, r->Link.stopTime, in SendPlay()
2210 r->Link.playpath.av_val); in SendPlay()
2211 enc = AMF_EncodeString(enc, pend, &r->Link.playpath); in SendPlay()
2223 if (r->Link.lFlags & RTMP_LF_LIVE) in SendPlay()
2227 if (r->Link.seekTime > 0.0) in SendPlay()
2228 enc = AMF_EncodeNumber(enc, pend, r->Link.seekTime); /* resume from here */ in SendPlay()
2241 if (r->Link.stopTime) in SendPlay()
2243 enc = AMF_EncodeNumber(enc, pend, r->Link.stopTime - r->Link.seekTime); in SendPlay()
2280 enc = AMF_EncodeNamedString(enc, pend, &av_0, &r->Link.playpath); in SendPlaylist()
2371 memcpy(buf, r->Link.SWFVerificationResponse, 42); in RTMP_SendCtrl()
2544 if (strstr(r->Link.app.av_val, av_authmod_adobe.av_val) != NULL) { in PublisherAuth()
2547 } else if(r->Link.pubUser.av_len && r->Link.pubPasswd.av_len) { in PublisherAuth()
2548 pubToken.av_val = malloc(r->Link.pubUser.av_len + av_authmod_adobe.av_len + 8); in PublisherAuth()
2551 r->Link.pubUser.av_val); in PublisherAuth()
2604 MD5_Update(&md5ctx, r->Link.pubPasswd.av_val, r->Link.pubPasswd.av_len); in PublisherAuth()
2607 user.av_val, salt.av_val, r->Link.pubPasswd.av_val); in PublisherAuth()
2662 ptr = malloc(r->Link.app.av_len + pubToken.av_len); in PublisherAuth()
2663 strncpy(ptr, r->Link.app.av_val, r->Link.app.av_len); in PublisherAuth()
2664 strncpy(ptr + r->Link.app.av_len, pubToken.av_val, pubToken.av_len); in PublisherAuth()
2665 r->Link.app.av_len += pubToken.av_len; in PublisherAuth()
2666 if(r->Link.lFlags & RTMP_LF_FAPU) in PublisherAuth()
2667 free(r->Link.app.av_val); in PublisherAuth()
2668 r->Link.app.av_val = ptr; in PublisherAuth()
2670 ptr = malloc(r->Link.tcUrl.av_len + pubToken.av_len); in PublisherAuth()
2671 strncpy(ptr, r->Link.tcUrl.av_val, r->Link.tcUrl.av_len); in PublisherAuth()
2672 strncpy(ptr + r->Link.tcUrl.av_len, pubToken.av_val, pubToken.av_len); in PublisherAuth()
2673 r->Link.tcUrl.av_len += pubToken.av_len; in PublisherAuth()
2674 if(r->Link.lFlags & RTMP_LF_FTCU) in PublisherAuth()
2675 free(r->Link.tcUrl.av_val); in PublisherAuth()
2676 r->Link.tcUrl.av_val = ptr; in PublisherAuth()
2679 r->Link.lFlags |= RTMP_LF_FTCU | RTMP_LF_FAPU; in PublisherAuth()
2682 r->Link.app.av_len, r->Link.app.av_val, in PublisherAuth()
2683 r->Link.tcUrl.av_len, r->Link.tcUrl.av_val, in PublisherAuth()
2684 r->Link.playpath.av_val); in PublisherAuth()
2692 if (strstr(r->Link.app.av_val, av_authmod_llnw.av_val) != NULL) { in PublisherAuth()
2695 } else if(r->Link.pubUser.av_len && r->Link.pubPasswd.av_len) { in PublisherAuth()
2696 pubToken.av_val = malloc(r->Link.pubUser.av_len + av_authmod_llnw.av_len + 8); in PublisherAuth()
2699 r->Link.pubUser.av_val); in PublisherAuth()
2772 MD5_Update(&md5ctx, r->Link.pubPasswd.av_val, r->Link.pubPasswd.av_len); in PublisherAuth()
2775 user.av_val, realm, r->Link.pubPasswd.av_val); in PublisherAuth()
2781 apptmp = r->Link.app; in PublisherAuth()
2846 ptr = malloc(r->Link.app.av_len + pubToken.av_len); in PublisherAuth()
2847 strncpy(ptr, r->Link.app.av_val, r->Link.app.av_len); in PublisherAuth()
2848 strncpy(ptr + r->Link.app.av_len, pubToken.av_val, pubToken.av_len); in PublisherAuth()
2849 r->Link.app.av_len += pubToken.av_len; in PublisherAuth()
2850 if(r->Link.lFlags & RTMP_LF_FAPU) in PublisherAuth()
2851 free(r->Link.app.av_val); in PublisherAuth()
2852 r->Link.app.av_val = ptr; in PublisherAuth()
2854 ptr = malloc(r->Link.tcUrl.av_len + pubToken.av_len); in PublisherAuth()
2855 strncpy(ptr, r->Link.tcUrl.av_val, r->Link.tcUrl.av_len); in PublisherAuth()
2856 strncpy(ptr + r->Link.tcUrl.av_len, pubToken.av_val, pubToken.av_len); in PublisherAuth()
2857 r->Link.tcUrl.av_len += pubToken.av_len; in PublisherAuth()
2858 if(r->Link.lFlags & RTMP_LF_FTCU) in PublisherAuth()
2859 free(r->Link.tcUrl.av_val); in PublisherAuth()
2860 r->Link.tcUrl.av_val = ptr; in PublisherAuth()
2863 r->Link.lFlags |= RTMP_LF_FTCU | RTMP_LF_FAPU; in PublisherAuth()
2866 r->Link.app.av_len, r->Link.app.av_val, in PublisherAuth()
2867 r->Link.tcUrl.av_len, r->Link.tcUrl.av_val, in PublisherAuth()
2868 r->Link.playpath.av_val); in PublisherAuth()
2960 if (r->Link.token.av_len) in HandleInvoke()
2965 DecodeTEA(&r->Link.token, &p.p_vu.p_aval); in HandleInvoke()
2969 if (r->Link.protocol & RTMP_FEATURE_WRITE) in HandleInvoke()
2981 if (!(r->Link.protocol & RTMP_FEATURE_WRITE)) in HandleInvoke()
2984 if (r->Link.usherToken.av_len) in HandleInvoke()
2985 SendUsherToken(r, &r->Link.usherToken); in HandleInvoke()
2987 if (r->Link.subscribepath.av_len) in HandleInvoke()
2988 SendFCSubscribe(r, &r->Link.subscribepath); in HandleInvoke()
2989 else if (r->Link.lFlags & RTMP_LF_LIVE) in HandleInvoke()
2990 SendFCSubscribe(r, &r->Link.playpath); in HandleInvoke()
2997 if (r->Link.protocol & RTMP_FEATURE_WRITE) in HandleInvoke()
3003 if (r->Link.lFlags & RTMP_LF_PLST) in HandleInvoke()
3054 if (r->Link.protocol & RTMP_FEATURE_WRITE) in HandleInvoke()
3447 if (!(r->Link.lFlags & RTMP_LF_BUFX)) in HandleCtrl()
3489 else if (r->Link.SWFSize) in HandleCtrl()
4023 if (r->Link.protocol & RTMP_FEATURE_HTTP) in RTMP_SendPacket()
4143 if ((r->Link.protocol & RTMP_FEATURE_WRITE)) in CloseInternal()
4214 if (r->Link.lFlags & RTMP_LF_FTCU && !reconnect) in CloseInternal()
4216 free(r->Link.tcUrl.av_val); in CloseInternal()
4217 r->Link.tcUrl.av_val = NULL; in CloseInternal()
4218 r->Link.lFlags ^= RTMP_LF_FTCU; in CloseInternal()
4220 if (r->Link.lFlags & RTMP_LF_FAPU && !reconnect) in CloseInternal()
4222 free(r->Link.app.av_val); in CloseInternal()
4223 r->Link.app.av_val = NULL; in CloseInternal()
4224 r->Link.lFlags ^= RTMP_LF_FAPU; in CloseInternal()
4229 free(r->Link.playpath0.av_val); in CloseInternal()
4230 r->Link.playpath0.av_val = NULL; in CloseInternal()
4233 if (r->Link.dh) in CloseInternal()
4235 MDH_free(r->Link.dh); in CloseInternal()
4236 r->Link.dh = NULL; in CloseInternal()
4238 if (r->Link.rc4keyIn) in CloseInternal()
4240 RC4_free(r->Link.rc4keyIn); in CloseInternal()
4241 r->Link.rc4keyIn = NULL; in CloseInternal()
4243 if (r->Link.rc4keyOut) in CloseInternal()
4245 RC4_free(r->Link.rc4keyOut); in CloseInternal()
4246 r->Link.rc4keyOut = NULL; in CloseInternal()
4419 r->m_msgCounter, r->Link.hostname.av_len, r->Link.hostname.av_val, in HTTP_Post()
4420 r->Link.port, len); in HTTP_Post()
4954 r->m_read.timestamp = (r->Link.lFlags & RTMP_LF_LIVE) ? packet.m_nTimeStamp : nTimeStamp; in Read_1_Packet()