FreeCalypso > hg > themwi-interim
annotate mtctest/rtp_play.c @ 10:395c56969bc4
mtctest: implement guts of RTP play mechanism
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 09 Jun 2024 04:24:53 +0000 |
parents | |
children | aa2ba9b432af |
rev | line source |
---|---|
10
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * In this module we implement RTP play command, emitting a test sequence |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * of encoded speech frames toward the MS. |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <sys/types.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <sys/file.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <sys/stat.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include <sys/socket.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include <sys/time.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 #include <netinet/in.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 #include <arpa/inet.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 #include <stdio.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #include <stdint.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 #include <stdlib.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 #include <string.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 #include <strings.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 #include <unistd.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 #include <themwi/rtp/rtp_defs.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #include <themwi/rtp/rtp_alloc_simple.h> |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 extern struct rtp_alloc_simple rtp_info; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 extern int got_msc_rtp_info; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 extern struct sockaddr_storage msc_rtp_addr; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 extern uint8_t rtp_payload_type; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 extern struct timeval cur_event_time; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 int rtp_play_active; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 static uint8_t play_buffer[33*50*30]; /* max 30 s of GSM-FR play */ |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 static uint32_t rtp_ssrc; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 static uint32_t rtp_out_ts; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 static uint16_t rtp_out_seq; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 static unsigned play_frame_len; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 static unsigned play_buf_nframes, play_buf_ptr; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 static int play_loop; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 static void |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 assign_rtpout_ssrc() |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 rtp_ssrc = cur_event_time.tv_sec ^ cur_event_time.tv_usec ^ getpid(); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 static void |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 fill_with_play(outbuf) |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 uint8_t *outbuf; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 memcpy(outbuf, play_buffer + play_buf_ptr * play_frame_len, |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 play_frame_len); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 play_buf_ptr++; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 if (play_buf_ptr < play_buf_nframes) |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 return; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 play_buf_ptr = 0; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 if (!play_loop) |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 rtp_play_active = 0; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 void |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 generate_rtp_packet() |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 struct rtp_packet pkt; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 socklen_t addrlen; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 pkt.v_p_x_cc = 0x80; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 pkt.m_pt = rtp_payload_type; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 pkt.seq = htons(rtp_out_seq++); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 pkt.tstamp = htonl(rtp_out_ts); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 rtp_out_ts += 160; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 pkt.ssrc = rtp_ssrc; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 fill_with_play(pkt.payload); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 addrlen = sizeof(struct sockaddr_in); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 sendto(rtp_info.gsm_rtp_fd, &pkt, RTP_PACKET_HDR_SIZE + play_frame_len, |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 0, (struct sockaddr *) &msc_rtp_addr, addrlen); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 void |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 play_file_cmdop(filename, frame_len, loop) |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 unsigned frame_len; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 char *filename; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 int fd; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 struct stat st; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 if (rtp_play_active) { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 fprintf(stderr, "error: file play already in progress\n"); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 return; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 if (!got_msc_rtp_info) { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 fprintf(stderr, "error: no RTP info received from MSC\n"); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 return; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 fd = open(filename, O_RDONLY); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 if (fd < 0) { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 perror(filename); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 return; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 fstat(fd, &st); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 if (!S_ISREG(st.st_mode)) { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 close(fd); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 fprintf(stderr, "error: %s is not a regular file\n", filename); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 return; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 if (!st.st_size) { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 close(fd); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 fprintf(stderr, "error: %s is an empty file\n", filename); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 return; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 if (st.st_size % frame_len) { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 close(fd); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 fprintf(stderr, |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 "error: size of %s is not a multiple of %u bytes\n", |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 filename, frame_len); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 return; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 if (st.st_size > sizeof play_buffer) { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 close(fd); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 fprintf(stderr, |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 "error: size of %s exceeds compiled-in buffer size\n", |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 filename); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 return; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 read(fd, play_buffer, st.st_size); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 close(fd); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 play_buf_nframes = st.st_size / frame_len; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 play_buf_ptr = 0; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 play_frame_len = frame_len; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 play_loop = loop; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 assign_rtpout_ssrc(); |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 rtp_out_ts = 0; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 rtp_out_seq = 0; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 rtp_play_active = 1; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 } |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 void |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 play_file_stop() |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 { |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 rtp_play_active = 0; |
395c56969bc4
mtctest: implement guts of RTP play mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 } |