00001
00048
00049
00050
00051
00052
00053
00054 #include <sent/stddefs.h>
00055
00056
00057 #include "pa/pablio.h"
00058
00059 PABLIO_Stream *aStream;
00060
00069 boolean
00070 adin_mic_standby(int sfreq, void *dummy)
00071 {
00072 PaError err;
00073
00074
00075 if (sizeof(SP16) != paInt16) {
00076 j_error("SP16 != paInt16\n");
00077 }
00078
00079
00080 err = OpenAudioStream(&aStream, sfreq, paInt16,
00081 (PABLIO_READ | PABLIO_MONO) );
00082 if (err != paNoError) {
00083 j_printerr("Error: %s\n", Pa_GetErrorText(err));
00084 return(FALSE);
00085 }
00086 return(TRUE);
00087 }
00088
00094 boolean
00095 adin_mic_start()
00096 {
00097 return(TRUE);
00098 }
00099
00105 boolean
00106 adin_mic_stop()
00107 {
00108 return TRUE;
00109 }
00110
00123 int
00124 adin_mic_read(SP16 *buf, int sampnum)
00125 {
00126 long avail;
00127
00128 while ((avail = GetAudioStreamReadable(aStream)) <= 0) {
00129 Pa_Sleep(50);
00130 }
00131 if (avail > sampnum) avail = sampnum;
00132 if (avail != ReadAudioStream(aStream, buf, avail)) {
00133 j_printerr("Error: failed to read %d samples\n", sampnum);
00134 return(-2);
00135 }
00136 return avail;
00137 }
00138