summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-03-11 13:18:48 +0000
committerBenny Prijono <bennylp@teluu.com>2008-03-11 13:18:48 +0000
commit81596a02df25ecfd9e0280b299329f9ba6445c1e (patch)
tree6cc6321b91adc5d39ea40a5f86028231caba7b0c
parentf1bb061d0d14ca661dd6d5dc981a1a5204357c2e (diff)
Ticket #493: added EC settings in dialog
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1856 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjsip-apps/src/pocketpj/PocketPJ.rc17
-rw-r--r--pjsip-apps/src/pocketpj/PocketPJ.vcc10
-rw-r--r--pjsip-apps/src/pocketpj/PocketPJDlg.cpp7
-rw-r--r--pjsip-apps/src/pocketpj/SettingsDlg.cpp57
-rw-r--r--pjsip-apps/src/pocketpj/SettingsDlg.h7
-rw-r--r--pjsip-apps/src/pocketpj/resource.h2
6 files changed, 81 insertions, 19 deletions
diff --git a/pjsip-apps/src/pocketpj/PocketPJ.rc b/pjsip-apps/src/pocketpj/PocketPJ.rc
index 57e804ca..4e551723 100644
--- a/pjsip-apps/src/pocketpj/PocketPJ.rc
+++ b/pjsip-apps/src/pocketpj/PocketPJ.rc
@@ -97,7 +97,7 @@ BEGIN
WS_BORDER,125,16,12,11
END
-IDD_SETTING DIALOG DISCARDABLE 0, 0, 140, 119
+IDD_SETTING DIALOG DISCARDABLE 0, 0, 140, 127
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "PocketPJ Settings.."
FONT 8, "System"
@@ -111,16 +111,19 @@ BEGIN
CONTROL "STUN Srv:",IDC_STUN,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,65,47,10
EDITTEXT IDC_STUN_SRV,56,64,77,12,ES_AUTOHSCROLL
- CONTROL "ICE",IDC_ICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,80,
+ CONTROL "ICE",IDC_ICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,79,
27,10
CONTROL "SRTP",IDC_SRTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,47,
- 80,33,10
+ 79,33,10
CONTROL "PUBLISH",IDC_PUBLISH,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,85,80,43,10
+ WS_TABSTOP,85,79,43,10
EDITTEXT IDC_DNS,38,49,78,12,ES_AUTOHSCROLL
LTEXT "DNS:",IDC_STATIC,8,50,30,9
- PUSHBUTTON "OK",IDOK,17,98,50,14
- PUSHBUTTON "Cancel",IDCANCEL,73,98,50,14
+ PUSHBUTTON "OK",IDOK,17,106,50,14
+ PUSHBUTTON "Cancel",IDCANCEL,73,106,50,14
+ CONTROL "Suppress echo, tail:",IDC_ECHO_SUPPRESS,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,7,92,79,10
+ EDITTEXT IDC_EC_TAIL,89,91,33,12,ES_AUTOHSCROLL
END
@@ -189,7 +192,7 @@ BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 133
TOPMARGIN, 7
- BOTTOMMARGIN, 112
+ BOTTOMMARGIN, 120
END
END
#endif // APSTUDIO_INVOKED
diff --git a/pjsip-apps/src/pocketpj/PocketPJ.vcc b/pjsip-apps/src/pocketpj/PocketPJ.vcc
index b47dce0e..80c3c6f3 100644
--- a/pjsip-apps/src/pocketpj/PocketPJ.vcc
+++ b/pjsip-apps/src/pocketpj/PocketPJ.vcc
@@ -12,8 +12,8 @@ Class1=CPocketPJApp
Class2=CPocketPJDlg
ResourceCount=5
-Resource2=IDD_POCKETPJ_DIALOG
-Resource3=IDD_SETTING
+Resource2=IDD_SETTING
+Resource3=IDD_POCKETPJ_DIALOG
Resource4=IDR_ACC_MENU
Resource1=IDR_MAINFRAME
Class3=CSettingsDlg
@@ -66,7 +66,7 @@ CommandCount=3
[DLG:IDD_SETTING]
Type=1
Class=CSettingsDlg
-ControlCount=15
+ControlCount=17
Control1=IDC_STATIC,static,1342308352
Control2=IDC_DOMAIN,edit,1350631552
Control3=IDC_USER,edit,1350631552
@@ -82,6 +82,8 @@ Control12=IDC_DNS,edit,1350631552
Control13=IDC_STATIC,static,1342308352
Control14=IDOK,button,1342242816
Control15=IDCANCEL,button,1342242816
+Control16=IDC_ECHO_SUPPRESS,button,1342242819
+Control17=IDC_EC_TAIL,edit,1350631552
[CLS:CSettingsDlg]
Type=0
@@ -90,5 +92,5 @@ ImplementationFile=SettingsDlg.cpp
BaseClass=CDialog
Filter=D
VirtualFilter=dWC
-LastObject=CSettingsDlg
+LastObject=IDC_ECHO_SUPPRESS
diff --git a/pjsip-apps/src/pocketpj/PocketPJDlg.cpp b/pjsip-apps/src/pocketpj/PocketPJDlg.cpp
index 0a38daa7..17608be7 100644
--- a/pjsip-apps/src/pocketpj/PocketPJDlg.cpp
+++ b/pjsip-apps/src/pocketpj/PocketPJDlg.cpp
@@ -178,7 +178,12 @@ BOOL CPocketPJDlg::Restart()
media_cfg.quality = 1;
media_cfg.thread_cnt = 1;
media_cfg.enable_ice = m_Cfg.m_UseIce;
-
+
+ if (m_Cfg.m_EchoSuppress) {
+ media_cfg.ec_options = PJMEDIA_ECHO_SIMPLE;
+ media_cfg.ec_tail_len = m_Cfg.m_EcTail;
+ }
+
// Init
PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Initializing..");
status = pjsua_init(&cfg, &log_cfg, &media_cfg);
diff --git a/pjsip-apps/src/pocketpj/SettingsDlg.cpp b/pjsip-apps/src/pocketpj/SettingsDlg.cpp
index 1d45683b..e5506ce8 100644
--- a/pjsip-apps/src/pocketpj/SettingsDlg.cpp
+++ b/pjsip-apps/src/pocketpj/SettingsDlg.cpp
@@ -24,6 +24,8 @@ static char THIS_FILE[] = __FILE__;
#define REG_USE_PUBLISH _T("UsePUBLISH")
#define REG_BUDDY_CNT _T("BuddyCnt")
#define REG_BUDDY_X _T("Buddy%u")
+#define REG_ENABLE_EC _T("EnableEC")
+#define REG_EC_TAIL _T("ECTail")
/////////////////////////////////////////////////////////////////////////////
@@ -69,15 +71,21 @@ void CPocketPJSettings::LoadRegistry()
dwordVal = 0;
if (key.QueryValue(dwordVal, REG_USE_STUN) == ERROR_SUCCESS) {
m_UseStun = dwordVal != 0;
+ } else {
+ m_UseStun = 0;
}
if (key.QueryValue(dwordVal, REG_USE_ICE) == ERROR_SUCCESS) {
m_UseIce = dwordVal != 0;
+ } else {
+ m_UseIce = 0;
}
if (key.QueryValue(dwordVal, REG_USE_SRTP) == ERROR_SUCCESS) {
m_UseSrtp = dwordVal != 0;
+ } else {
+ m_UseSrtp = 0;
}
@@ -86,6 +94,20 @@ void CPocketPJSettings::LoadRegistry()
m_UsePublish = dwordVal != 0;
}
+ cbData = sizeof(dwordVal);
+ if (key.QueryValue(dwordVal, REG_ENABLE_EC) == ERROR_SUCCESS) {
+ m_EchoSuppress = dwordVal != 0;
+ } else {
+ m_EchoSuppress = 0;
+ }
+
+ cbData = sizeof(dwordVal);
+ if (key.QueryValue(dwordVal, REG_EC_TAIL) == ERROR_SUCCESS) {
+ m_EcTail = dwordVal;
+ } else {
+ m_EcTail = 2;
+ }
+
m_BuddyList.RemoveAll();
DWORD buddyCount = 0;
@@ -127,9 +149,12 @@ void CPocketPJSettings::SaveRegistry()
key.SetValue(m_UseSrtp, REG_USE_SRTP);
key.SetValue(m_UsePublish, REG_USE_PUBLISH);
+ key.SetValue(m_EchoSuppress, REG_ENABLE_EC);
+ key.SetValue(m_EcTail, REG_EC_TAIL);
+
key.SetValue(m_BuddyList.GetSize(), REG_BUDDY_CNT);
- unsigned i;
+ int i;
for (i=0; i<m_BuddyList.GetSize(); ++i) {
CString entry;
entry.Format(REG_BUDDY_X, i);
@@ -157,6 +182,8 @@ CSettingsDlg::CSettingsDlg(CPocketPJSettings &cfg, CWnd* pParent)
m_StunSrv = _T("");
m_User = _T("");
m_Dns = _T("");
+ m_EchoSuppress = FALSE;
+ m_EcTail = _T("");
//}}AFX_DATA_INIT
m_Domain = m_Cfg.m_Domain;
@@ -168,6 +195,11 @@ CSettingsDlg::CSettingsDlg(CPocketPJSettings &cfg, CWnd* pParent)
m_StunSrv = m_Cfg.m_StunSrv;
m_User = m_Cfg.m_User;
m_Dns = m_Cfg.m_DNS;
+ m_EchoSuppress = m_Cfg.m_EchoSuppress;
+
+ CString s;
+ s.Format(_T("%d"), m_Cfg.m_EcTail);
+ m_EcTail = s;
}
@@ -184,13 +216,16 @@ void CSettingsDlg::DoDataExchange(CDataExchange* pDX)
DDX_Text(pDX, IDC_STUN_SRV, m_StunSrv);
DDX_Text(pDX, IDC_USER, m_User);
DDX_Text(pDX, IDC_DNS, m_Dns);
+ DDX_Check(pDX, IDC_ECHO_SUPPRESS, m_EchoSuppress);
+ DDX_Text(pDX, IDC_EC_TAIL, m_EcTail);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSettingsDlg, CDialog)
//{{AFX_MSG_MAP(CSettingsDlg)
- // NOTE: the ClassWizard will add message map macros here
+ ON_BN_CLICKED(IDC_STUN, OnStun)
+ ON_BN_CLICKED(IDC_ECHO_SUPPRESS, OnEchoSuppress)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
@@ -203,15 +238,25 @@ int CSettingsDlg::DoModal()
if (rc == IDOK) {
m_Cfg.m_Domain = m_Domain;
- m_Cfg.m_UseIce = m_ICE;
+ m_Cfg.m_UseIce = m_ICE != 0;
m_Cfg.m_Password = m_Passwd;
- m_Cfg.m_UsePublish = m_PUBLISH;
- m_Cfg.m_UseSrtp = m_SRTP;
- m_Cfg.m_UseStun = m_STUN;
+ m_Cfg.m_UsePublish = m_PUBLISH != 0;
+ m_Cfg.m_UseSrtp = m_SRTP != 0;
+ m_Cfg.m_UseStun = m_STUN != 0;
m_Cfg.m_StunSrv = m_StunSrv;
m_Cfg.m_User = m_User;
m_Cfg.m_DNS = m_Dns;
+ m_Cfg.m_EchoSuppress= m_EchoSuppress != 0;
+ m_Cfg.m_EcTail = _ttoi(m_EcTail);
}
return rc;
}
+
+void CSettingsDlg::OnStun()
+{
+}
+
+void CSettingsDlg::OnEchoSuppress()
+{
+}
diff --git a/pjsip-apps/src/pocketpj/SettingsDlg.h b/pjsip-apps/src/pocketpj/SettingsDlg.h
index 48f0891a..5feb0217 100644
--- a/pjsip-apps/src/pocketpj/SettingsDlg.h
+++ b/pjsip-apps/src/pocketpj/SettingsDlg.h
@@ -21,6 +21,8 @@ struct CPocketPJSettings
bool m_UseSrtp;
bool m_UsePublish;
CString m_DNS;
+ bool m_EchoSuppress;
+ DWORD m_EcTail;
CArray<CString,CString> m_BuddyList;
@@ -53,6 +55,8 @@ public:
CString m_StunSrv;
CString m_User;
CString m_Dns;
+ BOOL m_EchoSuppress;
+ CString m_EcTail;
//}}AFX_DATA
@@ -71,7 +75,8 @@ protected:
// Generated message map functions
//{{AFX_MSG(CSettingsDlg)
- // NOTE: the ClassWizard will add member functions here
+ afx_msg void OnStun();
+ afx_msg void OnEchoSuppress();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
diff --git a/pjsip-apps/src/pocketpj/resource.h b/pjsip-apps/src/pocketpj/resource.h
index 0af53e86..1ba70d33 100644
--- a/pjsip-apps/src/pocketpj/resource.h
+++ b/pjsip-apps/src/pocketpj/resource.h
@@ -33,7 +33,9 @@
#define IDC_TITLE2 1018
#define IDC_DNS 1019
#define IDC_TITLE3 1020
+#define IDC_ECHO_SUPPRESS 1020
#define IDC_BUTTON1 1021
+#define IDC_EC_TAIL 1021
#define IDC_BUTTON2 1022
#define IDS_CAP_ONLINE 32772
#define IDS_CAP_OFFLINE 32774