diff --git a/src/audio/audiolayer.cpp b/src/audio/audiolayer.cpp
index ae613f7d5425c693ac904b60316051ec2e922ae9..66811e2853def16d30dd687d065ad3146380f61b 100644
--- a/src/audio/audiolayer.cpp
+++ b/src/audio/audiolayer.cpp
@@ -38,6 +38,7 @@ AudioLayer::AudioLayer ()
   , _stream(NULL)
 {
   portaudio::System::initialize();
+  listDevices();
 }
 
 // Destructor
@@ -57,6 +58,18 @@ AudioLayer::closeStream (void)
   }
 }
 
+void
+AudioLayer::listDevices()
+{
+  ost::MutexLock guard(_mutex);
+  portaudio::System::DeviceIterator pos = portaudio::System::instance().devicesBegin();
+  while(pos != portaudio::System::instance().devicesEnd()) {
+    _debug("AudioLayer: Device (%d) %s\n", pos->index(), pos->name());
+    pos++;
+  }
+
+}
+
 void
 AudioLayer::openDevice (int index) 
 {
diff --git a/src/audio/audiolayer.h b/src/audio/audiolayer.h
index 11c359451bc4105924cae2d32873a759910aa883..69a0d4db36fd64adeda82491c324e156a1e74452 100644
--- a/src/audio/audiolayer.h
+++ b/src/audio/audiolayer.h
@@ -44,6 +44,7 @@ public:
 	AudioLayer();
 	~AudioLayer (void);
 
+	void listDevices();
 	void	openDevice 		(int);
 	void 	startStream		(void);
 	void 	stopStream		(void);