summaryrefslogtreecommitdiff
path: root/pjmedia/src/pjmedia-audiodev
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2011-05-06 07:25:59 +0000
committerBenny Prijono <bennylp@teluu.com>2011-05-06 07:25:59 +0000
commit1a5889a3ca34568deea4fa3e6a373681dc842c29 (patch)
treefe5b3f16b76c72d7e41be830fad1edd3f082623c /pjmedia/src/pjmedia-audiodev
parentb5e82b805395fbe7d9fd804f7cf4db4748cb13c8 (diff)
Fixed #1251: Calling pjmedia_aud_subsys_shutdown() more than once may cause crash (thanks Bill Gardner for the patch)
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3559 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src/pjmedia-audiodev')
-rw-r--r--pjmedia/src/pjmedia-audiodev/audiodev.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/pjmedia/src/pjmedia-audiodev/audiodev.c b/pjmedia/src/pjmedia-audiodev/audiodev.c
index cb1ebbe2..6464f609 100644
--- a/pjmedia/src/pjmedia-audiodev/audiodev.c
+++ b/pjmedia/src/pjmedia-audiodev/audiodev.c
@@ -488,11 +488,13 @@ PJ_DEF(pj_status_t) pjmedia_aud_subsys_shutdown(void)
}
--aud_subsys.init_count;
- for (i=0; i<aud_subsys.drv_cnt; ++i) {
- deinit_driver(i);
- }
+ if (aud_subsys.init_count == 0) {
+ for (i=0; i<aud_subsys.drv_cnt; ++i) {
+ deinit_driver(i);
+ }
- aud_subsys.pf = NULL;
+ aud_subsys.pf = NULL;
+ }
return PJ_SUCCESS;
}