Merge branch 'master' into dev_sal

This commit is contained in:
Simon Morlat 2010-02-03 13:08:42 +01:00
commit 0b065a455f
2 changed files with 31 additions and 15 deletions

View file

@ -697,7 +697,7 @@ static void codecs_config_read(LinphoneCore *lc)
static void video_config_read(LinphoneCore *lc)
{
int capture, display;
int capture, display, self_view;
int enabled;
const char *str;
int ndev;
@ -725,9 +725,10 @@ static void video_config_read(LinphoneCore *lc)
enabled=lp_config_get_int(lc->config,"video","enabled",1);
capture=lp_config_get_int(lc->config,"video","capture",enabled);
display=lp_config_get_int(lc->config,"video","display",enabled);
self_view=lp_config_get_int(lc->config,"video","self_view",enabled);
#ifdef VIDEO_ENABLED
linphone_core_enable_video(lc,capture,display);
linphone_core_enable_self_view(lc,TRUE);
linphone_core_enable_self_view(lc,self_view);
#endif
}
@ -2765,11 +2766,6 @@ void linphone_core_enable_video(LinphoneCore *lc, bool_t vcap_enabled, bool_t di
lc->video_conf.capture=vcap_enabled;
lc->video_conf.display=display_enabled;
if (lc->ready){
lp_config_set_int(lc->config,"video","display",display_enabled);
lp_config_set_int(lc->config,"video","capture",vcap_enabled);
}
/* need to re-apply network bandwidth settings*/
linphone_core_set_download_bandwidth(lc,
linphone_core_get_download_bandwidth(lc));
@ -2794,7 +2790,6 @@ bool_t linphone_core_video_enabled(LinphoneCore *lc){
**/
void linphone_core_enable_video_preview(LinphoneCore *lc, bool_t val){
lc->video_conf.show_local=val;
if (lc->ready) lp_config_set_int(lc->config,"video","show_local",val);
}
/**
@ -3149,7 +3144,12 @@ void sound_config_uninit(LinphoneCore *lc)
void video_config_uninit(LinphoneCore *lc)
{
lp_config_set_int(lc->config,"video","enabled",linphone_core_video_enabled(lc));
lp_config_set_string(lc->config,"video","size",video_size_get_name(linphone_core_get_preferred_video_size(lc)));
lp_config_set_int(lc->config,"video","display",lc->video_conf.display);
lp_config_set_int(lc->config,"video","capture",lc->video_conf.capture);
lp_config_set_int(lc->config,"video","show_local",linphone_core_video_preview_enabled(lc));
lp_config_set_int(lc->config,"video","self_view",linphone_core_self_view_enabled(lc));
}
void codecs_config_uninit(LinphoneCore *lc)

View file

@ -369,21 +369,37 @@ static void set_video_window_decorations(GdkWindow *w){
char video_title[256];
GdkPixbuf *pbuf=create_pixbuf(icon_path);
if (!linphone_core_in_call(linphone_gtk_get_core())){
snprintf(video_title,sizeof(video_title),"%s video",title);
snprintf(video_title,sizeof(video_title),"%s video",title);
/* When not in call, treat the video as a normal window */
gdk_window_set_keep_above(w, FALSE);
}else{
const LinphoneAddress *uri=linphone_core_get_remote_uri(linphone_gtk_get_core());
LinphoneAddress *uri =
linphone_address_clone(linphone_core_get_remote_uri(linphone_gtk_get_core()));
char *display_name;
if (linphone_address_get_display_name(uri)!=NULL)
linphone_address_clean(uri);
if (linphone_address_get_display_name(uri)!=NULL){
display_name=ms_strdup(linphone_address_get_display_name(uri));
else{
}else{
display_name=linphone_address_as_string(uri);
}
snprintf(video_title,sizeof(video_title),_("Call with %s"),display_name);
linphone_address_destroy(uri);
ms_free(display_name);
/* During calls, bring up the video window, arrange so that
it is above all the other windows */
gdk_window_deiconify(w);
gdk_window_set_keep_above(w,TRUE);
/* Maybe we should have the following, but then we want to
have a timer that turns it off after a little while. */
/* gdk_window_set_urgency_hint(w,TRUE); */
}
gdk_window_set_title(w,video_title);
/*gdk_window_set_urgency_hint(w,TRUE);*/
gdk_window_raise(w);
/* Refrain the video window to be closed at all times. */
gdk_window_set_functions(w,
GDK_FUNC_RESIZE|GDK_FUNC_MOVE|
GDK_FUNC_MINIMIZE|GDK_FUNC_MAXIMIZE);
if (pbuf){
GList *l=NULL;
l=g_list_append(l,pbuf);