Provide a platform default audio selection.
authorbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Tue, 11 Mar 2014 04:01:35 +0000 (04:01 +0000)
committerbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Tue, 11 Mar 2014 04:01:35 +0000 (04:01 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@1424 01035d8c-6547-0410-b346-abe4f91aad63

freedv-server/source/audio_in_default.cpp [new file with mode: 0644]
freedv-server/source/audio_out_default.cpp [new file with mode: 0644]
freedv-server/source/drivers.h
freedv-server/source/interfaces.cpp

diff --git a/freedv-server/source/audio_in_default.cpp b/freedv-server/source/audio_in_default.cpp
new file mode 100644 (file)
index 0000000..816278f
--- /dev/null
@@ -0,0 +1,13 @@
+#include "drivers.h"
+
+namespace FreeDV {
+  AudioInput *
+  Driver::AudioInDefault()
+  {
+#if __linux__
+    return Driver::AudioInALSA("default");
+#else
+    #error Please fill in Driver::AudioInDefault for this platform.
+#endif
+  }
+}
diff --git a/freedv-server/source/audio_out_default.cpp b/freedv-server/source/audio_out_default.cpp
new file mode 100644 (file)
index 0000000..4e292b6
--- /dev/null
@@ -0,0 +1,13 @@
+#include "drivers.h"
+
+namespace FreeDV {
+  AudioOutput *
+  Driver::AudioOutDefault()
+  {
+#if __linux__
+    return Driver::AudioOutALSA("default");
+#else
+    #error Please fill in Driver::AudioOutDefault for this platform.
+#endif
+  }
+}
index d0d6207350673be9d9efce28d5a67bc0b7fc7b40..b99981758b88e64566aa59d19b422979b21ce676 100644 (file)
@@ -699,15 +699,16 @@ namespace FreeDV {
     return interfaces.print(stream);
   }
 
-  // The functions in the Driver and Enumerator namespaces are normally
-  // registered with the driver manager at run-time. There isn't a reason
-  // to reference them directly unless it's in a custom main for an embedded
-  // program.
+  // Most of the functions in the Driver and Enumerator namespaces are
+  // registered with the driver manager at run-time. There won't be many
+  // reasons to reference them directly.
   namespace Driver {
     AudioInput *       Tone(const char * parameter);
     AudioInput *       AudioInALSA(const char * parameter);
+    AudioInput *       AudioInDefault();
     AudioOutput *      AudioSink(const char * parameter);
     AudioOutput *      AudioOutALSA(const char * parameter);
+    AudioOutput *      AudioOutDefault();
     Codec *            CodecNoOp(const char * parameter);
     Framer *           FramerNoOp(const char * parameter);
     KeyingOutput *     KeyingSink(const char * parameter);
index ea7f279a8d5e57f03402ace36ac3e8d9a4d07687..387cfebb2786d604f1d8f2ae2c40f2d93ff902d9 100644 (file)
@@ -16,7 +16,7 @@ namespace FreeDV {
       keying_output = Driver::KeyingSink(empty);
 
     if ( !loudspeaker )
-      loudspeaker = Driver::AudioSink(empty);
+      loudspeaker = Driver::AudioOutDefault();
 
     if ( !microphone )
       microphone = Driver::Tone(empty);