diff options
author | Benny Prijono <bennylp@teluu.com> | 2012-06-21 08:09:53 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2012-06-21 08:09:53 +0000 |
commit | b1eca09ffbec5ba011743bfee90cdeabf545b16b (patch) | |
tree | 815c11b1f39e1f8a70b34c93dfeae02fddff8f8e /pjsip-apps | |
parent | 8f176cf7c8af5c681b7b616500b6eb32adb28887 (diff) |
Fixed #1541: Crash in third party media sample application after library is restarted
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4174 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r-- | pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c | 7 | ||||
-rw-r--r-- | pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c | 10 |
2 files changed, 13 insertions, 4 deletions
diff --git a/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c b/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c index 5bf80ae5..2b85421e 100644 --- a/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c +++ b/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c @@ -224,7 +224,7 @@ static void timer_to_send_aud_rtp(void *user_data) pjsua_call_media *call_med = (pjsua_call_media*) user_data; const char *pkt = "Not RTP packet"; - if (call_med->call->inv == NULL) { + if (!call_med->call || !call_med->call->inv || !call_med->tp) { /* Call has been disconnected. There is race condition here as * this cb may be called sometime after call has been disconnected */ return; @@ -240,7 +240,7 @@ static void timer_to_send_aud_rtcp(void *user_data) pjsua_call_media *call_med = (pjsua_call_media*) user_data; const char *pkt = "Not RTCP packet"; - if (call_med->call->inv == NULL) { + if (!call_med->call || !call_med->call->inv || !call_med->tp) { /* Call has been disconnected. There is race condition here as * this cb may be called sometime after call has been disconnected */ return; @@ -301,6 +301,9 @@ on_return: return status; } +void pjsua_check_snd_dev_idle() +{ +} /***************************************************************************** * diff --git a/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c b/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c index e10131f5..aac10e65 100644 --- a/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c +++ b/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c @@ -234,6 +234,12 @@ pj_status_t pjsua_vid_subsys_start(void) /* Cleanup and deinitialize the video library */ pj_status_t pjsua_vid_subsys_destroy(void) { + if (pjmedia_vid_codec_mgr_instance()) + pjmedia_vid_codec_mgr_destroy(NULL); + + if (pjmedia_video_format_mgr_instance()) + pjmedia_video_format_mgr_destroy(NULL); + /* * TODO: put your 3rd party library cleanup routine here */ @@ -291,7 +297,7 @@ static void timer_to_send_vid_rtp(void *user_data) pjsua_call_media *call_med = (pjsua_call_media*) user_data; const char *pkt = "Not RTP packet"; - if (call_med->call->inv == NULL) { + if (!call_med->call || !call_med->call->inv || !call_med->tp) { /* Call has been disconnected. There is race condition here as * this cb may be called sometime after call has been disconnected */ return; @@ -307,7 +313,7 @@ static void timer_to_send_vid_rtcp(void *user_data) pjsua_call_media *call_med = (pjsua_call_media*) user_data; const char *pkt = "Not RTCP packet"; - if (call_med->call->inv == NULL) { + if (!call_med->call || !call_med->call->inv || !call_med->tp) { /* Call has been disconnected. There is race condition here as * this cb may be called sometime after call has been disconnected */ return; |