summaryrefslogtreecommitdiff
path: root/pjmedia/src
diff options
context:
space:
mode:
Diffstat (limited to 'pjmedia/src')
-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;
}