RTMP_ParseUrl 源代码分析,

本文详细分析了RTMP_ParseUrl的源代码,深入探讨了其工作原理和关键实现细节,对于理解RTMP协议和相关直播流媒体技术具有重要参考价值。
摘要由CSDN通过智能技术生成

RTMP_ParseUrl 源代码分析,


// rtsp://192.168.10.100  :   8888   /   vlc/avatar.mp4  \0
//        p              col       slash                end

/*  
 可以记录一种含有杂质的字符串中任何一种数据类型
 例如记录url中从哪开始(用av_val区别)到哪结束(用av_len区别)属于主机号,属于应用名
 ,av_val 记录主机号的首地址,av_len记录主机号的长度,这样设置结构体的原因
 主要是因为这种情况:   192.168.10.100:8888, 即av_val开始的字符串中会有干扰字符串,在这里
 的就是:8888,我们使用av_len就可以具体指定出,哪段字符是主机号
typedef struct AVal
  {
    char *av_val;
    int av_len;
  } AVal;

*/
int RTMP_ParseURL(const char *url, int *protocol, AVal *host, unsigned int *port,
	AVal *playpath, AVal *app)
{
	char *p, *end, *col, *ques, *slash;

	RTMP_Log(RTMP_LOGDEBUG, "Parsing...");

	*protocol = RTMP_PROTOCOL_RTMP;
	*port = 0;
	playpath->av_len = 0;
	playpath->av_val = NULL;
	app->av_len = 0;
	app->av_val = NULL;

	/* Old School Parsing */

	/* look for usual
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值