Flush incoming audio at start time, to avoid overlong delay.
authorbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Thu, 20 Mar 2014 00:30:13 +0000 (00:30 +0000)
committerbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Thu, 20 Mar 2014 00:30:13 +0000 (00:30 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@1459 01035d8c-6547-0410-b346-abe4f91aad63

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

index 28c48adbfc91c8121d67c8c557bd6181ac4e4681..7c2d5dde474d6b6b45f3deec1618979b5280807f 100644 (file)
@@ -71,8 +71,6 @@ namespace FreeDV {
 
     if ( handle == 0 )
       do_throw(-ENODEV);
-
-    snd_pcm_start(handle);
   }
 
   AudioInALSA::~AudioInALSA()
@@ -136,6 +134,8 @@ namespace FreeDV {
     int                        error;
 
     if ( !started ) {
+      snd_pcm_drop(handle);
+      snd_pcm_prepare(handle);
       snd_pcm_start(handle);
       started = true;
       return AudioFrameSamples;