From 78c9bb658586e16590757f5a6e9476560d11e27f Mon Sep 17 00:00:00 2001 From: Diane Bruce <db@db.net> Date: Sun, 15 Jan 2006 21:43:30 +0000 Subject: [PATCH] - Commented out the wrong line! - cleaned up compiler warnings (added a few casts) - transmit appears to work git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@108 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- start_oss.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/start_oss.c b/start_oss.c index 12d09786f..cebcf8ecd 100644 --- a/start_oss.c +++ b/start_oss.c @@ -166,9 +166,11 @@ start_threads_(int *ndevin, int *ndevout, short y1[], short y2[], printf("Rate set = %d\n", rate); // printf("start_threads: creating thread for oss_loop\n"); - iret1 = pthread_create(&thread1,NULL,oss_loop,&iarg1); - printf("start_threads: creating thread for decode1_\n"); - // iret2 = pthread_create(&thread2,NULL,decode1_,&iarg2); + iret1 = pthread_create(&thread1, NULL, + (void *(*)(void *))oss_loop, &iarg1); + // printf("start_threads: creating thread for decode1_\n"); + iret2 = pthread_create(&thread2, NULL, + (void *(*)(void *))decode1_,&iarg2); } /* @@ -229,8 +231,8 @@ oss_loop(int *iarg) data.tbuf[ib++] = stime; if(ib>=FRAMESPERBUFFER) ib=0; - *(data.ibuf)=ib; - in = rcv_buf; // XXX + *(data.ibuf) = ib; + in = (int16_t *)rcv_buf; // XXX for(i=0; i<FRAMESPERBUFFER; i++) { data.y1[ia] = (*in++); data.y2[ia] = (*in++); @@ -256,7 +258,7 @@ oss_loop(int *iarg) } TxOKz = *(data.TxOK); *(data.Transmitting) = *(data.TxOK); - wptr = tx_buf; /* XXX */ + wptr = (int16_t *)tx_buf; /* XXX */ for(i=0 ; i<FRAMESPERBUFFER; i++ ) { if(*(data.TxOK)) { n2 = data.iwave[ic]; @@ -275,7 +277,11 @@ oss_loop(int *iarg) *wptr++ = 0; /* right */ } } - write(data.fd_out, tx_buf, AUDIOBUFSIZE); + + if (write(data.fd_out, tx_buf, AUDIOBUFSIZE) < 0) { + fprintf(stderr, "Can't write to soundcard.\n"); + exit(-1); + } fivehztx_(); /* Call fortran routine */ } }