Commit 3e2f2d7d authored by Simon Morlat's avatar Simon Morlat
Browse files

ui improvements and interrop bugfixes with freephonie

parent 11ea1b9e
......@@ -280,7 +280,7 @@ static void call_updating(SalOp *op){
if (call->resultdesc && !sal_media_description_empty(call->resultdesc))
{
if (call->state==LinphoneCallPausedByRemote &&
if ((call->state==LinphoneCallPausedByRemote || call->state==LinphoneCallPaused) &&
sal_media_description_has_dir(call->resultdesc,SalStreamSendRecv) && strcmp(call->resultdesc->addr,"0.0.0.0")!=0){
/*make sure we can be resumed */
if (lc->current_call!=NULL && lc->current_call!=call){
......
......@@ -227,10 +227,48 @@ static void linphone_call_set_terminated(LinphoneCall *call){
linphone_call_unref(call);
}
const char *linphone_call_state_to_string(LinphoneCallState cs){
switch (cs){
case LinphoneCallIdle:
return "LinphoneCallIdle";
case LinphoneCallIncomingReceived:
return "LinphoneCallIncomingReceived";
case LinphoneCallOutgoingInit:
return "LinphoneCallOutgoingInit";
case LinphoneCallOutgoingProgress:
return "LinphoneCallOutgoingProgress";
case LinphoneCallOutgoingRinging:
return "LinphoneCallOutgoingRinging";
case LinphoneCallOutgoingEarlyMedia:
return "LinphoneCallOutgoingEarlyMedia";
case LinphoneCallConnected:
return "LinphoneCallConnected";
case LinphoneCallStreamsRunning:
return "LinphoneCallStreamsRunning";
case LinphoneCallPausing:
return "LinphoneCallPausing";
case LinphoneCallPaused:
return "LinphoneCallPaused";
case LinphoneCallResuming:
return "LinphoneCallResuming";
case LinphoneCallRefered:
return "LinphoneCallRefered";
case LinphoneCallError:
return "LinphoneCallRefered";
case LinphoneCallEnd:
return "LinphoneCallEnd";
case LinphoneCallPausedByRemote:
return "LinphoneCallPausedByRemote";
}
return "undefined state";
}
void linphone_call_set_state(LinphoneCall *call, LinphoneCallState cstate, const char *message){
LinphoneCore *lc=call->core;
bool_t finalize_call=FALSE;
if (call->state!=cstate){
ms_message("Call %p: moving from state %s to %s",call,linphone_call_state_to_string(call->state),
linphone_call_state_to_string(cstate));
if (cstate!=LinphoneCallRefered){
/*LinphoneCallRefered is rather an event, not a state.
Indeed it does not change the state of the call (still paused or running)*/
......
......@@ -83,9 +83,9 @@ bool_t sal_media_description_has_dir(const SalMediaDescription *md, SalStreamDir
int i;
for(i=0;i<md->nstreams;++i){
const SalStreamDescription *ss=&md->streams[i];
if (ss->dir!=stream_dir) return FALSE;
if (ss->dir==stream_dir) return TRUE;
}
return TRUE;
return FALSE;
}
static void assign_string(char **str, const char *arg){
......
......@@ -961,6 +961,7 @@ static void linphone_gtk_call_state_changed(LinphoneCore *lc, LinphoneCall *call
break;
case LinphoneCallResuming:
linphone_gtk_enable_hold_button(call,TRUE,TRUE);
linphone_gtk_in_call_view_set_in_call (call);
break;
case LinphoneCallPausing:
linphone_gtk_enable_hold_button(call,TRUE,FALSE);
......
......@@ -545,12 +545,11 @@
<object class="GtkHBox" id="hbox7">
<property name="visible">True</property>
<child>
<object class="GtkToggleButton" id="main_mute">
<object class="GtkButton" id="main_mute">
<property name="label" translatable="yes">Mute</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="toggled" handler="linphone_gtk_mute_toggled"/>
<signal name="clicked" handler="linphone_gtk_mute_clicked"/>
</object>
<packing>
<property name="fill">False</property>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment