⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtsp_command.c

📁 最基本的rtsp client 程序
💻 C
字号:
/*--------------------------------------------------------	COPYRIGHT 2007 (C) DVN (Holdings) Ltd (Hongkong)	AUTHOR:		wangry@dvnchina.com	PURPOSE:	kasenna simple rtsp lib	CREATED:	2007-12-10	MODIFICATION HISTORY	Date        By     Details	----------  -----  ---------------------------------------------------------------*/#include "rtsp_client.h"#include "rtsp_sock.h"#include "rtsp_command.h"#define SEND_BUFF_LEN 2048#define USER_AGENT "DVN-IPTV RTSP 1.0"#define ADD_FIELD(fmt, value) \ret = sprintf(buffer + *at, (fmt), (value)); \*at += ret;static void rtsp_build_common (char *buffer, int *at, rtsp_client_t *client, rtsp_command_t *cmd){	int ret;	ADD_FIELD("CSeq: %u\r\n", client->next_cseq);	if (cmd && cmd->accept)	{		ADD_FIELD("Accept: %s\r\n", cmd->accept);	}	if (cmd && cmd->authorization)	{		ADD_FIELD("Authorization: %s\r\n", cmd->authorization);	}	if (cmd && cmd->session)	{		ADD_FIELD("Session: %s\r\n", cmd->session);	}	if (cmd && cmd->range)	{		ADD_FIELD("Range: %s\r\n", cmd->range);	}	if (cmd && cmd->scale != 0)	{		ADD_FIELD("Scale: %d\r\n", cmd->scale);	}	if (cmd && cmd->speed != 0)	{		ADD_FIELD("Speed: %d\r\n", cmd->speed);	}	if (cmd && cmd->transport)	{		ADD_FIELD("Transport: %s\r\n", cmd->transport);	}	ADD_FIELD("User-Agent: %s\r\n", USER_AGENT);}int rtsp_send_cmd (const char *cmd_name, rtsp_client_t *client, rtsp_command_t *cmd, const char* track_name){	char buffer[SEND_BUFF_LEN];	int len;	int ret;	len = sprintf(buffer, "%s %s%s RTSP/1.0\r\n", cmd_name, client->url, track_name);	rtsp_build_common(buffer, &len, client, cmd);	ret = sprintf(buffer + len, "\r\n");	len += ret;	RTSP_INFO("\nrtsp send command [len=%d]: \n%s", len, buffer);	ret = rtsp_send_sock(client, buffer, len);	if (ret <= 0)	{		RTSP_DBG("send data fail\n");		return -1;	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -