mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-02-07 14:18:25 +00:00
add evrcb0
wizard in progress improve theora packer add \n to dtmf printout. git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@440 3f6dc0c8-ddfe-455d-9043-3cd528dc4637
This commit is contained in:
parent
3ee8c2c00e
commit
34e84d7859
14 changed files with 235 additions and 76 deletions
|
|
@ -1,3 +1,7 @@
|
|||
linphone-3.1.2 --
|
||||
* make it work with lastest ffmpeg swscale
|
||||
* improve theora packer
|
||||
|
||||
linphone-3.1.1 -- April 14, 2009
|
||||
* fix crash when opening property box, in some rare case
|
||||
* windows version uses the new libmsdscap plugin (video capture using directshow)
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ linphonec_text_received(LinphoneCore *lc, LinphoneChatRoom *cr,
|
|||
|
||||
|
||||
static void linphonec_dtmf_received(LinphoneCore *lc, int dtmf){
|
||||
printf("Receiving tone %c",dtmf);
|
||||
printf("Receiving tone %c\n",dtmf);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -2333,7 +2333,6 @@ void linphone_core_stop_waiting(LinphoneCore *lc){
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void net_config_uninit(LinphoneCore *lc)
|
||||
{
|
||||
net_config_t *config=&lc->net_conf;
|
||||
|
|
|
|||
|
|
@ -762,6 +762,9 @@ The "show" callback is called for the other linphone, causing gui to show up.
|
|||
The method returns 0 if an already running linphone was found*/
|
||||
int linphone_core_wake_up_possible_already_running_instance(const char *config_file);
|
||||
|
||||
/*returns the list of registered SipSetup (linphonecore plugins) */
|
||||
const MSList * linphone_core_get_sip_setups(LinphoneCore *lc);
|
||||
|
||||
void linphone_core_uninit(LinphoneCore *lc);
|
||||
void linphone_core_destroy(LinphoneCore *lc);
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,10 @@ void sip_setup_register_all(void){
|
|||
}
|
||||
}
|
||||
|
||||
const MSList * linphone_core_get_sip_setups(LinphoneCore *lc){
|
||||
return registered_sip_setups;
|
||||
}
|
||||
|
||||
SipSetup *sip_setup_lookup(const char *type_name){
|
||||
MSList *elem;
|
||||
for(elem=registered_sip_setups;elem!=NULL;elem=elem->next){
|
||||
|
|
@ -94,6 +98,10 @@ SipSetupContext *sip_setup_context_new(SipSetup *s, struct _LinphoneProxyConfig
|
|||
return obj;
|
||||
}
|
||||
|
||||
unsigned int sip_setup_get_capabilities(SipSetup *s){
|
||||
return s->capabilities;
|
||||
}
|
||||
|
||||
int sip_setup_context_get_capabilities(SipSetupContext *ctx){
|
||||
return ctx->funcs->capabilities;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ void sip_setup_register(SipSetup *ss);
|
|||
void sip_setup_register_all(void);
|
||||
SipSetup *sip_setup_lookup(const char *type_name);
|
||||
void sip_setup_unregister_all(void);
|
||||
unsigned int sip_setup_get_capabilities(SipSetup *s);
|
||||
|
||||
SipSetupContext * sip_setup_context_new(SipSetup *s, struct _LinphoneProxyConfig *cfg);
|
||||
int sip_setup_context_create_account(SipSetupContext *ctx, const char *uri, const char *passwd);
|
||||
|
|
|
|||
|
|
@ -794,6 +794,18 @@ static void linphone_gtk_check_menu_items(void){
|
|||
audio_only ? "audio_only_item" : "video_item")), TRUE);
|
||||
}
|
||||
|
||||
static gboolean linphone_gtk_can_manage_accounts(){
|
||||
LinphoneCore *lc=linphone_gtk_get_core();
|
||||
const MSList *elem;
|
||||
for(elem=linphone_core_get_sip_setups(lc);elem!=NULL;elem=elem->next){
|
||||
SipSetup *ss=(SipSetup*)elem->data;
|
||||
if (sip_setup_get_capabilities(ss) & SIP_SETUP_CAP_ACCOUNT_MANAGER){
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void linphone_gtk_configure_main_window(){
|
||||
static gboolean config_loaded=FALSE;
|
||||
static const char *title;
|
||||
|
|
@ -809,7 +821,10 @@ static void linphone_gtk_configure_main_window(){
|
|||
config_loaded=TRUE;
|
||||
}
|
||||
linphone_gtk_configure_window(w,"main_window");
|
||||
if (title) gtk_window_set_title(GTK_WINDOW(w),title);
|
||||
if (title) {
|
||||
gtk_window_set_title(GTK_WINDOW(w),title);
|
||||
gtk_menu_item_set_label(GTK_MENU_ITEM(linphone_gtk_get_widget(w,"main_menu")),title);
|
||||
}
|
||||
if (start_call_icon){
|
||||
GdkPixbuf *pbuf=create_pixbuf(start_call_icon);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(linphone_gtk_get_widget(w,"start_call_icon")),pbuf);
|
||||
|
|
@ -826,6 +841,8 @@ static void linphone_gtk_configure_main_window(){
|
|||
tmp=g_strdup(home);
|
||||
g_object_set_data(G_OBJECT(menu_item),"home",tmp);
|
||||
}
|
||||
if (!linphone_gtk_can_manage_accounts())
|
||||
gtk_widget_hide(linphone_gtk_get_widget(w,"run_assistant"));
|
||||
}
|
||||
|
||||
static void linphone_gtk_init_main_window(){
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
|
||||
<!--Generated with glade3 3.4.5 on Sun Mar 29 23:23:26 2009 -->
|
||||
<?xml version="1.0"?>
|
||||
<glade-interface>
|
||||
<!-- interface-requires gtk+ 2.16 -->
|
||||
<!-- interface-naming-policy toplevel-contextual -->
|
||||
<widget class="GtkWindow" id="main">
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="icon">linphone2.png</property>
|
||||
|
|
@ -15,19 +15,33 @@
|
|||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="menuitem2">
|
||||
<widget class="GtkMenuItem" id="main_menu">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">_View</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="label" translatable="yes">Linphone</property>
|
||||
<child>
|
||||
<widget class="GtkMenu" id="menu2">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem5">
|
||||
<widget class="GtkImageMenuItem" id="run_assistant">
|
||||
<property name="label" translatable="yes">Assistant</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="linphone_gtk_create_assistant"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image1">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-preferences</property>
|
||||
<property name="icon-size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem5">
|
||||
<property name="label">gtk-preferences</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">gtk-preferences</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="linphone_gtk_show_parameters"/>
|
||||
|
|
@ -35,22 +49,28 @@
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem1">
|
||||
<property name="label">Call history</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Call history</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="linphone_gtk_show_call_logs"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image4">
|
||||
<widget class="GtkImage" id="image2">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-info</property>
|
||||
<property name="stock">gtk-justify-fill</property>
|
||||
<property name="icon-size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="quit">
|
||||
<widget class="GtkSeparatorMenuItem" id="separatormenuitem2">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="quit">
|
||||
<property name="label">gtk-quit</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">gtk-quit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="gtk_main_quit"/>
|
||||
|
|
@ -113,9 +133,9 @@
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem4">
|
||||
<property name="label">gtk-help</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">gtk-help</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<child>
|
||||
|
|
@ -124,22 +144,24 @@
|
|||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="show_logs">
|
||||
<property name="label">Show debug messages</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Show debug window</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="linphone_gtk_log_show"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image1">
|
||||
<property name="stock">gtk-dialog-info</property>
|
||||
<widget class="GtkImage" id="image3">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-info</property>
|
||||
<property name="icon-size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem6">
|
||||
<property name="label">gtk-about</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">gtk-about</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="linphone_gtk_show_about"/>
|
||||
|
|
@ -147,14 +169,15 @@
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="home_item">
|
||||
<property name="label">Homepage</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Homepage</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="linphone_gtk_link_to_website"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image3">
|
||||
<widget class="GtkImage" id="image4">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-info</property>
|
||||
<property name="stock">gtk-home</property>
|
||||
<property name="icon-size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
|
@ -166,6 +189,7 @@
|
|||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
|
@ -192,13 +216,15 @@
|
|||
<property name="can_focus">True</property>
|
||||
<signal name="activate" handler="linphone_gtk_uri_bar_activate"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="terminate_call">
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="linphone_gtk_terminate_call"/>
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox21">
|
||||
|
|
@ -210,6 +236,9 @@
|
|||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="stock">gtk-close</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="terminate_call_label">
|
||||
|
|
@ -227,7 +256,7 @@
|
|||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
|
@ -237,7 +266,6 @@
|
|||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="linphone_gtk_start_call"/>
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox3">
|
||||
|
|
@ -249,6 +277,9 @@
|
|||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="stock">gtk-go-forward</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="start_call_label">
|
||||
|
|
@ -266,7 +297,7 @@
|
|||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
|
@ -288,6 +319,7 @@
|
|||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
|
@ -319,6 +351,7 @@
|
|||
</widget>
|
||||
<packing>
|
||||
<property name="padding">12</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
|
@ -361,24 +394,25 @@ Online users</property>
|
|||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkScrolledWindow" id="scrolledwindow1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="hscrollbar_policy">automatic</property>
|
||||
<property name="vscrollbar_policy">automatic</property>
|
||||
<child>
|
||||
<widget class="GtkTreeView" id="contact_list">
|
||||
<property name="height_request">120</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<signal name="popup_menu" handler="linphone_gtk_popup_contact_menu"/>
|
||||
<signal name="button_press_event" handler="linphone_gtk_contact_list_button_pressed"/>
|
||||
<signal name="row_activated" handler="linphone_gtk_contact_activated"/>
|
||||
<signal name="cursor_changed" handler="linphone_gtk_contact_clicked"/>
|
||||
<signal name="row_activated" handler="linphone_gtk_contact_activated"/>
|
||||
<signal name="popup_menu" handler="linphone_gtk_popup_contact_menu"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
|
@ -404,6 +438,7 @@ Online users</property>
|
|||
</widget>
|
||||
<packing>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
|
@ -429,12 +464,11 @@ Online users</property>
|
|||
<property name="homogeneous">True</property>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_D">
|
||||
<property name="label" translatable="yes">D</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">D</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
|
|
@ -447,12 +481,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_hash">
|
||||
<property name="label" translatable="yes">#</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">#</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
|
|
@ -465,12 +498,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_0">
|
||||
<property name="label" translatable="yes">0</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">0</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
|
|
@ -483,12 +515,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_star">
|
||||
<property name="label" translatable="yes">*</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">*</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="top_attach">3</property>
|
||||
|
|
@ -499,12 +530,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_C">
|
||||
<property name="label" translatable="yes">C</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">C</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
|
|
@ -517,12 +547,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_9">
|
||||
<property name="label" translatable="yes">9</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">9</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
|
|
@ -535,12 +564,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_8">
|
||||
<property name="label" translatable="yes">8</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">8</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
|
|
@ -553,12 +581,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_7">
|
||||
<property name="label" translatable="yes">7</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">7</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="top_attach">2</property>
|
||||
|
|
@ -569,12 +596,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_B">
|
||||
<property name="label" translatable="yes">B</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">B</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
|
|
@ -587,12 +613,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_6">
|
||||
<property name="label" translatable="yes">6</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">6</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
|
|
@ -605,12 +630,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_5">
|
||||
<property name="label" translatable="yes">5</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">5</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
|
|
@ -623,12 +647,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_4">
|
||||
<property name="label" translatable="yes">4</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">4</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="top_attach">1</property>
|
||||
|
|
@ -639,12 +662,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_A">
|
||||
<property name="label" translatable="yes">A</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">A</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
|
|
@ -655,12 +677,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_3">
|
||||
<property name="label" translatable="yes">3</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">3</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
|
|
@ -671,12 +692,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_2">
|
||||
<property name="label" translatable="yes">2</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">2</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
|
|
@ -687,12 +707,11 @@ Online users</property>
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="dtmf_1">
|
||||
<property name="label" translatable="yes">1</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">1</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x_options"></property>
|
||||
|
|
@ -718,6 +737,7 @@ Online users</property>
|
|||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
|
|
@ -755,13 +775,15 @@ Online users</property>
|
|||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="presence_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="linphone_gtk_my_presence_clicked"/>
|
||||
<child>
|
||||
<placeholder/>
|
||||
|
|
|
|||
|
|
@ -65,7 +65,15 @@ GtkWidget *create_finish_page(){
|
|||
return vbox;
|
||||
}
|
||||
|
||||
GtkWidget * linphone_gtk_create_setup_wizard(void){
|
||||
static int next_page_handler(int curpage, gpointer data){
|
||||
return curpage+1;
|
||||
}
|
||||
|
||||
static void linphone_gtk_assistant_closed(GtkWidget *w){
|
||||
gtk_widget_destroy(w);
|
||||
}
|
||||
|
||||
GtkWidget * linphone_gtk_create_assistant(void){
|
||||
GtkWidget *w=gtk_assistant_new();
|
||||
GtkWidget *p1=create_intro();
|
||||
GtkWidget *p2=create_setup_signin_choice();
|
||||
|
|
@ -74,15 +82,23 @@ GtkWidget * linphone_gtk_create_setup_wizard(void){
|
|||
gtk_assistant_append_page(GTK_ASSISTANT(w),p1);
|
||||
gtk_assistant_set_page_type(GTK_ASSISTANT(w),p1,GTK_ASSISTANT_PAGE_INTRO);
|
||||
gtk_assistant_set_page_title(GTK_ASSISTANT(w),p1,_("Welcome to the account setup assistant"));
|
||||
gtk_assistant_set_page_complete(GTK_ASSISTANT(w),p1,TRUE);
|
||||
gtk_assistant_append_page(GTK_ASSISTANT(w),p2);
|
||||
gtk_assistant_set_page_type(GTK_ASSISTANT(w),p2,GTK_ASSISTANT_PAGE_CONTENT);
|
||||
gtk_assistant_set_page_title(GTK_ASSISTANT(w),p2,_("Account setup assistant"));
|
||||
gtk_assistant_set_page_complete(GTK_ASSISTANT(w),p2,TRUE);
|
||||
gtk_assistant_append_page(GTK_ASSISTANT(w),p3);
|
||||
gtk_assistant_set_page_type(GTK_ASSISTANT(w),p3,GTK_ASSISTANT_PAGE_CONTENT);
|
||||
gtk_assistant_set_page_title(GTK_ASSISTANT(w),p3,_("Account setup assistant - enter your information"));
|
||||
gtk_assistant_append_page(GTK_ASSISTANT(w),p4);
|
||||
gtk_assistant_set_page_type(GTK_ASSISTANT(w),p4,GTK_ASSISTANT_PAGE_SUMMARY);
|
||||
gtk_assistant_set_page_title(GTK_ASSISTANT(w),p4,_("Now ready !"));
|
||||
|
||||
gtk_assistant_set_forward_page_func(GTK_ASSISTANT(w),next_page_handler,w,NULL);
|
||||
g_signal_connect(G_OBJECT(w),"close",(GCallback)linphone_gtk_assistant_closed,NULL);
|
||||
g_signal_connect(G_OBJECT(w),"cancel",(GCallback)linphone_gtk_assistant_closed,NULL);
|
||||
gtk_widget_show(w);
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -108,9 +108,30 @@ AC_DEFUN([MS_CHECK_VIDEO],[
|
|||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(theora,
|
||||
[ --disable-theora Disable theora support],
|
||||
[case "${enableval}" in
|
||||
yes) theora=true ;;
|
||||
no) theora=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-theora) ;;
|
||||
esac],[theora=true])
|
||||
|
||||
if test x$theora = xtrue; then
|
||||
PKG_CHECK_MODULES(THEORA, [theora >= 1.0alpha7 ], [have_theora=yes],
|
||||
[have_theora=no])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(x11,
|
||||
[ --disable-x11 Disable X11 support],
|
||||
[case "${enableval}" in
|
||||
yes) enable_x11=true ;;
|
||||
no) enable_x11=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
|
||||
esac],[enable_x11=true])
|
||||
|
||||
if test "$enable_x11" = "true"; then
|
||||
AC_CHECK_HEADERS(X11/Xlib.h)
|
||||
fi
|
||||
|
||||
VIDEO_CFLAGS=" $FFMPEG_CFLAGS -DVIDEO_ENABLED"
|
||||
VIDEO_LIBS=" $FFMPEG_LIBS $SWSCALE_LIBS"
|
||||
|
|
|
|||
|
|
@ -152,6 +152,15 @@ dnl *********************************
|
|||
|
||||
found_sound=no
|
||||
|
||||
AC_ARG_ENABLE(oss,
|
||||
[ --enable-oss Disable oss support],
|
||||
[case "${enableval}" in
|
||||
yes) oss=true ;;
|
||||
no) oss=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
|
||||
esac],[oss=true])
|
||||
|
||||
if "$oss" = "true"; then
|
||||
AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h sys/audio.h)
|
||||
if test "${ac_cv_header_sys_soundcard_h}" = "yes" || \
|
||||
test "${ac_cv_header_soundcard_h}" = "yes" || \
|
||||
|
|
@ -159,6 +168,7 @@ if test "${ac_cv_header_sys_soundcard_h}" = "yes" || \
|
|||
test "${ac_cv_header_machine_soundcard_h}" = "yes"; then
|
||||
found_sound=yes
|
||||
fi
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(BUILD_OSS, test x$found_sound = xyes)
|
||||
|
||||
|
|
@ -188,12 +198,12 @@ AM_CONDITIONAL(BUILD_ALSA, test x$alsa_enabled = xtrue)
|
|||
|
||||
|
||||
AC_ARG_ENABLE(artsc,
|
||||
[ --enable-artsc Turn on artsc (kde) sound input/output (auto) ],
|
||||
[ --enable-artsc Turn on artsc (kde<4) sound input/output (no) ],
|
||||
[case "${enableval}" in
|
||||
yes) artsc=true ;;
|
||||
no) artsc=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-artsc) ;;
|
||||
esac],[artsc=true])
|
||||
esac],[artsc=no])
|
||||
|
||||
arts_enabled=false
|
||||
|
||||
|
|
@ -280,6 +290,16 @@ fi
|
|||
|
||||
AM_CONDITIONAL(BUILD_MACAQSND, test x$macaqsnd_enabled = xtrue)
|
||||
|
||||
AC_ARG_ENABLE(jack,
|
||||
[ --disable-jack Disable jack support],
|
||||
[case "${enableval}" in
|
||||
yes) jack=true ;;
|
||||
no) jack=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
|
||||
esac],[jack=true])
|
||||
|
||||
if test x$jack = xtrue; then
|
||||
|
||||
dnl Check for samplerate libraries
|
||||
dnl Check for jack libraries (sound output plugin)
|
||||
PKG_CHECK_MODULES(JACK,jack >= 0.15.0,
|
||||
|
|
@ -306,6 +326,8 @@ fi
|
|||
AC_SUBST(JACK_CFLAGS)
|
||||
AC_SUBST(JACK_LIBS)
|
||||
|
||||
fi
|
||||
|
||||
if test "$found_sound" = "no"; then
|
||||
AC_MSG_ERROR([Could not find a support sound driver API])
|
||||
fi
|
||||
|
|
@ -315,6 +337,16 @@ dnl *************************************
|
|||
dnl check for various codecs libraries
|
||||
dnl *************************************
|
||||
|
||||
AC_ARG_ENABLE(speex,
|
||||
[ --disable-speex Disable speex support],
|
||||
[case "${enableval}" in
|
||||
yes) speex=true ;;
|
||||
no) speex=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-speex) ;;
|
||||
esac],[speex=true])
|
||||
|
||||
if test x$speex = xtrue; then
|
||||
|
||||
dnl check for installed version of speex
|
||||
PKG_CHECK_MODULES(SPEEX, speex >= 1.2beta3,
|
||||
[ AC_DEFINE(HAVE_SPEEX_NOISE,1,[tells whether the noise arg of speex_echo_cancel can be used]) ],
|
||||
|
|
@ -331,9 +363,22 @@ PKG_CHECK_MODULES(SPEEXDSP, speexdsp >= 1.2beta3,
|
|||
)
|
||||
AC_SUBST(SPEEX_CFLAGS)
|
||||
AC_SUBST(SPEEX_LIBS)
|
||||
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(BUILD_SPEEX, test x$build_speex = xyes )
|
||||
AM_CONDITIONAL(BUILD_RESAMPLE, test x$build_resample = xyes )
|
||||
|
||||
AC_ARG_ENABLE(gsm,
|
||||
[ --disable-gsm Disable gsm support],
|
||||
[case "${enableval}" in
|
||||
yes) gsm=true ;;
|
||||
no) gsm=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-gsm) ;;
|
||||
esac],[gsm=true])
|
||||
|
||||
if test x$gsm = xtrue; then
|
||||
|
||||
dnl check for gsm
|
||||
build_gsm=no
|
||||
AC_ARG_WITH( gsm,
|
||||
|
|
@ -350,6 +395,9 @@ if test x"$gsmdir" != xno ; then
|
|||
else
|
||||
build_gsm=no
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(BUILD_GSM, test x$build_gsm = xyes )
|
||||
|
||||
MS_CHECK_VIDEO
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ typedef struct EncState{
|
|||
uint64_t start_time;
|
||||
uint64_t conf_time;
|
||||
unsigned int mtu;
|
||||
unsigned int nframes;
|
||||
} EncState;
|
||||
|
||||
static void enc_init(MSFilter *f){
|
||||
|
|
@ -63,6 +64,7 @@ static void enc_init(MSFilter *f){
|
|||
s->start_time=0;
|
||||
s->conf_time=0;
|
||||
s->mtu=ms_get_payload_max_size()-6;
|
||||
s->nframes=0;
|
||||
f->data=s;
|
||||
}
|
||||
|
||||
|
|
@ -121,7 +123,7 @@ static int enc_set_br(MSFilter *f, void*data){
|
|||
vsize.width=s->tinfo.width;
|
||||
vsize.height=s->tinfo.height;
|
||||
fps=s->tinfo.fps_numerator;
|
||||
s->tinfo.target_bitrate=codecbr*0.8;
|
||||
s->tinfo.target_bitrate=codecbr*0.9;
|
||||
s->tinfo.keyframe_data_target_bitrate=codecbr;
|
||||
/*those default settings would need to be affined*/
|
||||
if (br>=1024000){
|
||||
|
|
@ -237,7 +239,7 @@ static void enc_preprocess(MSFilter *f){
|
|||
s->yuv.uv_stride=s->tinfo.width/2;
|
||||
create_packed_conf(s);
|
||||
s->conf_time=0;
|
||||
s->start_time=f->ticker->time;
|
||||
s->nframes=0;
|
||||
}
|
||||
|
||||
static void enc_postprocess(MSFilter *f){
|
||||
|
|
@ -306,8 +308,9 @@ bool_t need_send_conf(EncState *s, uint64_t elapsed){
|
|||
}
|
||||
#else
|
||||
/*send immediately then 10 seconds later */
|
||||
if ( (elapsed<1000 && s->conf_time==0)
|
||||
|| (elapsed>10000 && s->conf_time==1)){
|
||||
if ( (elapsed==0 && s->conf_time==0)
|
||||
|| (elapsed>=3000 && s->conf_time==1)
|
||||
|| (elapsed>=10000 && s->conf_time==2)){
|
||||
s->conf_time++;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -321,10 +324,16 @@ static void enc_process(MSFilter *f){
|
|||
EncState *s=(EncState*)f->data;
|
||||
uint64_t timems=f->ticker->time;
|
||||
uint32_t timestamp=timems*90;
|
||||
uint64_t elapsed=timems-s->start_time;
|
||||
uint64_t elapsed;
|
||||
|
||||
|
||||
while((im=ms_queue_get(f->inputs[0]))!=NULL){
|
||||
/*for the firsts frames only send theora packed conf*/
|
||||
om=NULL;
|
||||
if (s->nframes==0){
|
||||
s->start_time=timems;
|
||||
}
|
||||
elapsed=timems-s->start_time;
|
||||
|
||||
if (need_send_conf(s,elapsed)){
|
||||
if (s->packed_conf) {
|
||||
|
|
|
|||
|
|
@ -183,6 +183,7 @@ VAR_DECLSPEC PayloadType payload_type_amr;
|
|||
VAR_DECLSPEC PayloadType payload_type_amrwb;
|
||||
VAR_DECLSPEC PayloadType payload_type_truespeech;
|
||||
VAR_DECLSPEC PayloadType payload_type_evrc0;
|
||||
VAR_DECLSPEC PayloadType payload_type_evrcb0;
|
||||
|
||||
/* video */
|
||||
VAR_DECLSPEC PayloadType payload_type_mpv;
|
||||
|
|
|
|||
|
|
@ -412,6 +412,16 @@ PayloadType payload_type_evrc0={
|
|||
CHANNELS(1)
|
||||
};
|
||||
|
||||
PayloadType payload_type_evrcb0={
|
||||
TYPE(PAYLOAD_AUDIO_PACKETIZED),
|
||||
CLOCK_RATE(8000),
|
||||
BITS_PER_SAMPLE(0),
|
||||
ZERO_PATTERN(NULL),
|
||||
PATTERN_LENGTH(0),
|
||||
NORMAL_BITRATE(0),
|
||||
MIME_TYPE ("EVRCB0"),
|
||||
CHANNELS(1)
|
||||
};
|
||||
|
||||
PayloadType payload_type_h263_1998={
|
||||
TYPE( PAYLOAD_VIDEO),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue