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

📄 rtp_exemple_receive_print.c

📁 一个关于 RTP的例子
💻 C
字号:
/******* *  * FILE INFO: * project:	RTP_Lib * file:	Rtp_Exemple_Receive_Print.c * started on:	05/14/03 16:54:39 * started by:	Julien Dupasquier <jdupasquier@wanadoo.fr> *  *  * TODO: *  * BUGS: *  * UPDATE INFO: * updated on:	05/15/03 16:26:37 * updated by:	Julien Dupasquier <jdupasquier@wanadoo.fr> *  *******/#include		<sys/types.h>#include		<sys/socket.h>#include		<netinet/in.h>#include		<arpa/inet.h>#include		<stdio.h>#include		<stdlib.h>#include		<string.h>#include		<unistd.h>#include		<err.h>#include 		<math.h>#include 		"Config.h"#include 		"RTP.h"#include 		"Macros.h"#include 		"Proto.h"void			Print_context(char *msg, int len, int cid){  int			i;  printf("SSRC number                      [%i]\n",context_list[cid]->my_ssrc);  printf("Number of packets sent           [%i]\n",context_list[cid]->sending_pkt_count);  printf("Number of bytes sent             [%i]\n",context_list[cid]->sending_octet_count);  printf("Version                          [%i]\n",context_list[cid]->version);  printf("Marker flag                      [%i]\n",context_list[cid]->marker);  printf("Padding length                   [%i]\n",context_list[cid]->padding);  printf("CSRC length                      [%i]\n",context_list[cid]->CSRClen);  printf("Payload type                     [%i]\n",context_list[cid]->pt);  for(i = 0; i < context_list[cid]->CSRClen; i++)    printf("CSRC list[%i]                     [%li]\n", i, context_list[cid]->CSRCList[i]);  printf("First value of timestamp         [%i]\n",context_list[cid]->init_RTP_timestamp);  printf("Current value of timestamp       [%i]\n",context_list[cid]->RTP_timestamp);  printf("Time elapsed since the beginning [%i]\n",context_list[cid]->time_elapsed);  printf("First sequence number            [%i]\n",context_list[cid]->init_seq_no);  printf("Current sequence number          [%i]\n",context_list[cid]->seq_no);  printf("Extension header Type            [%i]\n",context_list[cid]->hdr_extension->ext_type);  printf("Extension header Len             [%i]\n",context_list[cid]->hdr_extension->ext_len);  for(i = 0; i < context_list[cid]->hdr_extension->ext_len; i++)    printf("Extension header[%i]              [%i]\n", i,context_list[cid]->hdr_extension->hd_ext[i]);  printf("Message[%i] : [%s]\n\n", len, msg);}void			print_hdr(rtp_pkt *pkt){  printf("Header du message :\n");  printf("Version       [%d]\n", (pkt->RTP_header->flags & 0xd0) >> 6);  printf("Padding       [%d]\n", (pkt->RTP_header->flags & 0x20) >> 5);  printf("Ext           [%d]\n", (pkt->RTP_header->flags & 0x10) >> 4);  printf("Cc            [%d]\n", (pkt->RTP_header->flags & 0x0f));  printf("marker        [%d]\n", (pkt->RTP_header->mk_pt & 0x10) >> 7);  printf("PayLoad type  [%d]\n", (pkt->RTP_header->mk_pt & 0x7f));  printf("sq_nb         [%i]\n", ntohs(pkt->RTP_header->sq_nb));  printf("ts            [%x]\n", ntohl(pkt->RTP_header->ts));  printf("ssrc          [%x]\n", ntohl(pkt->RTP_header->ssrc));  printf("csrc          [%i]\n", ntohl(pkt->RTP_header->csrc[0]));  printf("ext->type     [%i]\n", ntohs(pkt->RTP_extension->ext_type));  printf("ext->len      [%i]\n", ntohs(pkt->RTP_extension->ext_len));  printf("ext[0]        [%i]\n", ntohl(pkt->RTP_extension->hd_ext[0]));  printf("ext[1]        [%i]\n", ntohl(pkt->RTP_extension->hd_ext[1]));  printf("len PayLoad   [%i]\n", pkt->payload_len);  printf("PayLoad       [%s]\n", pkt->payload);}

⌨️ 快捷键说明

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