comparison rtp-gsmfr-dump.c @ 5:7c85a7a913f7

rtp-gsmfr-dump: treat stream discontinuities as non-fatal
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 12 May 2023 06:46:46 +0000
parents 50aa973a91ef
children
comparison
equal deleted inserted replaced
4:5216e7fb1c9e 5:7c85a7a913f7
69 (rtp_hdr[6] << 8) | rtp_hdr[7]; 69 (rtp_hdr[6] << 8) | rtp_hdr[7];
70 cur_ssrc = (rtp_hdr[8] << 24) | (rtp_hdr[9] << 16) | 70 cur_ssrc = (rtp_hdr[8] << 24) | (rtp_hdr[9] << 16) |
71 (rtp_hdr[10] << 8) | rtp_hdr[11]; 71 (rtp_hdr[10] << 8) | rtp_hdr[11];
72 if (stream_init_flag) { 72 if (stream_init_flag) {
73 if (cur_ssrc != stream_ssrc) { 73 if (cur_ssrc != stream_ssrc) {
74 fprintf(stderr, 74 printf(
75 "error in packet #%u: SSRC change from 0x%08X to 0x%08X\n", 75 "error in packet #%u: SSRC change from 0x%08X to 0x%08X\n",
76 pkt_idx, stream_ssrc, cur_ssrc); 76 pkt_idx, stream_ssrc, cur_ssrc);
77 exit(1); 77 } else if (cur_seq != last_seq + 1 &&
78 } 78 (cur_seq != 0 || last_seq != 0xFFFF)) {
79 if (cur_seq != last_seq + 1 && 79 printf(
80 (cur_seq != 0 || last_seq != 0xFFFF)) {
81 fprintf(stderr,
82 "error in packet #%u: seq break from 0x%04X to 0x%04X\n", 80 "error in packet #%u: seq break from 0x%04X to 0x%04X\n",
83 pkt_idx, last_seq, cur_seq); 81 pkt_idx, last_seq, cur_seq);
84 exit(1); 82 } else if (cur_tstamp != last_tstamp + 160) {
85 } 83 printf(
86 if (cur_tstamp != last_tstamp + 160) {
87 fprintf(stderr,
88 "error in packet #%u: timestamp break from 0x%08X to 0x%08X\n", 84 "error in packet #%u: timestamp break from 0x%08X to 0x%08X\n",
89 pkt_idx, last_tstamp, cur_tstamp); 85 pkt_idx, last_tstamp, cur_tstamp);
90 exit(1);
91 } 86 }
92 } else { 87 } else
93 stream_init_flag = 1; 88 stream_init_flag = 1;
94 stream_ssrc = cur_ssrc;
95 }
96 last_seq = cur_seq; 89 last_seq = cur_seq;
97 last_tstamp = cur_tstamp; 90 last_tstamp = cur_tstamp;
91 stream_ssrc = cur_ssrc;
98 } 92 }
99 93
100 static void 94 static void
101 process_payload(payload, payload_len) 95 process_payload(payload, payload_len)
102 u_char *payload; 96 u_char *payload;