When connecting to the 9999 node with a bluetooth headset in use for input and/or output the following error message is seen. This has been observed on an iMac running OS-X 10.4 and on a MacMini running OS-X10.5.
Sometimes it scrolls repeatedly.
Echolinux error: An error occured while using the portaudio stream
Error number: -9999
Echolinux error: Error message: Invalid number of channels.
I have also had this problem.
Running EchoMac version 1.16.1
Mac OS X 10.6 (Snow Leopard)
This is not just related to bluetooth headset, but any audio output device with a single channel. I am using a Plantronics monaural USB headset (MX500i). The input device works fine, however when I select this as the output device I also get the error:
Echolinux error: An error occured while using the portaudio stream
Error number: -9999
Error message: Invalid number of channels.
Regards,
Troy VK6HDX
With the following patch, I'm able to use EchoMac with my bluetooth headset. I'm not sure why it was using stereo audio before - maybe there are audio output devices that can ONLY handle stereo?
commit 3e5289789108d2704be80f29576454bc5edd9778
Author: Quentin Smith quentin@mit.edu
Date: Thu Dec 30 23:57:16 2010 -0500
diff --git a/echomac/echolinux/vox_portaudio.c b/echomac/echolinux/vox_portaudio.c
index ab54191..3422570 100755
--- a/echomac/echolinux/vox_portaudio.c
+++ b/echomac/echolinux/vox_portaudio.c
@@ -496,7 +496,6 @@ int recvAudio(void){
// int z;
PaError err;
PABLIO_Stream *aStream;
short stereobuff[700], *out;
// long writableByteCount;
/**** PortAudio end *******/
@@ -510,7 +509,7 @@ int recvAudio(void){
fflush(NULL);
err = OpenAudioStream ( &aStream, SAMPLE_RATE, SAMPLE_TYPE,
(PABLIO_WRITE | PABLIO_STEREO) );
(PABLIO_WRITE | PABLIO_MONO) );
if ( err != paNoError ) goto error;
raw_tty(1);
@@ -573,17 +572,7 @@ int recvAudio(void){
temp = (unsigned char )&(voicePacket->data);
gsm_decode(gsmh, temp+(i33), sbuff);
// temporary hack: source data is mono, output is stereo
for(j=0;j<160;j+=2) {
pTemp = &sbuff[j];
average = average + abs(*pTemp);