Audio in is distorted, still debugging.
authorbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 12 Mar 2014 05:06:37 +0000 (05:06 +0000)
committerbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 12 Mar 2014 05:06:37 +0000 (05:06 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@1429 01035d8c-6547-0410-b346-abe4f91aad63

freedv-server/source/platform/linux/audio_in_alsa.cpp

index 8cb6feec965eb211fb15003dc4897fa9ebe37213..54b000fe8976f434aad8d5bbd464cc2f557a3751 100644 (file)
@@ -77,6 +77,8 @@ namespace FreeDV {
 
     if ( (error = snd_pcm_prepare(handle)) < 0 )
       do_throw(error, "Prepare");
+
+    snd_pcm_start(handle);
   }
 
   AudioInALSA::~AudioInALSA()
@@ -98,8 +100,9 @@ namespace FreeDV {
       if ( result == -EPIPE )
         return 0;
     }
-    if ( result >= 0 )
+    if ( result >= 0 ) {
       return result;
+    }
     else {
       do_throw(result, "Read");
       return 0; // do_throw doesn't return.
@@ -131,8 +134,9 @@ namespace FreeDV {
       available = snd_pcm_avail_delay(handle, &available, &delay);
       std::cerr << "ALSA read underrun." << std::endl;
     }
-    if ( error >= 0 )
+    if ( error >= 0 ) {
       return available;
+    }
     else if ( error == -EPIPE )
       return 0;
     else {