Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2294)

Side by Side Diff: test/rtp.c

Issue 2344973002: Update libsrtp to version 2.0 (Closed)
Patch Set: Add '.' back to include_dirs Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/roc_driver.c ('k') | test/rtpw.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * rtp.c 2 * rtp.c
3 * 3 *
4 * library functions for the real-time transport protocol 4 * library functions for the real-time transport protocol
5 * 5 *
6 * David A. McGrew 6 * David A. McGrew
7 * Cisco Systems, Inc. 7 * Cisco Systems, Inc.
8 */ 8 */
9 9
10 /* 10 /*
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 #ifdef HAVE_SYS_SOCKET_H 52 #ifdef HAVE_SYS_SOCKET_H
53 # include <sys/socket.h> 53 # include <sys/socket.h>
54 #endif 54 #endif
55 55
56 #define PRINT_DEBUG 0 /* set to 1 to print out debugging data */ 56 #define PRINT_DEBUG 0 /* set to 1 to print out debugging data */
57 #define VERBOSE_DEBUG 0 /* set to 1 to print out more data */ 57 #define VERBOSE_DEBUG 0 /* set to 1 to print out more data */
58 58
59 int 59 int
60 rtp_sendto(rtp_sender_t sender, const void* msg, int len) { 60 rtp_sendto(rtp_sender_t sender, const void* msg, int len) {
61 int octets_sent; 61 int octets_sent;
62 err_status_t stat; 62 srtp_err_status_t stat;
63 int pkt_len = len + RTP_HEADER_LEN; 63 int pkt_len = len + RTP_HEADER_LEN;
64 64
65 /* marshal data */ 65 /* marshal data */
66 strncpy(sender->message.body, msg, len); 66 strncpy(sender->message.body, msg, len);
67 67
68 /* update header */ 68 /* update header */
69 sender->message.header.seq = ntohs(sender->message.header.seq) + 1; 69 sender->message.header.seq = ntohs(sender->message.header.seq) + 1;
70 sender->message.header.seq = htons(sender->message.header.seq); 70 sender->message.header.seq = htons(sender->message.header.seq);
71 sender->message.header.ts = ntohl(sender->message.header.ts) + 1; 71 sender->message.header.ts = ntohl(sender->message.header.ts) + 1;
72 sender->message.header.ts = htonl(sender->message.header.ts); 72 sender->message.header.ts = htonl(sender->message.header.ts);
(...skipping 19 matching lines...) Expand all
92 perror(""); 92 perror("");
93 #endif 93 #endif
94 } 94 }
95 95
96 return octets_sent; 96 return octets_sent;
97 } 97 }
98 98
99 int 99 int
100 rtp_recvfrom(rtp_receiver_t receiver, void *msg, int *len) { 100 rtp_recvfrom(rtp_receiver_t receiver, void *msg, int *len) {
101 int octets_recvd; 101 int octets_recvd;
102 err_status_t stat; 102 srtp_err_status_t stat;
103 103
104 octets_recvd = recvfrom(receiver->socket, (void *)&receiver->message, 104 octets_recvd = recvfrom(receiver->socket, (void *)&receiver->message,
105 *len, 0, (struct sockaddr *) NULL, 0); 105 *len, 0, (struct sockaddr *) NULL, 0);
106 106
107 if (octets_recvd == -1) { 107 if (octets_recvd == -1) {
108 *len = 0; 108 *len = 0;
109 return -1; 109 return -1;
110 } 110 }
111 111
112 /* verify rtp header */ 112 /* verify rtp header */
113 if (receiver->message.header.version != 2) { 113 if (receiver->message.header.version != 2) {
114 *len = 0; 114 *len = 0;
115 return -1; 115 return -1;
116 } 116 }
117 117
118 #if PRINT_DEBUG 118 #if PRINT_DEBUG
119 fprintf(stderr, "%d octets received from SSRC %u\n", 119 fprintf(stderr, "%d octets received from SSRC %u\n",
120 octets_recvd, receiver->message.header.ssrc); 120 octets_recvd, receiver->message.header.ssrc);
121 #endif 121 #endif
122 #if VERBOSE_DEBUG 122 #if VERBOSE_DEBUG
123 srtp_print_packet(&receiver->message.header, octets_recvd); 123 srtp_print_packet(&receiver->message.header, octets_recvd);
124 #endif 124 #endif
125 125
126 /* apply srtp */ 126 /* apply srtp */
127 stat = srtp_unprotect(receiver->srtp_ctx, 127 stat = srtp_unprotect(receiver->srtp_ctx,
128 &receiver->message.header, &octets_recvd); 128 &receiver->message.header, &octets_recvd);
129 if (stat) { 129 if (stat) {
130 fprintf(stderr, 130 fprintf(stderr,
131 "error: srtp unprotection failed with code %d%s\n", stat, 131 "error: srtp unprotection failed with code %d%s\n", stat,
132 » stat == err_status_replay_fail ? " (replay check failed)" : 132 » stat == srtp_err_status_replay_fail ? " (replay check failed)" :
133 » stat == err_status_auth_fail ? " (auth check failed)" : ""); 133 » stat == srtp_err_status_auth_fail ? " (auth check failed)" : "");
134 return -1; 134 return -1;
135 } 135 }
136 strncpy(msg, receiver->message.body, octets_recvd); 136 strncpy(msg, receiver->message.body, octets_recvd);
137 137
138 return octets_recvd; 138 return octets_recvd;
139 } 139 }
140 140
141 int 141 int
142 rtp_sender_init(rtp_sender_t sender, 142 rtp_sender_init(rtp_sender_t sender,
143 int sock, 143 int sock,
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 218
219 rtp_receiver_t 219 rtp_receiver_t
220 rtp_receiver_alloc(void) { 220 rtp_receiver_alloc(void) {
221 return (rtp_receiver_t)malloc(sizeof(rtp_receiver_ctx_t)); 221 return (rtp_receiver_t)malloc(sizeof(rtp_receiver_ctx_t));
222 } 222 }
223 223
224 void 224 void
225 rtp_receiver_dealloc(rtp_receiver_t rtp_ctx) { 225 rtp_receiver_dealloc(rtp_receiver_t rtp_ctx) {
226 free(rtp_ctx); 226 free(rtp_ctx);
227 } 227 }
OLDNEW
« no previous file with comments | « test/roc_driver.c ('k') | test/rtpw.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698