亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rtpdemo.c

?? Linux下的voip通信終端軟件,common目綠為多媒體開發包,主要提供內存mbus,md5,hmac,網絡接口方面的函數.rat為主要的函數集.
?? C
字號:
/*  * rtpdemo: A simple rtp application that sends and receives data. * * (C) 2000-2001 University College London. */#include <sys/time.h>#include <ctype.h>#include <inttypes.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include "uclconf.h"#include "config_unix.h"#include "config_win32.h"#include "debug.h"#include "memory.h"#include "rtp.h"static void usage() {	printf("Usage: rtpdemo [switches] address port\n");	printf("Valid switches are:\n");	printf("  -f\t\tFilter local packets out of receive stream.\n");	printf("  -l\t\tListen and do not transmit data.\n");	exit(-1);}/* ------------------------------------------------------------------------- *//* RTP callback related */static voidsdes_print(struct rtp *session, uint32_t ssrc, rtcp_sdes_type stype) {	const char *sdes_type_names[] = {		"end", "cname", "name", "email", "telephone", 		"location", "tool", "note", "priv"	};	const uint8_t n = sizeof(sdes_type_names) / sizeof(sdes_type_names[0]);	if (stype > n) {		/* Theoretically impossible */		printf("boo! invalud sdes field %d\n", stype);		return;	}		printf("SSRC 0x%08x reported SDES type %s - ", ssrc, 	       sdes_type_names[stype]);	if (stype == RTCP_SDES_PRIV) {		/* Requires extra-handling, not important for example */		printf("don't know how to display.\n");	} else {		printf("%s\n", rtp_get_sdes(session, ssrc, stype));	}}static voidpacket_print(struct rtp *session, rtp_packet *p) {	printf("Received data (payload %d timestamp %06d size %d) ", p->pt, p->ts, p->data_len);	if (p->ssrc == rtp_my_ssrc(session)) {		/* Unless filtering is enabled we are likely to see		   out packets if sending to a multicast group. */		printf("that I just sent.\n");	} else {		printf("from SSRC 0x%08x\n", p->ssrc); 	} }static voidrtp_event_handler(struct rtp *session, rtp_event *e) {	rtp_packet	*p;	rtcp_sdes_item	*r;	switch(e->type) {	case RX_RTP: 			p = (rtp_packet*)e->data;		packet_print(session, p);		xfree(p); /* xfree() is mandatory to release RTP packet data */		break;	case RX_SDES:		r = (rtcp_sdes_item*)e->data;		sdes_print(session, e->ssrc, r->type);		break;	case RX_BYE:		break;	case SOURCE_CREATED:		printf("New source created, SSRC = 0x%08x\n", e->ssrc);		break;	case SOURCE_DELETED:		printf("Source deleted, SSRC = 0x%08x\n", e->ssrc);		break;	case RX_SR:	case RX_RR:	case RX_RR_EMPTY:	case RX_RTCP_START:	case RX_RTCP_FINISH:	case RR_TIMEOUT:	case RX_APP:		break;	}	fflush(stdout);}/* ------------------------------------------------------------------------- *//* Send and receive loop.  Sender use 20ms audio mulaw packets */#define MULAW_BYTES	4 * 160#define MULAW_PAYLOAD	0#define MULAW_MS	4 * 20#define MAX_ROUNDS	100static voidrxtx_loop(struct rtp* session, int send_enable) {	struct timeval	timeout;	uint32_t	rtp_ts, round;	uint8_t		mulaw_buffer[MULAW_BYTES];	if (send_enable) {		printf("Sending and listening to ");	} else {		printf("Listening to ");	}	printf("%s port %d (local SSRC = 0x%08x)\n", 	       rtp_get_addr(session), 	       rtp_get_rx_port(session),	       rtp_my_ssrc(session));	round = 0;	for(round = 0; round < MAX_ROUNDS; round++) {		rtp_ts = round * MULAW_MS;		/* Send control packets */		rtp_send_ctrl(session, rtp_ts, NULL);		/* Send data packets */		if (send_enable) {			rtp_send_data(session, rtp_ts, MULAW_PAYLOAD, 				      0, 0, 0,				      (char*)mulaw_buffer, MULAW_BYTES, 				      0, 0, 0);		}		/* Receive control and data packets */		timeout.tv_sec  = 0;		timeout.tv_usec = 0;		rtp_recv(session, &timeout, rtp_ts);		/* State maintenance */		rtp_update(session);		usleep(MULAW_MS * 1000);		xmemchk();	}}/* ------------------------------------------------------------------------- *//* Main loop: parses command line and initializes RTP session */int main(int argc, const char *argv[]) {	const char	*address = NULL;	struct rtp	*session = NULL;	uint16_t	port = 0;	int32_t		ac, filter_me = 0, send_enable = 1;	ac = 1;	while (ac < argc && argv[ac][0] == '-') {		switch(tolower(argv[ac][1])) {		case 'f':			filter_me = 1;			break;		case 'l':			send_enable = 0;			break;		}		ac++;	}	if (argc - ac != 2) {		usage();	}	address	= argv[ac];	port	= atoi(argv[ac + 1]);	session = rtp_init(address,		/* Host/Group IP address */ 			   port,		/* receive port */			   port,		/* transmit port */			   16,			/* time-to-live */			   64000,		/* B/W estimate */			   rtp_event_handler,	/* RTP event callback */			   NULL);		/* App. specific data */	if (session) {		const char 	*username  = "Malcovich Malcovitch";		const char	*telephone = "1-800-RTP-DEMO";		const char	*toolname  = "RTPdemo";		uint32_t 	my_ssrc = rtp_my_ssrc(session);		/* Set local participant info */		rtp_set_sdes(session, my_ssrc, RTCP_SDES_NAME,			     username, strlen(username));		rtp_set_sdes(session, my_ssrc, RTCP_SDES_PHONE,			     telephone, strlen(telephone));		rtp_set_sdes(session, my_ssrc, RTCP_SDES_TOOL,			     toolname, strlen(toolname));		/* Filter out local packets if requested */		rtp_set_option(session, RTP_OPT_FILTER_MY_PACKETS, filter_me);		/* Run main loop */		rxtx_loop(session, send_enable);		/* Say bye-bye */		rtp_send_bye(session);		rtp_done(session);	} else {		printf("Could not initialize session for %s port %d\n",		       address,		       port);	}	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频在线观看国产精品| 日韩avvvv在线播放| 一区二区三区四区蜜桃| 美女爽到高潮91| 91蝌蚪porny九色| 日韩三级在线观看| 亚洲午夜久久久| 成人av网站在线观看| 久久婷婷色综合| 日韩不卡一区二区三区| 日韩一区二区三免费高清| 人人超碰91尤物精品国产| 欧美亚洲高清一区| 伊人开心综合网| 99久久精品国产一区二区三区| 天天亚洲美女在线视频| 色综合天天综合网天天看片| 久久精品综合网| 国产麻豆视频一区二区| 精品日韩av一区二区| 麻豆精品视频在线观看视频| 久久久精品综合| 国模套图日韩精品一区二区| 日韩欧美综合在线| 国产成a人亚洲精| 国产人成亚洲第一网站在线播放| 精彩视频一区二区三区| 日韩欧美电影在线| 麻豆精品久久久| 国产日产精品一区| 欧美亚洲国产怡红院影院| 老司机精品视频一区二区三区| 欧美疯狂做受xxxx富婆| 亚洲成精国产精品女| 欧美色区777第一页| 最新日韩av在线| 99r国产精品| 男女性色大片免费观看一区二区| 国产精品日韩成人| 91一区二区在线观看| 日本成人超碰在线观看| 国产精品久久久久久妇女6080| 成人动漫一区二区在线| 男男gaygay亚洲| 日韩毛片在线免费观看| 欧美色网站导航| 国产不卡高清在线观看视频| 亚洲国产日韩av| 国产精品亲子伦对白| 日韩欧美国产一二三区| 欧美丝袜第三区| 成人av网站免费观看| 狠狠狠色丁香婷婷综合久久五月| 亚洲高清免费观看高清完整版在线观看| 久久久午夜精品理论片中文字幕| 777久久久精品| 另类小说欧美激情| 亚洲制服丝袜av| 日韩女同互慰一区二区| 欧美日韩一区二区三区免费看 | 专区另类欧美日韩| 久久综合久久鬼色中文字| 91精品国模一区二区三区| 欧美综合视频在线观看| 极品销魂美女一区二区三区| 五月婷婷激情综合网| 一区二区三区中文字幕| 自拍av一区二区三区| 国产精品美女久久久久久久久久久| 精品国产成人在线影院 | 久久久亚洲精华液精华液精华液| 欧美三级电影网站| 欧亚洲嫩模精品一区三区| 99re视频精品| 99久久精品国产毛片| 99re成人精品视频| 色综合久久综合网欧美综合网| 五月激情综合色| 丝袜美腿高跟呻吟高潮一区| 亚洲第一在线综合网站| 五月婷婷综合在线| 天天操天天色综合| 日韩 欧美一区二区三区| 日韩精品乱码免费| 美日韩一区二区三区| 九九热在线视频观看这里只有精品 | 成人一区二区三区中文字幕| 一卡二卡欧美日韩| 亚洲成人久久影院| 欧美a一区二区| 国产一区不卡视频| 成人av网站免费观看| 色偷偷成人一区二区三区91| 91成人在线观看喷潮| 成人午夜短视频| av不卡在线播放| 国产成人精品一区二区三区四区 | 岛国精品在线播放| a在线欧美一区| 欧美影院一区二区| 日韩小视频在线观看专区| 日韩视频永久免费| 国产日韩欧美亚洲| 亚洲精品福利视频网站| 水蜜桃久久夜色精品一区的特点 | 欧美日韩在线直播| 日韩三级中文字幕| 国产精品久久精品日日| 亚洲一区免费在线观看| 麻豆精品国产91久久久久久| 国产成人精品aa毛片| 91视频免费播放| 欧美日韩成人综合天天影院| 色8久久精品久久久久久蜜| 欧美日产在线观看| 久久精品欧美一区二区三区不卡| 亚洲三级视频在线观看| 日韩成人一级片| eeuss影院一区二区三区| 欧美浪妇xxxx高跟鞋交| 国产婷婷色一区二区三区四区 | 日韩西西人体444www| 国产精品77777| 国产在线精品不卡| 色狠狠色噜噜噜综合网| 2023国产一二三区日本精品2022| 亚洲人成伊人成综合网小说| 亚洲欧美aⅴ...| 美女视频黄免费的久久| 91香蕉视频黄| 久久综合资源网| 亚洲五月六月丁香激情| 国产成人免费视频网站高清观看视频| 欧美体内she精视频| 国产精品美女一区二区| 久久疯狂做爰流白浆xx| 欧美午夜一区二区三区| 国产精品色婷婷久久58| 狠狠色狠狠色综合| 欧美日韩精品三区| 亚洲视频一区在线| 国产精品一区二区久久精品爱涩| 56国语精品自产拍在线观看| 亚洲欧美另类在线| 成人精品电影在线观看| 精品国产伦理网| 日本不卡视频在线| 欧美精品自拍偷拍| 亚洲一卡二卡三卡四卡五卡| av在线不卡网| 国产日本欧洲亚洲| 国产麻豆精品在线| 精品三级av在线| 日韩精品91亚洲二区在线观看| 色诱亚洲精品久久久久久| 中文字幕国产一区| 午夜精品久久久久久久99水蜜桃| 成人成人成人在线视频| 久久久五月婷婷| 国产酒店精品激情| 精品精品国产高清一毛片一天堂| 日韩综合在线视频| 69av一区二区三区| 日本成人在线一区| 日韩一区二区三区三四区视频在线观看 | 综合av第一页| 91麻豆国产福利在线观看| 亚洲欧美在线视频观看| av成人老司机| 亚洲最大成人网4388xx| 色av一区二区| 亚洲国产欧美日韩另类综合| 欧美日韩中文国产| 天堂一区二区在线免费观看| 欧美久久一二三四区| 日韩电影在线观看电影| 欧美一区二区三区在线| 一区二区三区四区中文字幕| 色综合夜色一区| 亚洲成人免费av| 日韩欧美国产综合在线一区二区三区| 捆绑紧缚一区二区三区视频| www成人在线观看| 成人av在线观| 一区二区三区久久久| 欧美日韩三级一区| 久久se精品一区二区| 极品少妇一区二区| 国产三区在线成人av| www.亚洲精品| 亚洲午夜视频在线| 精品乱码亚洲一区二区不卡| 国产伦精品一区二区三区免费迷| 欧美国产禁国产网站cc| 欧美在线观看禁18| 久久国产尿小便嘘嘘尿| 国产精品你懂的| 精品1区2区3区| 国产精品99久久久久久久女警| 亚洲猫色日本管|