Index: pjproject/trunk/pjsip/include/pjsua-lib/pjsua.h
===================================================================
--- pjproject/trunk/pjsip/include/pjsua-lib/pjsua.h	(revision 5955)
+++ pjproject/trunk/pjsip/include/pjsua-lib/pjsua.h	(revision 5956)
@@ -7491,6 +7491,8 @@
  * application can install Null Sound Device (i.e: using
  * pjsua_set_null_snd_dev()), which will act as a master port, and instantiate
- * the sound device as extra sound device. But note that extra sound device
- * will not have auto-close upon idle feature.
+ * the sound device as extra sound device.
+ *
+ * Note that extra sound device will not have auto-close upon idle feature.
+ * Also note that currently extra sound device only supports mono channel.
  */
 typedef struct pjsua_ext_snd_dev pjsua_ext_snd_dev;
@@ -7500,5 +7502,6 @@
  * Create an extra sound device and register it to conference bridge.
  *
- * @param snd_param	Sound device port param.
+ * @param snd_param	Sound device port param. Currently this only supports
+ *			mono channel, so channel count must be set to 1.
  * @param p_snd		The extra sound device instance.
  *
Index: pjproject/trunk/pjsip/include/pjsua2/media.hpp
===================================================================
--- pjproject/trunk/pjsip/include/pjsua2/media.hpp	(revision 5955)
+++ pjproject/trunk/pjsip/include/pjsua2/media.hpp	(revision 5956)
@@ -1401,11 +1401,15 @@
 /**
  * Extra audio device. This class allows application to have multiple
- * sound device instances active concurrently. Application may also use
- * this class to improve media clock. Normally media clock is driven by
- * sound device in master port, but unfortunately some sound devices may
- * produce jittery clock. To improve media clock, application can install
- * Null Sound Device (i.e: using AudDevManager::setNullDev()), which will
- * act as a master port, and install the sound device as extra sound device.
+ * sound device instances active concurrently.
+ 
+ * Application may also use this class to improve media clock. Normally
+ * media clock is driven by sound device in master port, but unfortunately
+ * some sound devices may produce jittery clock. To improve media clock,
+ * application can install Null Sound Device (i.e: using
+ * AudDevManager::setNullDev()), which will act as a master port, and
+ * install the sound device as extra sound device.
+ *
  * Note that extra sound device will not have auto-close upon idle feature.
+ * Also note that the extra sound device only supports mono channel.
  */
 class ExtraAudioDevice : public AudioMedia
@@ -1426,6 +1430,7 @@
 
     /**
-     * Open the audio device using format (e.g.: clock rate, channel count,
-     * samples per frame) matched to the conference bridge's format.
+     * Open the audio device using format (e.g.: clock rate, bit per sample,
+     * samples per frame) matched to the conference bridge's format, except
+     * the channel count, which will be set to one (mono channel).
      */
     void open();
Index: pjproject/trunk/pjsip/src/pjsua-lib/pjsua_aud.c
===================================================================
--- pjproject/trunk/pjsip/src/pjsua-lib/pjsua_aud.c	(revision 5955)
+++ pjproject/trunk/pjsip/src/pjsua-lib/pjsua_aud.c	(revision 5956)
@@ -2388,4 +2388,5 @@
 
     PJ_ASSERT_RETURN(param && p_snd, PJ_EINVAL);
+    PJ_ASSERT_RETURN(param->base.channel_count == 1, PJMEDIA_ENCCHANNEL);
 
     pool = pjsua_pool_create("extsnd%p", 512, 512);
Index: pjproject/trunk/pjsip/src/pjsua2/media.cpp
===================================================================
--- pjproject/trunk/pjsip/src/pjsua2/media.cpp	(revision 5955)
+++ pjproject/trunk/pjsip/src/pjsua2/media.cpp	(revision 5956)
@@ -1095,6 +1095,7 @@
     param.base.rec_id = recDev;
     param.base.clock_rate = master_info.clock_rate;
-    param.base.channel_count = master_info.channel_count;
-    param.base.samples_per_frame = master_info.samples_per_frame;
+    param.base.channel_count = 1;
+    param.base.samples_per_frame = master_info.samples_per_frame /
+				   master_info.channel_count;
     param.base.bits_per_sample = master_info.bits_per_sample;
 
