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

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

?? rtp_send_packet.c

?? linux下的rtp的實例源代碼
?? C
字號:
/* *  *  $Id: RTP_send_packet.c 351 2006-06-01 17:58:07Z shawill $ *   *  This file is part of Fenice * *  Fenice -- Open Media Server * *  Copyright (C) 2004 by *  	 *	- Giampaolo Mancini	<giampaolo.mancini@polito.it> *	- Francesco Varano	<francesco.varano@polito.it> *	- Marco Penno		<marco.penno@polito.it> *	- Federico Ridolfo	<federico.ridolfo@polito.it> *	- Eugenio Menegatti 	<m.eu@libero.it> *	- Stefano Cau *	- Giuliano Emma *	- Stefano Oldrini *  *  Fenice is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  Fenice is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with Fenice; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA *   * */#include <config.h>#if HAVE_ALLOCA_H#include <alloca.h>#endif#include <string.h>#include <stdlib.h>#include <stdio.h>#include <netinet/in.h>#include <fenice/rtp.h>#include <fenice/utils.h>#include <fenice/bufferpool.h>#include <fenice/fnc_log.h>#if ENABLE_DUMP#include <fenice/debug.h>#endifint RTP_send_packet(RTP_session *session){	unsigned char *packet=NULL;	unsigned int hdr_size=0;	RTP_header r;      // 12 bytes	int res=ERR_GENERIC;	double s_time;	double nextts;	OMSSlot *slot=NULL;	ssize_t psize_sent=0;	if(!(slot = OMSbuff_getreader(session->cons))){		//This operation runs only if producer writes the slot		//session->current_media->mtime += session->current_media->description.delta_mtime; //emma  		//session->current_media->mtime+=session->current_media->description.pkt_len;     // old scheduler		s_time = session->current_media->mtime - session->current_media->mstart + session->current_media->mstart_offset;		if ( (res=get_frame(session->current_media,&s_time))!=ERR_NOERROR ){//			fprintf(stderr,"Some errors occurred\n");			return res;		}//		session->current_media->mtime += session->current_media->description.delta_mtime; //emma  		session->cons->frames++;		slot=OMSbuff_getreader(session->cons);	} else /*This runs if the consumer reads slot written in another RTP session*/		s_time=slot->timestamp - session->cons->firstts;#if 0		if (s_time>session->current_media->mtime) { // time for pkt still not arrived			session->current_media->mtime = s_time;			return ERR_NOERROR;		}#endif			while (slot) {		/*if (strcmp(session->current_media->description.encoding_name,"MP2T")!=0) {			//session->current_media->mtime = slot->timestamp + session->current_media->mstart - session->current_media->mstart_offset;		}*/		    		hdr_size=sizeof(r);			r.version = 2;    		r.padding = 0;		r.extension = 0;   		r.csrc_len = 0;		r.marker=slot->marker;    		r.payload = session->current_media->description.payload_type;//		r.seq_no = htons(session->seq++ + session->start_seq);		r.seq_no = htons(slot->slot_seq + session->start_seq - 1);		r.timestamp=htonl(session->start_rtptime+msec2tick(slot->timestamp, session->current_media)-session->cons->firstts);			r.ssrc = htonl(session->ssrc);#if HAVE_ALLOCA		packet=(unsigned char*)alloca(slot->data_size+hdr_size);#else    		packet=(unsigned char*)calloc(1,slot->data_size+hdr_size);#endif    		if (packet==NULL) {    			return ERR_ALLOC;    	    		}		memcpy(packet,&r,hdr_size);		memcpy(packet+hdr_size,slot->data,slot->data_size);			// fnc_log(FNC_LOG_DEBUG, "sending pkt... seq: %llu (RTPseq:%u)\n", slot->slot_seq, ntohs(r.seq_no));		// if ((psize_sent=sendto(session->transport.u.udp.rtp_fd,packet,slot->data_size+hdr_size,0,&(session->transport.u.udp.rtp_peer),sizeof(session->transport.u.udp.rtp_peer)))<0){		if ((psize_sent=RTP_sendto(session, rtp_proto, packet, slot->data_size + hdr_size))<0){						fnc_log(FNC_LOG_DEBUG,"RTP Packet Lost\n");		}			else {#if ENABLE_DUMP 			char fname[255];			char crtp[255];			memset(fname,0,sizeof(fname));			strcpy(fname,"dump_fenice.");			strcat(fname,session->current_media->description.encoding_name);			strcat(fname,".");			sprintf(crtp,"%d",session->rtp_fd);			strcat(fname,crtp);			if(strcmp(session->current_media->description.encoding_name,"MPV")==0 || strcmp(session->current_media->description.encoding_name,"MPA")==0)				dump_payload(packet+16,psize_sent-16,fname);			else				dump_payload(packet+12,psize_sent-12,fname);#endif			session->rtcp_stats[i_server].pkt_count++;			session->rtcp_stats[i_server].octet_count+=slot->data_size;		}#if !HAVE_ALLOCA		free(packet);#endif		OMSbuff_gotreader(session->cons);				if ( (nextts=OMSbuff_nextts(session->cons)) >= 0 )			nextts -= session->cons->firstts;		// fnc_log(FNC_LOG_DEBUG, "*** current time=%f - next time=%f\n\n", s_time, nextts);		if ( (nextts == -1) || (nextts != s_time) ) {			// fnc_log(FNC_LOG_DEBUG, "*** time on\n");			if (session->current_media->description.delta_mtime)				session->current_media->mtime += session->current_media->description.delta_mtime; //emma//			else if (nextts > 0)//				session->current_media->mtime = nextts;//				session->current_media->mtime = s_time;			else				session->current_media->mtime += session->current_media->description.pkt_len;			slot = NULL;			session->cons->frames--;		} else			slot = OMSbuff_getreader(session->cons);	}		return ERR_NOERROR;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线视频免费观看| 91亚洲永久精品| 丰满少妇在线播放bd日韩电影| 91麻豆福利精品推荐| 久久午夜老司机| 婷婷丁香久久五月婷婷| av亚洲精华国产精华精华| 蜜臀av性久久久久av蜜臀妖精| 2021中文字幕一区亚洲| 亚洲狠狠丁香婷婷综合久久久| 国产精品中文欧美| 欧美一区二区三区白人| 午夜影院在线观看欧美| 99精品欧美一区二区三区小说| 久久亚洲欧美国产精品乐播| 日韩av电影天堂| 欧美日韩国产一区二区三区地区| 国产精品沙发午睡系列990531| 蜜桃视频一区二区三区在线观看| 日本韩国欧美一区二区三区| 国产精品免费看片| 成人av电影在线网| 国产精品色眯眯| 成人av中文字幕| 国产精品亲子乱子伦xxxx裸| 国产精品羞羞答答xxdd| 久久久久国产精品麻豆ai换脸| 日本午夜精品视频在线观看 | 日韩福利视频网| 一本色道a无线码一区v| 综合久久久久久| 97超碰欧美中文字幕| 国产精品对白交换视频| 91免费国产在线| 亚洲欧美精品午睡沙发| 欧美综合欧美视频| 亚洲mv在线观看| 欧美一级久久久久久久大片| 麻豆视频一区二区| 久久精品一区二区三区不卡 | 国产欧美日韩不卡| 国产精品1024久久| 亚洲欧洲国产日本综合| 欧美亚洲综合在线| 日韩av中文字幕一区二区三区| 欧美一卡二卡在线| 国产精品久久久久影院老司| 丝袜亚洲精品中文字幕一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲综合区在线| 欧美一级在线免费| 国产大陆亚洲精品国产| 亚洲情趣在线观看| 欧美福利视频一区| 国产米奇在线777精品观看| 136国产福利精品导航| 欧美三级一区二区| 国产在线播精品第三| 中文字幕在线播放不卡一区| 欧美日韩中文另类| 国模少妇一区二区三区| 综合欧美一区二区三区| 欧美一区二区三区白人| 成人激情文学综合网| 午夜视频在线观看一区二区| 欧美成人aa大片| 色综合天天做天天爱| 蜜桃视频一区二区| 一区二区三区在线观看视频| 精品欧美久久久| 欧美v亚洲v综合ⅴ国产v| 精品少妇一区二区三区日产乱码 | 成人h动漫精品一区二| 一区二区三区国产豹纹内裤在线| 日韩视频免费观看高清完整版 | 欧美性大战xxxxx久久久| 久久精品久久综合| 亚洲人妖av一区二区| 久久久久久久久蜜桃| 久久99精品久久久久久动态图 | 国产福利一区二区三区| 亚洲国产一区二区在线播放| 久久久综合视频| 欧美大片日本大片免费观看| 国内偷窥港台综合视频在线播放| 亚洲综合免费观看高清完整版在线 | 7777精品伊人久久久大香线蕉超级流畅 | 国产亚洲精品bt天堂精选| 色婷婷综合久久久久中文| 国内偷窥港台综合视频在线播放| 亚洲成人手机在线| 亚洲视频资源在线| 欧美韩国一区二区| 亚洲精品在线三区| 日韩欧美自拍偷拍| 在线观看91av| 亚洲成a天堂v人片| 国产欧美精品区一区二区三区| 欧美在线色视频| 色综合天天综合狠狠| 国产**成人网毛片九色| 久久国产精品99久久人人澡| 婷婷开心久久网| 亚洲国产成人tv| 亚洲高清免费视频| 亚洲一区二区影院| 艳妇臀荡乳欲伦亚洲一区| 亚洲欧洲精品天堂一级| 国产精品亲子伦对白| 中文一区二区在线观看| 中文字幕av不卡| 国产精品超碰97尤物18| 中文字幕av一区二区三区免费看| 国产亚洲一区二区三区| 久久久久9999亚洲精品| 欧美国产欧美亚州国产日韩mv天天看完整| 精品成a人在线观看| 337p日本欧洲亚洲大胆精品| 精品国产乱码久久久久久1区2区 | 久草热8精品视频在线观看| 92国产精品观看| 99久久精品免费看国产免费软件| 国产剧情在线观看一区二区| 国产剧情一区二区| 国产黄色91视频| 99久久综合99久久综合网站| a4yy欧美一区二区三区| 一本色道综合亚洲| 欧美系列一区二区| 91精品国产91久久久久久一区二区| 欧美精品tushy高清| 精品久久久久一区二区国产| 亚洲欧洲制服丝袜| 日韩激情一区二区| 激情综合亚洲精品| 99re热这里只有精品免费视频 | 一区二区欧美视频| 午夜久久久影院| 国产一本一道久久香蕉| 99国内精品久久| 在线电影欧美成精品| 国产亚洲精品bt天堂精选| 一区二区三区日韩在线观看| 亚洲高清免费一级二级三级| 成人黄色网址在线观看| 一本久久综合亚洲鲁鲁五月天| 91视频www| 日韩欧美美女一区二区三区| 91小视频在线| 日韩精品一区二区三区视频| 国产精品理论在线观看| 视频一区欧美精品| 国产91在线观看| 在线播放一区二区三区| 国产欧美日韩另类一区| 亚洲成a人在线观看| 国产99久久久国产精品潘金| 欧美日韩国产成人在线免费| 国产清纯白嫩初高生在线观看91 | 美国十次综合导航| 一本大道久久精品懂色aⅴ| 91在线精品一区二区三区| 欧美精品丝袜久久久中文字幕| 久久精品视频网| 亚洲成va人在线观看| 成人精品gif动图一区| 69p69国产精品| 日韩高清电影一区| jizzjizzjizz欧美| 日韩欧美国产wwwww| 亚洲一区二区三区四区不卡| 成人午夜碰碰视频| 欧美精品一区二区高清在线观看| 天堂在线一区二区| 色婷婷精品大在线视频| 国产精品―色哟哟| 国产成人鲁色资源国产91色综| 56国语精品自产拍在线观看| 亚洲乱码中文字幕| 成人av在线一区二区| 国产喷白浆一区二区三区| 黄色日韩网站视频| 精品免费日韩av| 麻豆成人91精品二区三区| 欧美精品vⅰdeose4hd| 亚洲一区二区在线播放相泽| 91老师片黄在线观看| 亚洲四区在线观看| 99久久婷婷国产综合精品| 久久精品一区四区| 国产麻豆欧美日韩一区| 精品国产伦一区二区三区观看方式| 奇米888四色在线精品| 欧美一级理论性理论a| 日韩 欧美一区二区三区| 666欧美在线视频| 日本伊人精品一区二区三区观看方式| 欧美日韩中文国产| 日日夜夜精品视频免费| 日韩三级视频在线看|