From: bruceperens Date: Wed, 12 Mar 2014 05:06:37 +0000 (+0000) Subject: Audio in is distorted, still debugging. X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=b409bf788821477b09ea79d12688990429e56782;p=freetel-svn-tracking.git Audio in is distorted, still debugging. git-svn-id: https://svn.code.sf.net/p/freetel/code@1429 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/freedv-server/source/platform/linux/audio_in_alsa.cpp b/freedv-server/source/platform/linux/audio_in_alsa.cpp index 8cb6feec..54b000fe 100644 --- a/freedv-server/source/platform/linux/audio_in_alsa.cpp +++ b/freedv-server/source/platform/linux/audio_in_alsa.cpp @@ -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 {