Menu

#13 Error when using bluetooth headset

open
nobody
Audio (1)
5
2012-09-15
2008-02-26
Rich
No

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.

Discussion

  • vk6hdx

    vk6hdx - 2009-08-31

    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

     
  • Quentin Smith

    Quentin Smith - 2010-12-31

    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

    Support mono audio output devices like bluetooth headsets
    

    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+(i
      33), sbuff);

    • // temporary hack: source data is mono, output is stereo

    • // we have to manually interleave data...
    • //
    • // Something isn't right, just ignore for now
    • //
    • out = stereobuff;
    • for (j=0; j<=159; j++) {
    • *out++ = sbuff[j];
    • *out++ = sbuff[j];
    • }
    • WriteAudioStream( aStream, stereobuff, FRAMES_PER_BLOCK );
    • WriteAudioStream( aStream, sbuff, FRAMES_PER_BLOCK );
      for(j=0;j<160;j+=2) {
      pTemp = &sbuff[j];
      average = average + abs(*pTemp);
     

Log in to post a comment.