FS-7513: blank to mute img on 2 sec with no video

This commit is contained in:
Anthony Minessale 2015-04-30 19:44:30 -05:00 committed by Michael Jerris
parent b5b3e58026
commit ed866593a7
1 changed files with 8 additions and 7 deletions

View File

@ -401,6 +401,7 @@ typedef struct mcu_layer_s {
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;
@ -410,7 +411,6 @@ typedef struct mcu_layer_s {
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 {
@ -682,6 +682,7 @@ struct conference_member {
switch_frame_buffer_t *fb;
switch_image_t *avatar_png_img;
switch_image_t *video_mute_img;
int blanks;
};
typedef enum {
@ -1030,7 +1031,7 @@ static void reset_layer(mcu_canvas_t *canvas, mcu_layer_t *layer)
layer->banner_patched = 0;
layer->is_avatar = 0;
layer->blanks = 0;
layer->blanked = 0;
if (layer->geometry.overlap) {
canvas->refresh = 1;
@ -2069,16 +2070,16 @@ static void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread
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;
}
}
}