]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8057: [core] fix segfault when doing video call when built against libyuv but...
authorMichael Jerris <mike@jerris.com>
Wed, 26 Aug 2015 22:24:56 +0000 (17:24 -0500)
committerMichael Jerris <mike@jerris.com>
Wed, 26 Aug 2015 22:24:56 +0000 (17:24 -0500)
src/switch_core_media.c

index 0d4cad757a4ef765f59c875068777086036793ba..00a71e710b6d72f7e518feeb671b474e5366a9d8 100644 (file)
@@ -4949,8 +4949,9 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi
 
        if (!blank_img) {
                switch_color_set_rgb(&bgcolor, "#000000");
-               blank_img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, 352, 288, 1);
-               switch_img_fill(blank_img, 0, 0, blank_img->d_w, blank_img->d_h, &bgcolor);
+               if ((blank_img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, 352, 288, 1))) {
+                       switch_img_fill(blank_img, 0, 0, blank_img->d_w, blank_img->d_h, &bgcolor);
+               }
        }
        
 
@@ -5078,7 +5079,7 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi
                        send_blank = 1;
                }
 
-               if ((send_blank || switch_channel_test_flag(channel, CF_VIDEO_BLANK)) && !session->video_read_callback) {
+               if (blank_img && (send_blank || switch_channel_test_flag(channel, CF_VIDEO_BLANK)) && !session->video_read_callback) {
                        fr.img = blank_img;
                        switch_yield(10000);
                        switch_core_session_write_video_frame(session, &fr, SWITCH_IO_FLAG_FORCE, 0);