FS-7893 --resolve

This commit is contained in:
Anthony Minessale 2015-07-25 12:52:41 -05:00
parent 8e1b2eab7b
commit 75e46cedb8
1 changed files with 8 additions and 3 deletions

View File

@ -1360,14 +1360,17 @@ void *SWITCH_THREAD_FUNC conference_video_muxing_write_thread_run(switch_thread_
{
conference_member_t *member = (conference_member_t *) obj;
void *pop;
int loops = 0;
int loops = 0, done = 0;
while(conference_utils_member_test_flag(member, MFLAG_RUNNING) || switch_queue_size(member->mux_out_queue)) {
switch_frame_t *frame;
if (conference_utils_member_test_flag(member, MFLAG_RUNNING)) {
if (conference_utils_member_test_flag(member, MFLAG_RUNNING) && !done) {
if (switch_queue_pop(member->mux_out_queue, &pop) == SWITCH_STATUS_SUCCESS) {
if (!pop) continue;
if (!pop) {
done = 1;
continue;
}
if (loops == 0 || loops == 50) {
switch_core_media_gen_key_frame(member->session);
@ -1391,6 +1394,8 @@ void *SWITCH_THREAD_FUNC conference_video_muxing_write_thread_run(switch_thread_
frame = (switch_frame_t *) pop;
switch_frame_buffer_free(member->fb, &frame);
}
} else {
if (done) break;
}
}
}