canvas->send_keyframe = 1;
}
- if (!conference->playing_video_file) {
- switch_core_timer_next(&canvas->timer);
- }
+
+ switch_core_timer_next(&canvas->timer);
now = switch_micro_time_now();
continue;
}
- if (conference->playing_video_file) {
- switch_core_session_rwunlock(imember->session);
- continue;
- }
-
//VIDFLOOR
if (canvas->layout_floor_id > -1 && imember->id == conference->video_floor_holder &&
imember->video_layer_id != canvas->layout_floor_id) {
layer = NULL;
+ if (conference->playing_video_file) {
+ switch_img_free(&img);
+ switch_core_session_rwunlock(imember->session);
+ continue;
+ }
+
+
switch_mutex_lock(canvas->mutex);
switch_mutex_unlock(conference->member_mutex);
} else {
-
+
if (conference->async_fnode && (conference->async_fnode->canvas_id == canvas->canvas_id || conference->async_fnode->canvas_id == -1)) {
if (conference->async_fnode->layer_id > -1) {
conference_video_patch_fnode(canvas, conference->async_fnode);
if (canvas->play_file) {
canvas->send_keyframe = 1;
canvas->play_file = 0;
-
- canvas->timer.interval = 1;
- canvas->timer.samples = 90;
}
- write_img = file_img = write_frame.img;
+ switch_img_free(&file_img);
+ file_img = write_img = write_frame.img;
switch_core_timer_sync(&canvas->timer);
timestamp = canvas->timer.samplecount;
+ } else if (file_img) {
+ write_img = file_img;
}
} else if (file_img) {
switch_img_free(&file_img);
}
-
+
write_frame.img = write_img;
wait_for_canvas(canvas);
canvas->send_keyframe = 1;
}
- if (!conference->playing_video_file) {
- switch_core_timer_next(&canvas->timer);
- }
+ switch_core_timer_next(&canvas->timer);
now = switch_micro_time_now();