Don't enumerate disconnected ALSA devices.
authorbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Fri, 18 Apr 2014 19:21:25 +0000 (19:21 +0000)
committerbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Fri, 18 Apr 2014 19:21:25 +0000 (19:21 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@1506 01035d8c-6547-0410-b346-abe4f91aad63

freedv-server/source/platform/linux/alsa.cpp
freedv-server/source/platform/linux/ptt_evdev.cpp

index e0c66ebe1d2e36501410e0ca81f2f07e46e2587c..6ff2989cbafedf0172e054f6aaeb6c9953ba9df4 100644 (file)
@@ -84,9 +84,11 @@ namespace FreeDV {
         if ( i )
           *i = '\0';
 
-        stream << "\"alsa:" << longname << '"';
-        error_message(stream, card_error);
-        stream << std::endl;
+        if ( card_error != -ENOENT ) {
+          stream << "\"alsa:" << longname << '"';
+          error_message(stream, card_error);
+          stream << std::endl;
+        }
   
         if ( ctl_error == 0 ) {
          if ( pcm_error == 0 )
index f3aede6935fc47998dd84f12912585b391cc87f2..17de634e019cdfa07933ac973f2c0f6dced8d57f 100644 (file)
@@ -107,7 +107,7 @@ namespace FreeDV {
           }
         }
         if ( low >= 0 ) {
-          stream << '\"' << devices[i].name << ',' << low << '\"';
+          stream << "\"evdev:" << devices[i].name << ',' << low << '\"';
          
           if ( high > low )
             stream << " (" << low << '-' << high << ')';