From a73952cecaa81dacfbb969bb5d1625cda7f7e438 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 29 Jun 2015 16:06:13 -0500 Subject: [PATCH] FS-7726 #resolve --- src/switch_core_media.c | 14 +++++++++----- src/switch_core_media_bug.c | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 9f2550a646..20342e2619 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -10495,12 +10495,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor prune++; } - - switch_thread_rwlock_unlock(session->bug_rwlock); - if (prune) { - switch_core_media_bug_prune(session); - } } + + switch_thread_rwlock_unlock(session->bug_rwlock); + + if (prune) { + switch_core_media_bug_prune(session); + } + } write_frame = *frame; @@ -10723,7 +10725,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core prune++; } } + switch_thread_rwlock_unlock(session->bug_rwlock); + if (prune) { switch_core_media_bug_prune(session); } diff --git a/src/switch_core_media_bug.c b/src/switch_core_media_bug.c index 83e0e99816..823bfeb8cb 100644 --- a/src/switch_core_media_bug.c +++ b/src/switch_core_media_bug.c @@ -789,7 +789,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_add(switch_core_session_t bug->thread_id = switch_thread_self(); } - if (switch_test_flag(bug, SMBF_READ_VIDEO_STREAM) || switch_test_flag(bug, SMBF_WRITE_VIDEO_STREAM) || switch_test_flag(bug, SMBF_WRITE_VIDEO_PING)) { + if (switch_test_flag(bug, SMBF_READ_VIDEO_STREAM) || switch_test_flag(bug, SMBF_WRITE_VIDEO_STREAM) || switch_test_flag(bug, SMBF_READ_VIDEO_PING) || switch_test_flag(bug, SMBF_WRITE_VIDEO_PING)) { switch_channel_set_flag_recursive(session->channel, CF_VIDEO_DECODED_READ); } @@ -1148,7 +1148,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_close(switch_media_bug_t * bp->callback(bp, bp->user_data, SWITCH_ABC_TYPE_CLOSE); } - if (switch_test_flag(bp, SMBF_READ_VIDEO_STREAM) || switch_test_flag(bp, SMBF_WRITE_VIDEO_STREAM) || switch_test_flag(bp, SMBF_WRITE_VIDEO_PING)) { + if (switch_test_flag(bp, SMBF_READ_VIDEO_STREAM) || switch_test_flag(bp, SMBF_WRITE_VIDEO_STREAM) || switch_test_flag(bp, SMBF_READ_VIDEO_PING) || switch_test_flag(bp, SMBF_WRITE_VIDEO_PING)) { switch_channel_clear_flag_recursive(bp->session->channel, CF_VIDEO_DECODED_READ); }