From e7397a896eb6c0420dd6de561f7259ed863234aa Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 18 May 2017 16:30:20 -0500 Subject: [PATCH] FS-10249: [mod_av] Audio gradually falls behind video in recordings #resolve --- src/switch_core_media_bug.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/switch_core_media_bug.c b/src/switch_core_media_bug.c index cd6ea89846..83296481bb 100644 --- a/src/switch_core_media_bug.c +++ b/src/switch_core_media_bug.c @@ -577,10 +577,9 @@ static void *SWITCH_THREAD_FUNC video_bug_thread(switch_thread_t *thread, void * switch_status_t status; int w = 0, h = 0, ok = 1; + flush_video_queue(main_q, 1); if ((status = switch_queue_pop(main_q, &pop)) == SWITCH_STATUS_SUCCESS) { - switch_img_free(&img); - if (!pop) { goto end; } @@ -589,12 +588,11 @@ static void *SWITCH_THREAD_FUNC video_bug_thread(switch_thread_t *thread, void * w = img->d_w; h = img->d_h; - + if (other_q) { flush_video_queue(other_q, 1); - if ((status = switch_queue_trypop(other_q, &other_pop)) == SWITCH_STATUS_SUCCESS) { - switch_img_free(&other_img); + if ((status = switch_queue_pop(other_q, &other_pop)) == SWITCH_STATUS_SUCCESS) { if (!(other_img = (switch_image_t *) other_pop)) { goto end; } @@ -621,6 +619,7 @@ static void *SWITCH_THREAD_FUNC video_bug_thread(switch_thread_t *thread, void * if (other_img) { switch_img_patch(IMG, other_img, w / 2, 0); + switch_img_free(&other_img); } } @@ -634,6 +633,7 @@ static void *SWITCH_THREAD_FUNC video_bug_thread(switch_thread_t *thread, void * } } bug->video_ping_frame = NULL; + switch_img_free(&img); switch_thread_rwlock_unlock(bug->session->bug_rwlock); if (!ok) {