]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
rewind
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 30 Mar 2018 16:36:22 +0000 (11:36 -0500)
committerMuteesa Fred <muteesafred@hotmail.com>
Tue, 24 Jul 2018 07:21:44 +0000 (07:21 +0000)
src/mod/applications/mod_conference/conference_video.c
src/mod/applications/mod_conference/mod_conference.c

index 7259fdb60ffe68e5bdec0aecb3afb77461a5461c..a324cb504f6d70ec8c5c46625a3c9f02a25d45a0 100644 (file)
@@ -2696,11 +2696,15 @@ void conference_video_pop_next_image(conference_member_t *member, switch_image_t
        switch_image_t *img = *imgP;
        int size = 0;
        void *pop;
+       int half;
        //if (member->avatar_png_img && switch_channel_test_flag(member->channel, CF_VIDEO_READY) && conference_utils_member_test_flag(member, MFLAG_ACK_VIDEO)) {
        //      switch_img_free(&member->avatar_png_img);
        //}
 
-
+       if ((half = switch_queue_size(member->video_queue) / 2) < 1) {
+               half = 1;
+       }
+       
        if (switch_channel_test_flag(member->channel, CF_VIDEO_READY)) {
                do {
                        pop = NULL;
@@ -2712,7 +2716,7 @@ void conference_video_pop_next_image(conference_member_t *member, switch_image_t
                                break;
                        }
                        size = switch_queue_size(member->video_queue);
-               } while(size > 1);
+               } while(size > half);
 
                if (conference_utils_member_test_flag(member, MFLAG_CAN_BE_SEEN) &&
                        member->video_layer_id > -1 &&
@@ -3543,14 +3547,12 @@ void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread_t *thr
                        layout_group_t *lg = NULL;
                        video_layout_t *vlayout = NULL;
                        conference_member_t *omember;
-                       
+
                        if (video_key_freq && (now - last_key_time) > video_key_freq) {
                                send_keyframe = SWITCH_TRUE;
                                last_key_time = now;
                        }
 
-                       switch_core_timer_next(&canvas->timer);
-                       
                        switch_mutex_lock(conference->member_mutex);
 
                        for (imember = conference->members; imember; imember = imember->next) {
@@ -3695,7 +3697,8 @@ void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread_t *thr
                                                switch_thread_rwlock_unlock(omember->rwlock);
                                        }
                                }
-                               
+
+
                                for (omember = conference->members; omember; omember = omember->next) {
                                        mcu_layer_t *layer = NULL;
                                        switch_image_t *use_img = NULL;
index dc77c4312bd6dd75d3a21e0e828af17ece7f1a4c..7ca2215e627727599a2508eb1e4aa0e21f04f1bd 100644 (file)
@@ -343,12 +343,8 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob
                                        members_seeing_video++;
                                }
 
-                               if (!conference_utils_test_flag(conference, CFLAG_PERSONAL_CANVAS)) {
-                                       if (imember->avatar_png_img && !switch_channel_test_flag(channel, CF_VIDEO)) {
-                                               members_with_avatar++;
-                                       }
-                               } else {
-                                       members_with_avatar = 0;
+                               if (imember->avatar_png_img && !switch_channel_test_flag(channel, CF_VIDEO)) {
+                                       members_with_avatar++;
                                }
 
                                if (conference_utils_member_test_flag(imember, MFLAG_NOMOH)) {