From baf4adfa3f4c6373b2d31b6af4dbd36d1a2d0c7e Mon Sep 17 00:00:00 2001 From: Liong Sauw Ming Date: Fri, 3 Feb 2012 07:56:12 +0000 Subject: Re #1446 (misc fix): Fix crash problem due to uninitialized list when SDL creation failed git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3949 74dad513-b988-da41-8d7b-12977e46ad98 --- pjmedia/src/pjmedia-videodev/sdl_dev.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/pjmedia/src/pjmedia-videodev/sdl_dev.c b/pjmedia/src/pjmedia-videodev/sdl_dev.c index d54b4418..c6d68746 100644 --- a/pjmedia/src/pjmedia-videodev/sdl_dev.c +++ b/pjmedia/src/pjmedia-videodev/sdl_dev.c @@ -914,22 +914,20 @@ static pj_status_t sdl_factory_create_stream( strm->pool = pool; strm->sf = sf; pj_memcpy(&strm->vid_cb, cb, sizeof(*cb)); + pj_list_init(&strm->list_entry); + strm->list_entry.stream = strm; strm->user_data = user_data; /* Create render stream here */ - if (param->dir & PJMEDIA_DIR_RENDER) { - job_queue_post_job(sf->jq, sdl_create, strm, 0, &status); - if (status != PJ_SUCCESS) { - goto on_error; - } - pj_list_init(&strm->list_entry); - strm->list_entry.stream = strm; - pj_mutex_lock(strm->sf->mutex); - if (pj_list_empty(&strm->sf->streams)) - pj_sem_post(strm->sf->sem); - pj_list_insert_after(&strm->sf->streams, &strm->list_entry); - pj_mutex_unlock(strm->sf->mutex); + job_queue_post_job(sf->jq, sdl_create, strm, 0, &status); + if (status != PJ_SUCCESS) { + goto on_error; } + pj_mutex_lock(strm->sf->mutex); + if (pj_list_empty(&strm->sf->streams)) + pj_sem_post(strm->sf->sem); + pj_list_insert_after(&strm->sf->streams, &strm->list_entry); + pj_mutex_unlock(strm->sf->mutex); /* Apply the remaining settings */ if (param->flags & PJMEDIA_VID_DEV_CAP_OUTPUT_POSITION) { -- cgit v1.2.3