Lines 11-16
Link Here
|
11 |
|
11 |
|
12 |
wav_sig *file_info; |
12 |
wav_sig *file_info; |
13 |
long count; |
13 |
long count; |
|
|
14 |
int bsize_p; |
15 |
int * buffer_p; |
14 |
|
16 |
|
15 |
/* GSM stuff */ |
17 |
/* GSM stuff */ |
16 |
|
18 |
|
Lines 58-82
int init_dsp(wav_sig *file_info){
Link Here
|
58 |
p = file_info->srate; |
60 |
p = file_info->srate; |
59 |
i += ioctl(dsp_fd, SOUND_PCM_WRITE_RATE, &p); |
61 |
i += ioctl(dsp_fd, SOUND_PCM_WRITE_RATE, &p); |
60 |
|
62 |
|
61 |
i += ioctl(dsp_fd, SNDCTL_DSP_GETBLKSIZE, &bsize); |
63 |
i += ioctl(dsp_fd, SNDCTL_DSP_GETBLKSIZE, &bsize_p); |
62 |
|
64 |
|
63 |
ioctl(dsp_fd, SNDCTL_DSP_SYNC, 0); |
65 |
ioctl(dsp_fd, SNDCTL_DSP_SYNC, 0); |
64 |
|
66 |
|
65 |
return(i); |
67 |
return(i); |
66 |
} |
68 |
} |
67 |
|
69 |
|
68 |
void play_buffer(){ |
70 |
void play_buffer_p(){ |
69 |
|
71 |
|
70 |
#ifndef GSM |
72 |
#ifndef GSM |
71 |
|
73 |
|
72 |
if (file_info->len < bsize){ |
74 |
if (file_info->len < bsize_p){ |
73 |
count = read(file_info->handle, buffer, file_info->len); |
75 |
count = read(file_info->handle, buffer_p, file_info->len); |
74 |
file_info->len -= count; |
76 |
file_info->len -= count; |
75 |
} else { |
77 |
} else { |
76 |
count = read(file_info->handle, (int *)buffer, bsize); |
78 |
count = read(file_info->handle, (int *)buffer_p, bsize_p); |
77 |
file_info->len -= count; |
79 |
file_info->len -= count; |
78 |
} |
80 |
} |
79 |
write(dsp_fd, buffer, count); |
81 |
write(dsp_fd, buffer_p, count); |
80 |
|
82 |
|
81 |
#else |
83 |
#else |
82 |
|
84 |
|
Lines 103-109
int main(int argc, char *argv[]) {
Link Here
|
103 |
filename = argv[1]; |
105 |
filename = argv[1]; |
104 |
#endif |
106 |
#endif |
105 |
file_info = (wav_sig *)malloc(sizeof(wav_sig)); |
107 |
file_info = (wav_sig *)malloc(sizeof(wav_sig)); |
106 |
buffer = (int *)malloc(32767); |
108 |
buffer_p = (int *)malloc(32767); |
107 |
|
109 |
|
108 |
if (init_wav_read(filename, file_info) == -1){ |
110 |
if (init_wav_read(filename, file_info) == -1){ |
109 |
fprintf(stderr,"Error opening file: %s\n", file_info->name); |
111 |
fprintf(stderr,"Error opening file: %s\n", file_info->name); |
Lines 123-129
int main(int argc, char *argv[]) {
Link Here
|
123 |
gsm_info.handle = gsm_create(); |
125 |
gsm_info.handle = gsm_create(); |
124 |
#endif |
126 |
#endif |
125 |
while (file_info->len > 0){ |
127 |
while (file_info->len > 0){ |
126 |
play_buffer(); |
128 |
play_buffer_p(); |
127 |
update_timer(file_info, 1); |
129 |
update_timer(file_info, 1); |
128 |
} |
130 |
} |
129 |
#ifdef GSM |
131 |
#ifdef GSM |