mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-14 04:54:49 +00:00
rewind
This commit is contained in:
parent
9140aba9f9
commit
7ca8eec496
@ -2696,11 +2696,15 @@ void conference_video_pop_next_image(conference_member_t *member, switch_image_t
|
|||||||
switch_image_t *img = *imgP;
|
switch_image_t *img = *imgP;
|
||||||
int size = 0;
|
int size = 0;
|
||||||
void *pop;
|
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)) {
|
//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);
|
// 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)) {
|
if (switch_channel_test_flag(member->channel, CF_VIDEO_READY)) {
|
||||||
do {
|
do {
|
||||||
pop = NULL;
|
pop = NULL;
|
||||||
@ -2712,7 +2716,7 @@ void conference_video_pop_next_image(conference_member_t *member, switch_image_t
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
size = switch_queue_size(member->video_queue);
|
size = switch_queue_size(member->video_queue);
|
||||||
} while(size > 1);
|
} while(size > half);
|
||||||
|
|
||||||
if (conference_utils_member_test_flag(member, MFLAG_CAN_BE_SEEN) &&
|
if (conference_utils_member_test_flag(member, MFLAG_CAN_BE_SEEN) &&
|
||||||
member->video_layer_id > -1 &&
|
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;
|
layout_group_t *lg = NULL;
|
||||||
video_layout_t *vlayout = NULL;
|
video_layout_t *vlayout = NULL;
|
||||||
conference_member_t *omember;
|
conference_member_t *omember;
|
||||||
|
|
||||||
if (video_key_freq && (now - last_key_time) > video_key_freq) {
|
if (video_key_freq && (now - last_key_time) > video_key_freq) {
|
||||||
send_keyframe = SWITCH_TRUE;
|
send_keyframe = SWITCH_TRUE;
|
||||||
last_key_time = now;
|
last_key_time = now;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch_core_timer_next(&canvas->timer);
|
|
||||||
|
|
||||||
switch_mutex_lock(conference->member_mutex);
|
switch_mutex_lock(conference->member_mutex);
|
||||||
|
|
||||||
for (imember = conference->members; imember; imember = imember->next) {
|
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);
|
switch_thread_rwlock_unlock(omember->rwlock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for (omember = conference->members; omember; omember = omember->next) {
|
for (omember = conference->members; omember; omember = omember->next) {
|
||||||
mcu_layer_t *layer = NULL;
|
mcu_layer_t *layer = NULL;
|
||||||
switch_image_t *use_img = NULL;
|
switch_image_t *use_img = NULL;
|
||||||
|
@ -343,12 +343,8 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob
|
|||||||
members_seeing_video++;
|
members_seeing_video++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!conference_utils_test_flag(conference, CFLAG_PERSONAL_CANVAS)) {
|
if (imember->avatar_png_img && !switch_channel_test_flag(channel, CF_VIDEO)) {
|
||||||
if (imember->avatar_png_img && !switch_channel_test_flag(channel, CF_VIDEO)) {
|
members_with_avatar++;
|
||||||
members_with_avatar++;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
members_with_avatar = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conference_utils_member_test_flag(imember, MFLAG_NOMOH)) {
|
if (conference_utils_member_test_flag(imember, MFLAG_NOMOH)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user