summaryrefslogtreecommitdiff
path: root/pjmedia/src
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2012-04-25 07:13:05 +0000
committerLiong Sauw Ming <ming@teluu.com>2012-04-25 07:13:05 +0000
commit090216b600c228d3cfebb76f7d389a5557ddf79e (patch)
tree994b6935892566d2151e2323ab2a82d875089a35 /pjmedia/src
parente43fcd9c2fc0484c6a09759aa2b13b16f1d91364 (diff)
Re #1446 (misc): Fix possible crash if video ports are destroyed in the wrong order (i.e. client port must be destroyed last).
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4084 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src')
-rw-r--r--pjmedia/src/test/vid_codec_test.c10
-rw-r--r--pjmedia/src/test/vid_dev_test.c4
-rw-r--r--pjmedia/src/test/vid_port_test.c4
3 files changed, 13 insertions, 5 deletions
diff --git a/pjmedia/src/test/vid_codec_test.c b/pjmedia/src/test/vid_codec_test.c
index a4a5baaa..0b493f74 100644
--- a/pjmedia/src/test/vid_codec_test.c
+++ b/pjmedia/src/test/vid_codec_test.c
@@ -417,14 +417,14 @@ on_return:
if (status != PJ_SUCCESS) {
PJ_PERROR(3, (THIS_FILE, status, " error"));
}
- if (capture) {
+ if (capture)
pjmedia_vid_port_stop(capture);
- pjmedia_vid_port_destroy(capture);
- }
- if (renderer) {
+ if (renderer)
pjmedia_vid_port_stop(renderer);
+ if (capture)
+ pjmedia_vid_port_destroy(capture);
+ if (renderer)
pjmedia_vid_port_destroy(renderer);
- }
if (codec) {
pjmedia_event_unsubscribe(NULL, &codec_on_event, &codec_port_data,
codec);
diff --git a/pjmedia/src/test/vid_dev_test.c b/pjmedia/src/test/vid_dev_test.c
index 35206fb7..f991bb54 100644
--- a/pjmedia/src/test/vid_dev_test.c
+++ b/pjmedia/src/test/vid_dev_test.c
@@ -191,6 +191,10 @@ on_return:
PJ_PERROR(3, (THIS_FILE, status, " error"));
if (capture)
+ pjmedia_vid_port_stop(capture);
+ if (renderer)
+ pjmedia_vid_port_stop(renderer);
+ if (capture)
pjmedia_vid_port_destroy(capture);
if (renderer) {
pjmedia_event_unsubscribe(NULL, &vid_event_cb, NULL, renderer);
diff --git a/pjmedia/src/test/vid_port_test.c b/pjmedia/src/test/vid_port_test.c
index 634f612f..542d2663 100644
--- a/pjmedia/src/test/vid_port_test.c
+++ b/pjmedia/src/test/vid_port_test.c
@@ -148,6 +148,10 @@ on_return:
PJ_PERROR(3, (THIS_FILE, status, " error"));
if (capture)
+ pjmedia_vid_port_stop(capture);
+ if (renderer)
+ pjmedia_vid_port_stop(renderer);
+ if (capture)
pjmedia_vid_port_destroy(capture);
if (renderer) {
pjmedia_event_unsubscribe(NULL, &vid_event_cb, NULL, renderer);