From cfbc67a632b845289647f542a4dd0c3a38ea3d73 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Wed, 11 Oct 2006 16:03:41 +0000 Subject: Changed pjsua_media.c to try different clock rates when opening sound device git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@763 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsua-lib/pjsua_media.c | 40 ++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) (limited to 'pjsip/src') diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index 13ff542c..fabd08ca 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -44,9 +44,6 @@ pj_status_t pjsua_media_subsys_init(const pjsua_media_config *cfg) pj_memcpy(&pjsua_var.media_cfg, cfg, sizeof(*cfg)); /* Normalize configuration */ -#if defined(PJ_DARWINOS) && PJ_DARWINOS!=0 - pjsua_var.media_cfg.clock_rate = 44100; -#endif if (pjsua_var.media_cfg.has_ioqueue && pjsua_var.media_cfg.thread_cnt == 0) @@ -972,7 +969,9 @@ PJ_DEF(pj_status_t) pjsua_set_snd_dev( int capture_dev, { pjmedia_port *conf_port; const pjmedia_snd_dev_info *cap_info, *play_info; - pj_status_t status; + unsigned clock_rates[] = { 0, 22050, 44100, 48000, 11025, 32000, 8000}; + unsigned i; + pj_status_t status = -1; /* Close existing sound port */ close_snd_dev(); @@ -981,16 +980,31 @@ PJ_DEF(pj_status_t) pjsua_set_snd_dev( int capture_dev, cap_info = pjmedia_snd_get_dev_info(capture_dev); play_info = pjmedia_snd_get_dev_info(playback_dev); - PJ_LOG(4,(THIS_FILE, "Opening %s sound playback device and " - "%s sound capture device..", - play_info->name, cap_info->name)); + /* Set default clock rate */ + clock_rates[0] = pjsua_var.media_cfg.clock_rate; + + /* Attempts to open the sound device with different clock rates */ + for (i=0; i