diff --git a/coreapi/linphonecall.c b/coreapi/linphonecall.c index 15b1aa723..f4bc4f4d7 100644 --- a/coreapi/linphonecall.c +++ b/coreapi/linphonecall.c @@ -1092,7 +1092,9 @@ static void linphone_call_start_video_stream(LinphoneCall *call, const char *cna bool_t is_inactive=FALSE; call->current_params.has_video=TRUE; - + + video_stream_enable_adaptive_bitrate_control(call->videostream, + linphone_core_adaptive_rate_control_enabled(lc)); video_stream_set_sent_video_size(call->videostream,linphone_core_get_preferred_video_size(lc)); video_stream_enable_self_view(call->videostream,lc->video_conf.selfview); if (lc->video_window_id!=0) diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 3a21ae701..8f3986a17 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -814,7 +814,7 @@ void linphone_core_enable_adaptive_rate_control(LinphoneCore *lc, bool_t enabled * See linphone_core_enable_adaptive_rate_control(). **/ bool_t linphone_core_adaptive_rate_control_enabled(const LinphoneCore *lc){ - return lp_config_get_int(lc->config,"net","adaptive_rate_control",FALSE); + return lp_config_get_int(lc->config,"net","adaptive_rate_control",TRUE); } bool_t linphone_core_rtcp_enabled(const LinphoneCore *lc){ diff --git a/gtk/parameters.ui b/gtk/parameters.ui index 9af426212..ce9373dae 100644 --- a/gtk/parameters.ui +++ b/gtk/parameters.ui @@ -1,7 +1,6 @@ - 500 3001 @@ -214,8 +213,6 @@ True False False - True - True adjustment1 @@ -334,8 +331,6 @@ True False False - True - True adjustment7 @@ -353,8 +348,6 @@ True False False - True - True adjustment2 @@ -374,8 +367,6 @@ True False False - True - True adjustment3 @@ -515,8 +506,6 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False False - True - True @@ -587,8 +576,6 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False False - True - True @@ -756,8 +743,6 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False False - True - True @@ -1108,8 +1093,6 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False False - True - True @@ -1148,8 +1131,6 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False False - True - True @@ -1167,8 +1148,6 @@ False False False - True - True 1 @@ -1220,13 +1199,14 @@ True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - automatic - automatic True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + @@ -1638,8 +1618,6 @@ virtual network ! True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - automatic - automatic out @@ -1647,6 +1625,9 @@ virtual network ! True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True + + + @@ -1843,7 +1824,7 @@ virtual network ! True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 2 + 3 2 @@ -1853,8 +1834,6 @@ virtual network ! 0 stands for "unlimited" False False - True - True adjustment5 @@ -1863,6 +1842,8 @@ virtual network ! 2 1 2 + GTK_FILL + @@ -1873,14 +1854,14 @@ virtual network ! 0 stands for "unlimited" False False - True - True adjustment6 1 2 + GTK_FILL + GTK_EXPAND @@ -1905,6 +1886,41 @@ virtual network ! right + + + Enable adaptive rate control + True + True + False + False + 0 + True + + + + 1 + 2 + 2 + 3 + GTK_FILL + + + + + + True + False + <i>Adaptive rate control is a technique to dynamically guess the available bandwidth during a call.</i> + True + True + + + 2 + 3 + GTK_FILL + + + diff --git a/gtk/propertybox.c b/gtk/propertybox.c index 193541029..78a8ca423 100644 --- a/gtk/propertybox.c +++ b/gtk/propertybox.c @@ -453,6 +453,11 @@ void linphone_gtk_upload_bw_changed(GtkWidget *w){ linphone_gtk_check_codec_bandwidth(v); } +void linphone_gtk_adaptive_rate_control_toggled(GtkToggleButton *button){ + gboolean active=gtk_toggle_button_get_active(button); + linphone_core_enable_adaptive_rate_control(linphone_gtk_get_core(),active); +} + static void linphone_gtk_codec_move(GtkWidget *button, int dir){ GtkTreeView *v=GTK_TREE_VIEW(linphone_gtk_get_widget(gtk_widget_get_toplevel(button),"codec_list")); GtkTreeSelection *sel=gtk_tree_view_get_selection(v); @@ -899,6 +904,8 @@ void linphone_gtk_show_parameters(void){ linphone_core_get_download_bandwidth(lc)); gtk_spin_button_set_value(GTK_SPIN_BUTTON(linphone_gtk_get_widget(pb,"upload_bw")), linphone_core_get_upload_bandwidth(lc)); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(pb,"adaptive_rate_control")), + linphone_core_adaptive_rate_control_enabled(lc)); /* UI CONFIG */ diff --git a/mediastreamer2 b/mediastreamer2 index 3e62df330..954911c0d 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit 3e62df330823c9efefaf314e894a6a7867f9ff76 +Subproject commit 954911c0dbdf7351cd82df70d0999a84d163db7f diff --git a/oRTP b/oRTP index 0a878baa1..3256179b9 160000 --- a/oRTP +++ b/oRTP @@ -1 +1 @@ -Subproject commit 0a878baa150133e35acdfb7082ccc99a54be41fe +Subproject commit 3256179b911975ce7d3556f8e2c00b21881a84d2