diff --git a/console/linphonec.c b/console/linphonec.c index e0321089b4dd9abadb1aa422fa85987c7c20af13..7d5c0cdd2da291a94dcd816095d2e9202b045775 100644 --- a/console/linphonec.c +++ b/console/linphonec.c @@ -966,6 +966,8 @@ static void lpc_apply_video_params(){ #ifdef HAVE_X11_XLIB_H if (lpc_video_params.wid==0){ // do not manage window if embedded x11_apply_video_params(&lpc_video_params,wid); + } else { + linphone_core_show_video(linphonec, lpc_video_params.show); } #endif } @@ -1265,6 +1267,7 @@ linphonec_parse_cmdline(int argc, char **argv) if (arg_num < argc) { char *tmp; window_id = strtol( argv[arg_num], &tmp, 0 ); + lpc_video_params.wid = window_id; } } else if (old_arg_num == arg_num) diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 33c168522498166fd64680f07eb1235cac48ac3a..d2ef423644933f34a6dd9c8b2059af53b30a5ef4 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -1966,6 +1966,16 @@ void linphone_core_start_refered_call(LinphoneCore *lc, LinphoneCall *call){ LinphoneProxyConfig * linphone_core_lookup_known_proxy(LinphoneCore *lc, const LinphoneAddress *uri){ const MSList *elem; LinphoneProxyConfig *found_cfg=NULL; + LinphoneProxyConfig *default_cfg=lc->default_proxy; + + /*always prefer the default proxy if it is matching the destination uri*/ + if (default_cfg){ + const char *domain=linphone_proxy_config_get_domain(default_cfg); + if (strcmp(domain,linphone_address_get_domain(uri))==0) + return default_cfg; + } + + /*otherwise iterate through the other proxy config and return the first matching*/ for (elem=linphone_core_get_proxy_config_list(lc);elem!=NULL;elem=elem->next){ LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)elem->data; const char *domain=linphone_proxy_config_get_domain(cfg); @@ -3608,6 +3618,19 @@ void linphone_core_set_native_preview_window_id(LinphoneCore *lc, unsigned long #endif } +/** + * Can be used to disable video showing to free XV port +**/ +void linphone_core_show_video(LinphoneCore *lc, bool_t show){ +#ifdef VIDEO_ENABLED + ms_error("linphone_core_show_video %d", show); + LinphoneCall *call=linphone_core_get_current_call(lc); + if (call!=NULL && call->videostream){ + video_stream_show_video(call->videostream,show); + } +#endif +} + /** * Tells the core to use a separate window for local camera preview video, instead of * inserting local view within the remote video window. diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index 14c850de836952363e74a5de24a180a2330f8d23..a3cd8d3e0c1470b003e997299800e19b17995f08 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -952,6 +952,9 @@ void linphone_core_use_preview_window(LinphoneCore *lc, bool_t yesno); int linphone_core_get_device_rotation(LinphoneCore *lc ); void linphone_core_set_device_rotation(LinphoneCore *lc, int rotation); +/* start or stop streaming video in case of embedded window */ +void linphone_core_show_video(LinphoneCore *lc, bool_t show); + /*play/record support: use files instead of soundcard*/ void linphone_core_use_files(LinphoneCore *lc, bool_t yesno); void linphone_core_set_play_file(LinphoneCore *lc, const char *file); diff --git a/coreapi/sal_eXosip2.c b/coreapi/sal_eXosip2.c index 7a2f3e051b37fc795429aa136577a264f4c9677f..948e67d89e3acd074ad6333d23a29f8ca82a9571 100644 --- a/coreapi/sal_eXosip2.c +++ b/coreapi/sal_eXosip2.c @@ -2007,6 +2007,8 @@ static void register_set_contact(osip_message_t *msg, const char *contact){ static void sal_register_add_route(osip_message_t *msg, const char *proxy){ char tmp[256]={0}; snprintf(tmp,sizeof(tmp)-1,"<%s;lr>",proxy); + + osip_list_special_free(&msg->routes,(void (*)(void*))osip_route_free); osip_message_set_route(msg,tmp); } diff --git a/mediastreamer2 b/mediastreamer2 index 4aaab3296337eb313d9b554dff1860cd23b3dbc9..8e3778f1fd61b44124f7303e540b936f9da4560f 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit 4aaab3296337eb313d9b554dff1860cd23b3dbc9 +Subproject commit 8e3778f1fd61b44124f7303e540b936f9da4560f diff --git a/po/POTFILES.in b/po/POTFILES.in index 04172f7b97e5bc9c8d632e504446992fb2ce052d..01deec29e3fc8d32150dbbbcd9cd4643deb28fcd 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,4 +1,5 @@ # List of source files containing translatable strings. +gtk/tunnel_config.ui gtk/calllogs.c gtk/conference.c gtk/logging.c