--- a/libqdwav/wav_lib.h +++ a/libqdwav/wav_lib.h @@ -29,11 +29,9 @@ typedef struct{ char head[43]; } wav_sig; -buffmem_desc binfo; -count_info cinfo; +extern buffmem_desc binfo; -int dsp_fd; -int *buffer; +extern int dsp_fd; short get_wav_format (wav_sig *info); int open_wav (char *header, char file_name[]); @@ -46,5 +44,3 @@ void get_wav_nextblock (int handle, char *buffer); int init_parm (int argc, char *argv[], wav_sig *file_info); int open_wav_rec (wav_sig *info); - -int bsize; --- a/timer.c +++ a/timer.c @@ -1,6 +1,8 @@ #include #include "wav_lib.h" +count_info cinfo; +int dsp_fd; int update_timer(wav_sig *info, int mode){ int hr, mn, sc; --- a/wav_play.c +++ a/wav_play.c @@ -11,6 +11,8 @@ wav_sig *file_info; long count; +int bsize_p; +int * buffer_p; /* GSM stuff */ @@ -58,25 +60,25 @@ int init_dsp(wav_sig *file_info){ p = file_info->srate; i += ioctl(dsp_fd, SOUND_PCM_WRITE_RATE, &p); - i += ioctl(dsp_fd, SNDCTL_DSP_GETBLKSIZE, &bsize); + i += ioctl(dsp_fd, SNDCTL_DSP_GETBLKSIZE, &bsize_p); ioctl(dsp_fd, SNDCTL_DSP_SYNC, 0); return(i); } -void play_buffer(){ +void play_buffer_p(){ #ifndef GSM - if (file_info->len < bsize){ - count = read(file_info->handle, buffer, file_info->len); + if (file_info->len < bsize_p){ + count = read(file_info->handle, buffer_p, file_info->len); file_info->len -= count; } else { - count = read(file_info->handle, (int *)buffer, bsize); + count = read(file_info->handle, (int *)buffer_p, bsize_p); file_info->len -= count; } - write(dsp_fd, buffer, count); + write(dsp_fd, buffer_p, count); #else @@ -103,7 +105,7 @@ int main(int argc, char *argv[]) { filename = argv[1]; #endif file_info = (wav_sig *)malloc(sizeof(wav_sig)); - buffer = (int *)malloc(32767); + buffer_p = (int *)malloc(32767); if (init_wav_read(filename, file_info) == -1){ fprintf(stderr,"Error opening file: %s\n", file_info->name); @@ -123,7 +125,7 @@ int main(int argc, char *argv[]) { gsm_info.handle = gsm_create(); #endif while (file_info->len > 0){ - play_buffer(); + play_buffer_p(); update_timer(file_info, 1); } #ifdef GSM --- a/wav_rec.c +++ a/wav_rec.c @@ -15,6 +15,8 @@ wav_sig *file_info; int count; int have_len; +int bsize_r; +int *buffer_r; //SignalHandler *old_sigint; @@ -89,7 +91,7 @@ int init_dsp(wav_sig *file_info){ p = file_info->srate; i += ioctl(dsp_fd, SNDCTL_DSP_SPEED, &p); - i += ioctl(dsp_fd, SNDCTL_DSP_GETBLKSIZE, &bsize); + i += ioctl(dsp_fd, SNDCTL_DSP_GETBLKSIZE, &bsize_r); ioctl(dsp_fd, SNDCTL_DSP_SYNC, 0); @@ -126,10 +128,10 @@ void write_data(){ #ifndef GSM - if ((have_len && file_info->len > bsize) || !have_len) count = read(dsp_fd, buffer, bsize); - else count = read(dsp_fd, buffer, file_info->len); + if ((have_len && file_info->len > bsize_r) || !have_len) count = read(dsp_fd, buffer_r, bsize); + else count = read(dsp_fd, buffer_r, file_info->len); - write(file_info->handle, buffer, count); + write(file_info->handle, buffer_r, count); file_info->len -= count; file_info->sofar += count; @@ -193,7 +195,7 @@ int main(int argc, char *argv[]){ exit(-1); } - buffer = (int *)malloc(bsize); + buffer_r = (int *)malloc(bsize_r); //old_sigint = (SignalHandler *) signal(SIGINT, SIG_INT);