mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-03 20:46:28 +00:00
Merge branch 'master' of git.sv.gnu.org:/srv/git/linphone
This commit is contained in:
commit
9c34a0c084
12 changed files with 82 additions and 17 deletions
|
|
@ -95,6 +95,7 @@ static int lpc_cmd_video_window(LinphoneCore *lc, char *args);
|
|||
#endif
|
||||
static int lpc_cmd_states(LinphoneCore *lc, char *args);
|
||||
static int lpc_cmd_identify(LinphoneCore *lc, char *args);
|
||||
static int lpc_cmd_ringback(LinphoneCore *lc, char *args);
|
||||
|
||||
/* Command handler helpers */
|
||||
static void linphonec_proxy_add(LinphoneCore *lc);
|
||||
|
|
@ -302,6 +303,10 @@ static LPC_COMMAND advanced_commands[] = {
|
|||
"'identify' \t: returns remote user-agent string for current call.\n"
|
||||
"'identify <id>' \t: returns remote user-agent string for call with supplied id.\n"
|
||||
},
|
||||
{ "ringback", lpc_cmd_ringback, "Specifies a ringback tone to be played to remote end during incoming calls",
|
||||
"'ringback <path of mono .wav file>'\t: Specifies a ringback tone to be played to remote end during incoming calls\n"
|
||||
"'ringback disable'\t: Disable playing of ringback tone to callers\n"
|
||||
},
|
||||
{ NULL,NULL,NULL,NULL}
|
||||
};
|
||||
|
||||
|
|
@ -650,7 +655,7 @@ static int
|
|||
lpc_cmd_terminate(LinphoneCore *lc, char *args)
|
||||
{
|
||||
if (linphone_core_get_calls(lc)==NULL){
|
||||
linphonec_out("No active calls");
|
||||
linphonec_out("No active calls\n");
|
||||
return 1;
|
||||
}
|
||||
if (!args)
|
||||
|
|
@ -671,7 +676,7 @@ lpc_cmd_terminate(LinphoneCore *lc, char *args)
|
|||
LinphoneCall *call=linphonec_get_call(id);
|
||||
if (call){
|
||||
if (linphone_core_terminate_call(lc,call)==-1){
|
||||
linphonec_out("Could not stop the call with id %li",id);
|
||||
linphonec_out("Could not stop the call with id %li\n",id);
|
||||
}
|
||||
}else return 0;
|
||||
return 1;
|
||||
|
|
@ -2357,6 +2362,18 @@ static int lpc_cmd_identify(LinphoneCore *lc, char *args){
|
|||
return 1;
|
||||
}
|
||||
|
||||
static int lpc_cmd_ringback(LinphoneCore *lc, char *args){
|
||||
if (!args) return 0;
|
||||
if (strcmp(args,"disable")==0){
|
||||
linphone_core_set_remote_ringback_tone(lc,NULL);
|
||||
linphonec_out("Disabling ringback tone.\n");
|
||||
return 1;
|
||||
}
|
||||
linphone_core_set_remote_ringback_tone (lc,args);
|
||||
linphonec_out("Using %s as ringback tone to be played to callers.",args);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* Command table management funx
|
||||
|
|
|
|||
|
|
@ -53,7 +53,9 @@ noinst_PROGRAMS=test_lsd
|
|||
|
||||
test_lsd_SOURCES=test_lsd.c
|
||||
|
||||
test_lsd_LDADD=liblinphone.la
|
||||
test_lsd_LDADD=liblinphone.la \
|
||||
$(MEDIASTREAMER_LIBS) \
|
||||
$(ORTP_LIBS)
|
||||
|
||||
AM_CFLAGS=$(STRICT_OPTIONS) -DIN_LINPHONE \
|
||||
$(ORTP_CFLAGS) \
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@ static void call_received(SalOp *h){
|
|||
const char *from,*to;
|
||||
char *tmp;
|
||||
LinphoneAddress *from_parsed;
|
||||
bool_t early_media=lp_config_get_int(lc->config,"sip","send_early_media",0);
|
||||
|
||||
const char * early_media=linphone_core_get_remote_ringback_tone (lc);
|
||||
|
||||
/* first check if we can answer successfully to this invite */
|
||||
if (lc->presence_mode==LinphoneStatusBusy ||
|
||||
lc->presence_mode==LinphoneStatusOffline ||
|
||||
|
|
@ -118,10 +118,10 @@ static void call_received(SalOp *h){
|
|||
}else{
|
||||
/*TODO : play a tone within the context of the current call */
|
||||
}
|
||||
sal_call_notify_ringing(h,early_media);
|
||||
sal_call_notify_ringing(h,early_media!=NULL);
|
||||
#if !(__IPHONE_OS_VERSION_MIN_REQUIRED >= 40000)
|
||||
linphone_call_init_media_streams(call);
|
||||
if (early_media){
|
||||
if (early_media!=NULL){
|
||||
linphone_call_start_early_media (call);
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@ noinst_PROGRAMS=helloworld
|
|||
|
||||
helloworld_SOURCES=helloworld.c
|
||||
|
||||
helloworld_LDADD=$(top_builddir)/coreapi/liblinphone.la
|
||||
helloworld_LDADD=$(top_builddir)/coreapi/liblinphone.la \
|
||||
$(MEDIASTREAMER_LIBS) \
|
||||
$(ORTP_LIBS)
|
||||
|
||||
INCLUDES=-I$(top_srcdir)/coreapi \
|
||||
$(MEDIASTREAMER_CFLAGS)
|
||||
|
|
|
|||
|
|
@ -710,14 +710,8 @@ static RtpProfile *make_profile(LinphoneCore *lc, const SalMediaDescription *md,
|
|||
}
|
||||
|
||||
static void setup_ring_player(LinphoneCore *lc, LinphoneCall *call){
|
||||
const char *ringfile=lc->sound_conf.remote_ring;
|
||||
int pause_time=3000;
|
||||
if (lc->play_file!=NULL){
|
||||
audio_stream_play(call->audiostream,lc->play_file);
|
||||
pause_time=0;
|
||||
}else{
|
||||
audio_stream_play(call->audiostream,ringfile);
|
||||
}
|
||||
audio_stream_play(call->audiostream,lc->sound_conf.ringback_tone);
|
||||
ms_filter_call_method(call->audiostream->soundread,MS_FILE_PLAYER_LOOP,&pause_time);
|
||||
}
|
||||
|
||||
|
|
@ -764,6 +758,8 @@ static void _linphone_call_start_media_streams(LinphoneCall *call, bool_t send_e
|
|||
playcard=NULL;
|
||||
captcard=NULL;
|
||||
recfile=NULL;
|
||||
if (send_early_media)
|
||||
playfile=NULL;
|
||||
}
|
||||
/*if playfile are supplied don't use soundcards*/
|
||||
if (lc->use_files) {
|
||||
|
|
|
|||
|
|
@ -467,6 +467,8 @@ static void sound_config_read(LinphoneCore *lc)
|
|||
|
||||
gain=lp_config_get_float(lc->config,"sound","playback_gain_db",0);
|
||||
linphone_core_set_playback_gain_db (lc,gain);
|
||||
|
||||
linphone_core_set_remote_ringback_tone (lc,lp_config_get_string(lc->config,"sound","ringback_tone",NULL));
|
||||
}
|
||||
|
||||
static void sip_config_read(LinphoneCore *lc)
|
||||
|
|
@ -3868,6 +3870,25 @@ int linphone_core_del_call( LinphoneCore *lc, LinphoneCall *call)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifiies a ring back tone to be played to far end during incoming calls.
|
||||
**/
|
||||
void linphone_core_set_remote_ringback_tone(LinphoneCore *lc, const char *file){
|
||||
if (lc->sound_conf.ringback_tone){
|
||||
ms_free(lc->sound_conf.ringback_tone);
|
||||
lc->sound_conf.ringback_tone=NULL;
|
||||
}
|
||||
if (file)
|
||||
lc->sound_conf.ringback_tone=ms_strdup(file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ring back tone played to far end during incoming calls.
|
||||
**/
|
||||
const char *linphone_core_get_remote_ringback_tone(const LinphoneCore *lc){
|
||||
return lc->sound_conf.ringback_tone;
|
||||
}
|
||||
|
||||
static PayloadType* find_payload_type_from_list(const char* type, int rate,const MSList* from) {
|
||||
const MSList *elem;
|
||||
for(elem=from;elem!=NULL;elem=elem->next){
|
||||
|
|
|
|||
|
|
@ -746,6 +746,8 @@ void linphone_core_set_ring(LinphoneCore *lc, const char *path);
|
|||
const char *linphone_core_get_ring(const LinphoneCore *lc);
|
||||
void linphone_core_set_ringback(LinphoneCore *lc, const char *path);
|
||||
const char * linphone_core_get_ringback(const LinphoneCore *lc);
|
||||
void linphone_core_set_remote_ringback_tone(LinphoneCore *lc,const char *);
|
||||
const char *linphone_core_get_remote_ringback_tone(const LinphoneCore *lc);
|
||||
int linphone_core_preview_ring(LinphoneCore *lc, const char *ring,LinphoneCoreCbFunc func,void * userdata);
|
||||
void linphone_core_enable_echo_cancellation(LinphoneCore *lc, bool_t val);
|
||||
bool_t linphone_core_echo_cancellation_enabled(LinphoneCore *lc);
|
||||
|
|
|
|||
|
|
@ -320,6 +320,7 @@ typedef struct sound_config
|
|||
char source;
|
||||
char *local_ring;
|
||||
char *remote_ring;
|
||||
char *ringback_tone;
|
||||
bool_t ec;
|
||||
bool_t ea;
|
||||
bool_t agc;
|
||||
|
|
|
|||
|
|
@ -99,4 +99,4 @@ void linphone_gtk_enable_mute_button(GtkButton *button, gboolean sensitive);
|
|||
void linphone_gtk_enable_hold_button(LinphoneCall *call, gboolean sensitive, gboolean holdon);
|
||||
|
||||
void linphone_gtk_show_login_frame(LinphoneProxyConfig *cfg);
|
||||
|
||||
void linphone_gtk_set_ui_config(const char *key, const char *value);
|
||||
|
|
|
|||
|
|
@ -96,6 +96,11 @@ void linphone_gtk_show_login_frame(LinphoneProxyConfig *cfg){
|
|||
g_free(str);
|
||||
|
||||
from=linphone_address_new(linphone_proxy_config_get_identity(cfg));
|
||||
if (linphone_address_get_username(from)[0]=='?'){
|
||||
const char *username=linphone_gtk_get_ui_config ("login_username",NULL);
|
||||
if (username)
|
||||
linphone_address_set_username(from,username);
|
||||
}
|
||||
|
||||
ai=linphone_core_find_auth_info(lc,linphone_proxy_config_get_domain(cfg),linphone_address_get_username(from));
|
||||
/*display the last entered username, if not '?????'*/
|
||||
|
|
@ -152,6 +157,7 @@ void linphone_gtk_login_frame_connect_clicked(GtkWidget *button){
|
|||
|
||||
autologin=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(mw,"automatic_login")));
|
||||
linphone_gtk_set_ui_config_int("automatic_login",autologin);
|
||||
linphone_gtk_set_ui_config("login_username",username);
|
||||
|
||||
from=linphone_address_new(linphone_proxy_config_get_identity(cfg));
|
||||
linphone_address_set_username(from,username);
|
||||
|
|
|
|||
16
gtk/main.c
16
gtk/main.c
|
|
@ -413,8 +413,10 @@ void linphone_gtk_show_about(){
|
|||
struct stat filestat;
|
||||
const char *license_file=PACKAGE_DATA_DIR "/linphone/COPYING";
|
||||
GtkWidget *about;
|
||||
const char *tmp;
|
||||
GdkPixbuf *logo=create_pixbuf(
|
||||
linphone_gtk_get_ui_config("logo","linphone-banner.png"));
|
||||
static const char *defcfg="defcfg";
|
||||
|
||||
about=linphone_gtk_create_window("about");
|
||||
gtk_about_dialog_set_url_hook(about_url_clicked,NULL,NULL);
|
||||
|
|
@ -436,7 +438,19 @@ void linphone_gtk_show_about(){
|
|||
gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(about),linphone_gtk_get_ui_config("title","Linphone"));
|
||||
gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(about),linphone_gtk_get_ui_config("home","http://www.linphone.org"));
|
||||
if (logo) gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(about),logo);
|
||||
|
||||
tmp=linphone_gtk_get_ui_config("artists",defcfg);
|
||||
if (tmp!=defcfg){
|
||||
const char *tmp2[2];
|
||||
tmp2[0]=tmp;
|
||||
tmp2[1]=NULL;
|
||||
gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(about),tmp2);
|
||||
}
|
||||
tmp=linphone_gtk_get_ui_config("translators",defcfg);
|
||||
if (tmp!=defcfg)
|
||||
gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG(about),tmp);
|
||||
tmp=linphone_gtk_get_ui_config("comments",defcfg);
|
||||
if (tmp!=defcfg)
|
||||
gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about),tmp);
|
||||
gtk_widget_show(about);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -192,6 +192,10 @@ void linphone_gtk_set_ui_config_int(const char *key , int val){
|
|||
lp_config_set_int(cfg,"GtkUi",key,val);
|
||||
}
|
||||
|
||||
void linphone_gtk_set_ui_config(const char *key , const char * val){
|
||||
LpConfig *cfg=linphone_core_get_config(linphone_gtk_get_core());
|
||||
lp_config_set_string(cfg,"GtkUi",key,val);
|
||||
}
|
||||
|
||||
static void parse_item(const char *item, const char *window_name, GtkWidget *w, gboolean show){
|
||||
char tmp[64];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue