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