]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8595 contd
authorAnthony Minessale <anthm@freeswitch.org>
Wed, 16 Dec 2015 20:05:30 +0000 (14:05 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Wed, 16 Dec 2015 20:05:30 +0000 (14:05 -0600)
src/mod/applications/mod_conference/conference_video.c
src/mod/applications/mod_conference/mod_conference.h

index a63ca22d93115e668c88404f0a437c2b5036cfe4..d032f1eda655cb56079b242e6ec3644fead5087a 100644 (file)
@@ -1920,6 +1920,12 @@ void conference_video_check_auto_bitrate(conference_member_t *member, mcu_layer_
        if (!switch_channel_test_flag(member->channel, CF_VIDEO_READY) || !vid_params.width || !vid_params.height) {
                return;
        }
+       
+       if (vid_params.width != member->vid_params.width || vid_params.height != member->vid_params.height) {
+               member->managed_kps = 0;
+       }
+
+       member->vid_params = vid_params;
 
        if (switch_channel_test_flag(member->channel, CF_VIDEO_BITRATE_UNMANAGABLE)) {
                member->managed_kps = 0;
@@ -1929,7 +1935,7 @@ void conference_video_check_auto_bitrate(conference_member_t *member, mcu_layer_
                int min = 0;
 
                kps = switch_calc_bitrate(layer->screen_w, layer->screen_h, member->conference->video_quality, (int)(member->conference->video_fps.fps));
-               min = kps / 4;
+               min = switch_calc_bitrate(vid_params.width, vid_params.height, member->conference->video_quality, (int)(member->conference->video_fps.fps)) / 4;
                
                if (member->conference->max_bw_in) {
                        max = member->conference->max_bw_in;
index 9f0473b30e2769256c55b5d80d8d15f243904a0d..5da0298982943af000fb8a4b1ec5b5007a1b6b38 100644 (file)
@@ -748,6 +748,7 @@ struct conference_member {
        char *video_logo;
        char *video_mute_png;
        char *video_reservation_id;
+       switch_vid_params_t vid_params;
        switch_frame_buffer_t *fb;
        switch_image_t *avatar_png_img;
        switch_image_t *video_mute_img;