Closed #1275: Change pjmedia_vid_subsys_xx() to pjmedia_vid_dev_subsys_xx()
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3579 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjmedia/src/pjmedia-videodev/videodev.c b/pjmedia/src/pjmedia-videodev/videodev.c
index af298ae..4741a40 100644
--- a/pjmedia/src/pjmedia-videodev/videodev.c
+++ b/pjmedia/src/pjmedia-videodev/videodev.c
@@ -104,7 +104,7 @@
int rend_dev_idx; /* Default render device */
};
-/* The video subsystem */
+/* The video device subsystem */
static struct vid_subsys
{
unsigned init_count; /* How many times init() is called */
@@ -308,8 +308,8 @@
drv->rend_dev_idx = drv->cap_dev_idx = -1;
}
-/* API: Initialize the video subsystem. */
-PJ_DEF(pj_status_t) pjmedia_vid_subsys_init(pj_pool_factory *pf)
+/* API: Initialize the video device subsystem. */
+PJ_DEF(pj_status_t) pjmedia_vid_dev_subsys_init(pj_pool_factory *pf)
{
unsigned i;
pj_status_t status = PJ_SUCCESS;
@@ -366,7 +366,7 @@
return vid_subsys.dev_cnt ? PJ_SUCCESS : status;
}
-/* API: register an video device factory to the video subsystem. */
+/* API: register a video device factory to the video device subsystem. */
PJ_DEF(pj_status_t)
pjmedia_vid_register_factory(pjmedia_vid_dev_factory_create_func_ptr adf)
{
@@ -386,7 +386,7 @@
return status;
}
-/* API: unregister an video device factory from the video subsystem. */
+/* API: unregister a video device factory from the video device subsystem. */
PJ_DEF(pj_status_t)
pjmedia_vid_unregister_factory(pjmedia_vid_dev_factory_create_func_ptr adf)
{
@@ -413,14 +413,14 @@
return PJMEDIA_EVID_ERR;
}
-/* API: get the pool factory registered to the video subsystem. */
-PJ_DEF(pj_pool_factory*) pjmedia_vid_subsys_get_pool_factory(void)
+/* API: get the pool factory registered to the video device subsystem. */
+PJ_DEF(pj_pool_factory*) pjmedia_vid_dev_subsys_get_pool_factory(void)
{
return vid_subsys.pf;
}
-/* API: Shutdown the video subsystem. */
-PJ_DEF(pj_status_t) pjmedia_vid_subsys_shutdown(void)
+/* API: Shutdown the video device subsystem. */
+PJ_DEF(pj_status_t) pjmedia_vid_dev_subsys_shutdown(void)
{
unsigned i;
@@ -432,11 +432,13 @@
}
--vid_subsys.init_count;
- for (i=0; i<vid_subsys.drv_cnt; ++i) {
- deinit_driver(i);
- }
+ if (vid_subsys.init_count == 0) {
+ for (i=0; i<vid_subsys.drv_cnt; ++i) {
+ deinit_driver(i);
+ }
- vid_subsys.pf = NULL;
+ vid_subsys.pf = NULL;
+ }
return PJ_SUCCESS;
}
diff --git a/pjmedia/src/test/vid_codec_test.c b/pjmedia/src/test/vid_codec_test.c
index a7a4ce8..8f5a467 100644
--- a/pjmedia/src/test/vid_codec_test.c
+++ b/pjmedia/src/test/vid_codec_test.c
@@ -417,7 +417,7 @@
pool = pj_pool_create(mem, "Vid codec test", 256, 256, 0);
- status = pjmedia_vid_subsys_init(mem);
+ status = pjmedia_vid_dev_subsys_init(mem);
if (status != PJ_SUCCESS)
return -10;
@@ -435,7 +435,7 @@
on_return:
pjmedia_codec_ffmpeg_deinit();
- pjmedia_vid_subsys_shutdown();
+ pjmedia_vid_dev_subsys_shutdown();
pj_pool_release(pool);
pj_log_set_level(orig_log_level);
diff --git a/pjmedia/src/test/vid_dev_test.c b/pjmedia/src/test/vid_dev_test.c
index 77d63a2..7d484a8 100644
--- a/pjmedia/src/test/vid_dev_test.c
+++ b/pjmedia/src/test/vid_dev_test.c
@@ -276,7 +276,7 @@
int rc = 0;
pj_status_t status;
- status = pjmedia_vid_subsys_init(mem);
+ status = pjmedia_vid_dev_subsys_init(mem);
if (status != PJ_SUCCESS)
return -10;
@@ -289,7 +289,7 @@
goto on_return;
on_return:
- pjmedia_vid_subsys_shutdown();
+ pjmedia_vid_dev_subsys_shutdown();
return rc;
}