summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2008-11-12 10:48:05 +0000
committerNanang Izzuddin <nanang@teluu.com>2008-11-12 10:48:05 +0000
commitcd545df789ac54b3da5d564bfc09c48aa771e482 (patch)
treeb691b52feaa9d6cedfdd9708dee0e5c8bfb7ed3d
parenta13ddbd83df271feea659ed53cf787688a71f9c8 (diff)
Fixed bug of unresetted static var dev_info that caused device name gets repeated on second call or soon of snd_init() (thanks Steven Back for the report).
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2366 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/src/pjmedia/wmme_sound.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia/wmme_sound.c b/pjmedia/src/pjmedia/wmme_sound.c
index 298a1b17..8f94660c 100644
--- a/pjmedia/src/pjmedia/wmme_sound.c
+++ b/pjmedia/src/pjmedia/wmme_sound.c
@@ -40,7 +40,7 @@ struct wmme_dev_info
static unsigned dev_count;
static struct wmme_dev_info dev_info[MAX_HARDWARE];
-static int snd_init_count;
+static pj_bool_t snd_initialized = PJ_FALSE;
/* Latency settings */
static unsigned snd_input_latency = PJMEDIA_SND_DEFAULT_REC_LATENCY;
@@ -483,9 +483,11 @@ PJ_DEF(pj_status_t) pjmedia_snd_init(pj_pool_factory *factory)
int i;
int inputDeviceCount, outputDeviceCount, maximumPossibleDeviceCount;
- if (++snd_init_count != 1)
+ if (snd_initialized)
return PJ_SUCCESS;
+ pj_bzero(&dev_info, sizeof(dev_info));
+
dev_count = 0;
pool_factory = factory;
@@ -617,7 +619,7 @@ PJ_DEF(pj_status_t) pjmedia_snd_init(pj_pool_factory *factory)
*/
PJ_DEF(pj_status_t) pjmedia_snd_deinit(void)
{
- --snd_init_count;
+ snd_initialized = PJ_FALSE;
return PJ_SUCCESS;
}