int mute_patched;
int refresh;
int is_avatar;
+ int blanked;
switch_img_position_t logo_pos;
switch_image_t *img;
switch_image_t *cur_img;
switch_image_t *mute_img;
switch_img_txt_handle_t *txthandle;
conference_file_node_t *fnode;
- int blanks;
} mcu_layer_t;
typedef struct video_layout_s {
switch_frame_buffer_t *fb;
switch_image_t *avatar_png_img;
switch_image_t *video_mute_img;
+ int blanks;
};
typedef enum {
layer->banner_patched = 0;
layer->is_avatar = 0;
- layer->blanks = 0;
+ layer->blanked = 0;
if (layer->geometry.overlap) {
canvas->refresh = 1;
if (switch_core_media_bug_count(imember->session, "patch:video")) {
layer->bugged = 1;
}
- layer->blanks = 0;
+ imember->blanks = 0;
} else {
- layer->blanks++;
+ imember->blanks++;
- if (layer->blanks == 15 && imember->video_mute_img) {
+ if (imember->video_mute_img && (imember->blanks == conference->video_fps.fps * 2 ||
+ imember->blanks >= conference->video_fps.fps * 2) && !layer->blanked) {
switch_img_free(&layer->cur_img);
switch_img_copy(imember->video_mute_img, &layer->cur_img);
layer->tagged = 1;
- } else if (layer->cur_img) {
- layer->tagged = 1;
+ layer->blanked = 1;
}
}
}