diff options
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_vid.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c index d231b079..38b77f22 100644 --- a/pjsip/src/pjsua-lib/pjsua_vid.c +++ b/pjsip/src/pjsua-lib/pjsua_vid.c @@ -64,21 +64,21 @@ pj_status_t pjsua_vid_subsys_init(void) goto on_error; } - status = pjmedia_vid_dev_subsys_init(&pjsua_var.cp.factory); +#if PJMEDIA_HAS_VIDEO && PJMEDIA_HAS_FFMPEG_CODEC + status = pjmedia_codec_ffmpeg_init(NULL, &pjsua_var.cp.factory); if (status != PJ_SUCCESS) { PJ_PERROR(1,(THIS_FILE, status, - "Error creating PJMEDIA video subsystem")); + "Error initializing ffmpeg library")); goto on_error; } +#endif -#if PJMEDIA_HAS_VIDEO && PJMEDIA_HAS_FFMPEG_CODEC - status = pjmedia_codec_ffmpeg_init(NULL, &pjsua_var.cp.factory); + status = pjmedia_vid_dev_subsys_init(&pjsua_var.cp.factory); if (status != PJ_SUCCESS) { PJ_PERROR(1,(THIS_FILE, status, - "Error initializing ffmpeg library")); + "Error creating PJMEDIA video subsystem")); goto on_error; } -#endif for (i=0; i<PJSUA_MAX_VID_WINS; ++i) { if (pjsua_var.win[i].pool == NULL) { @@ -121,9 +121,18 @@ pj_status_t pjsua_vid_subsys_destroy(void) pjmedia_vid_dev_subsys_shutdown(); #if PJMEDIA_HAS_FFMPEG_CODEC - pjmedia_codec_ffmpeg_deinit(); + pjmedia_codec_ffmpeg_deinit(); #endif + if (pjmedia_vid_codec_mgr_instance()) + pjmedia_vid_codec_mgr_destroy(NULL); + + if (pjmedia_converter_mgr_instance()) + pjmedia_converter_mgr_destroy(NULL); + + if (pjmedia_video_format_mgr_instance()) + pjmedia_video_format_mgr_destroy(NULL); + pj_log_pop_indent(); return PJ_SUCCESS; } |