Changeset 2211 for pjproject/trunk
- Timestamp:
- Aug 13, 2008 1:56:24 PM (16 years ago)
- Location:
- pjproject/trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjlib/include/pj/config_site_sample.h
r2004 r2211 32 32 # define PJSUA_DEFAULT_CODEC_QUALITY 5 33 33 # define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 34 35 # define PJMEDIA_SDP_NEG_PREFER_REMOTE_CODEC_ORDER 0 34 36 #endif 35 37 -
pjproject/trunk/pjsip-apps/src/pocketpj/PocketPJ.rc
r1856 r2211 80 80 // 81 81 82 IDD_POCKETPJ_DIALOG DIALOG DISCARDABLE0, 0, 139, 15182 IDD_POCKETPJ_DIALOG DIALOGEX 0, 0, 139, 151 83 83 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION 84 84 EXSTYLE WS_EX_APPWINDOW | 0x80000000L … … 88 88 LTEXT "sip:user@pjsip.lab",IDC_ACC_ID,22,5,115,8 89 89 CONTROL 135,IDC_BTN_ACC,"Static",SS_BITMAP | SS_NOTIFY | 90 WS_ TABSTOP,7,3,12,1190 WS_BORDER | WS_TABSTOP,7,3,12,11 91 91 CONTROL "List1",IDC_BUDDY_LIST,"SysListView32",LVS_SMALLICON | 92 92 LVS_SINGLESEL | LVS_SORTASCENDING | WS_BORDER | … … 98 98 END 99 99 100 IDD_SETTING DIALOG DISCARDABLE 0, 0, 140, 1 27100 IDD_SETTING DIALOG DISCARDABLE 0, 0, 140, 143 101 101 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU 102 102 CAPTION "PocketPJ Settings.." 103 103 FONT 8, "System" 104 104 BEGIN 105 LTEXT "Domain:",IDC_STATIC,7,8,30,9106 105 EDITTEXT IDC_DOMAIN,38,7,78,12,ES_AUTOHSCROLL 107 106 EDITTEXT IDC_USER,38,21,78,12,ES_AUTOHSCROLL 108 107 EDITTEXT IDC_PASSWD,38,35,78,12,ES_PASSWORD | ES_AUTOHSCROLL 108 EDITTEXT IDC_DNS,38,49,78,12,ES_AUTOHSCROLL 109 EDITTEXT IDC_STUN_SRV,56,64,77,12,ES_AUTOHSCROLL 110 CONTROL "ICE",IDC_ICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,79, 111 24,10 112 CONTROL "TCP",IDC_TCP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33, 113 79,24,10 114 CONTROL "SRTP",IDC_SRTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,61, 115 79,29,10 116 CONTROL "PUBLISH",IDC_PUBLISH,"Button",BS_AUTOCHECKBOX | 117 WS_TABSTOP,93,79,40,10 118 CONTROL "EC, tail:",IDC_ECHO_SUPPRESS,"Button",BS_AUTOCHECKBOX | 119 WS_TABSTOP,7,92,37,10 120 EDITTEXT IDC_EC_TAIL,47,91,23,12,ES_AUTOHSCROLL 121 CONTROL "VAD",IDC_VAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,93, 122 92,25,10 123 COMBOBOX IDC_CODECS,59,105,42,39,CBS_DROPDOWNLIST | WS_VSCROLL | 124 WS_TABSTOP 125 PUSHBUTTON "OK",IDOK,17,122,50,14 126 PUSHBUTTON "Cancel",IDCANCEL,73,122,50,14 127 LTEXT "Domain:",IDC_STATIC,7,8,30,9 109 128 LTEXT "User:",IDC_STATIC,7,22,30,9 110 129 LTEXT "Passwd:",IDC_STATIC,7,36,30,9 111 130 CONTROL "STUN Srv:",IDC_STUN,"Button",BS_AUTOCHECKBOX | 112 131 WS_TABSTOP,7,65,47,10 113 EDITTEXT IDC_STUN_SRV,56,64,77,12,ES_AUTOHSCROLL114 CONTROL "ICE",IDC_ICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,79,115 27,10116 CONTROL "SRTP",IDC_SRTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,47,117 79,33,10118 CONTROL "PUBLISH",IDC_PUBLISH,"Button",BS_AUTOCHECKBOX |119 WS_TABSTOP,85,79,43,10120 EDITTEXT IDC_DNS,38,49,78,12,ES_AUTOHSCROLL121 132 LTEXT "DNS:",IDC_STATIC,8,50,30,9 122 PUSHBUTTON "OK",IDOK,17,106,50,14 123 PUSHBUTTON "Cancel",IDCANCEL,73,106,50,14 124 CONTROL "Suppress echo, tail:",IDC_ECHO_SUPPRESS,"Button", 125 BS_AUTOCHECKBOX | WS_TABSTOP,7,92,79,10 126 EDITTEXT IDC_EC_TAIL,89,91,33,12,ES_AUTOHSCROLL 133 LTEXT "ms",IDC_STATIC,75,92,13,9 134 LTEXT "Codec priority:",IDC_STATIC,7,107,49,9 135 CONTROL "AA",IDC_AA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107, 136 107,25,10 127 137 END 128 138 … … 193 203 RIGHTMARGIN, 133 194 204 TOPMARGIN, 7 195 BOTTOMMARGIN, 1 20205 BOTTOMMARGIN, 136 196 206 END 197 207 END -
pjproject/trunk/pjsip-apps/src/pocketpj/PocketPJ.vcc
r1856 r2211 13 13 14 14 ResourceCount=5 15 Resource2=ID D_SETTING15 Resource2=IDR_ACC_MENU 16 16 Resource3=IDD_POCKETPJ_DIALOG 17 Resource4=ID R_ACC_MENU17 Resource4=IDD_SETTING 18 18 Resource1=IDR_MAINFRAME 19 19 Class3=CSettingsDlg … … 41 41 ControlCount=6 42 42 Control1=IDC_ACC_ID,static,1342308352 43 Control2=IDC_BTN_ACC,static,13 4224308643 Control2=IDC_BTN_ACC,static,1350631694 44 44 Control3=IDC_BUDDY_LIST,SysListView32,1350631446 45 45 Control4=IDC_STATIC,static,1342308352 … … 67 67 Type=1 68 68 Class=CSettingsDlg 69 ControlCount= 1770 Control1=IDC_ STATIC,static,134230835271 Control2=IDC_ DOMAIN,edit,135063155272 Control3=IDC_ USER,edit,135063155273 Control4=IDC_ PASSWD,edit,135063158474 Control5=IDC_ST ATIC,static,134230835275 Control6=IDC_ STATIC,static,134230835276 Control7=IDC_ STUN,button,134224281977 Control8=IDC_S TUN_SRV,edit,135063155278 Control9=IDC_ ICE,button,134224281979 Control10=IDC_ SRTP,button,134224281980 Control11=IDC_ PUBLISH,button,134224281981 Control12=IDC_ DNS,edit,135063155282 Control13=IDC_ STATIC,static,134230835269 ControlCount=23 70 Control1=IDC_DOMAIN,edit,1350631552 71 Control2=IDC_USER,edit,1350631552 72 Control3=IDC_PASSWD,edit,1350631584 73 Control4=IDC_DNS,edit,1350631552 74 Control5=IDC_STUN_SRV,edit,1350631552 75 Control6=IDC_ICE,button,1342242819 76 Control7=IDC_TCP,button,1342242819 77 Control8=IDC_SRTP,button,1342242819 78 Control9=IDC_PUBLISH,button,1342242819 79 Control10=IDC_ECHO_SUPPRESS,button,1342242819 80 Control11=IDC_EC_TAIL,edit,1350631552 81 Control12=IDC_VAD,button,1342242819 82 Control13=IDC_CODECS,combobox,1344339971 83 83 Control14=IDOK,button,1342242816 84 84 Control15=IDCANCEL,button,1342242816 85 Control16=IDC_ECHO_SUPPRESS,button,1342242819 86 Control17=IDC_EC_TAIL,edit,1350631552 85 Control16=IDC_STATIC,static,1342308352 86 Control17=IDC_STATIC,static,1342308352 87 Control18=IDC_STATIC,static,1342308352 88 Control19=IDC_STUN,button,1342242819 89 Control20=IDC_STATIC,static,1342308352 90 Control21=IDC_STATIC,static,1342308352 91 Control22=IDC_STATIC,static,1342308352 92 Control23=IDC_AA,button,1342242819 87 93 88 94 [CLS:CSettingsDlg] … … 93 99 Filter=D 94 100 VirtualFilter=dWC 95 LastObject= IDC_ECHO_SUPPRESS101 LastObject=CSettingsDlg 96 102 -
pjproject/trunk/pjsip-apps/src/pocketpj/PocketPJDlg.cpp
r1964 r2211 81 81 BOOL CPocketPJDlg::Restart() 82 82 { 83 unsigned i; 83 84 pj_status_t status; 84 85 … … 179 180 media_cfg.thread_cnt = 1; 180 181 media_cfg.enable_ice = m_Cfg.m_UseIce; 182 media_cfg.no_vad = !m_Cfg.m_VAD; 181 183 182 184 if (m_Cfg.m_EchoSuppress) { … … 196 198 197 199 // Create one UDP transport 198 PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Add transport..");200 PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Adding UDP transport.."); 199 201 pjsua_transport_id transport_id; 200 202 pjsua_transport_config udp_cfg; … … 211 213 } 212 214 215 if (m_Cfg.m_TCP) { 216 // Create one TCP transport 217 PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Adding TCP transport.."); 218 pjsua_transport_id transport_id; 219 pjsua_transport_config tcp_cfg; 220 221 pjsua_transport_config_default(&tcp_cfg); 222 tcp_cfg.port = 0; 223 status = pjsua_transport_create(PJSIP_TRANSPORT_TCP, 224 &tcp_cfg, &transport_id); 225 if (status != PJ_SUCCESS) { 226 Error(_T("Error creating TCP transport"), status); 227 pjsua_destroy(); 228 PopUp_Hide(POPUP_REGISTRATION); 229 return FALSE; 230 } 231 } 232 213 233 // Adjust codecs priority 214 234 pj_str_t tmp; 215 pjsua_codec_set_priority(pj_cstr(&tmp, "speex"), 0); 216 pjsua_codec_set_priority(pj_cstr(&tmp, "speex/8000"), 200); 217 pjsua_codec_set_priority(pj_cstr(&tmp, "GSM"), 180); 218 pjsua_codec_set_priority(pj_cstr(&tmp, "PCMU"), 160); 219 pjsua_codec_set_priority(pj_cstr(&tmp, "PCMA"), 150); 220 pjsua_codec_set_priority(pj_cstr(&tmp, "iLBC"), 0); 221 pjsua_codec_set_priority(pj_cstr(&tmp, "L16"), 0); 222 235 pjsua_codec_set_priority(pj_cstr(&tmp, "*"), 0); 236 for (i=0; i<(unsigned)m_Cfg.m_Codecs.GetSize(); ++i) { 237 CString codec = m_Cfg.m_Codecs.GetAt(i); 238 char tmp_nam[80]; 239 240 pj_unicode_to_ansi((LPCTSTR)codec, codec.GetLength(), 241 tmp_nam, sizeof(tmp_nam)); 242 pjsua_codec_set_priority(pj_cstr(&tmp, tmp_nam), 200-i); 243 } 223 244 224 245 // Start! … … 262 283 acc_cfg.publish_enabled = m_Cfg.m_UsePublish; 263 284 285 char route[80]; 286 if (m_Cfg.m_TCP) { 287 snprintf(route, sizeof(route), "<sip:%s;lr;transport=tcp>", domain); 288 acc_cfg.proxy[acc_cfg.proxy_cnt++] = pj_str(route); 289 } else { 290 snprintf(route, sizeof(route), "<sip:%s;lr>", domain); 291 acc_cfg.proxy[acc_cfg.proxy_cnt++] = pj_str(route); 292 } 293 264 294 status = pjsua_acc_add(&acc_cfg, PJ_TRUE, &m_PjsuaAccId); 265 295 if (status != PJ_SUCCESS) { … … 367 397 "Answer", "Hangup", 0); 368 398 pjsua_call_answer(0, 180, NULL, NULL); 399 if (m_Cfg.m_AutoAnswer) 400 OnPopUpButton(1); 369 401 break; 370 402 case PJSIP_INV_STATE_EARLY: /**< After response with To tag. */ -
pjproject/trunk/pjsip-apps/src/pocketpj/SettingsDlg.cpp
r2201 r2211 5 5 #include "PocketPJ.h" 6 6 #include "SettingsDlg.h" 7 #include <pjsua-lib/pjsua.h> 7 8 #include <atlbase.h> 8 9 … … 27 28 #define REG_ENABLE_EC _T("EnableEC") 28 29 #define REG_EC_TAIL _T("ECTail") 30 #define REG_ENABLE_VAD _T("EnableVAD") 31 #define REG_ENABLE_TCP _T("EnableTCP") 32 #define REG_CODEC_CNT _T("CodecCnt") 33 #define REG_CODEC_X _T("Codec%u") 34 #define REG_AUTO_ANSWER _T("AutoAnswer") 29 35 30 36 … … 33 39 CPocketPJSettings::CPocketPJSettings() 34 40 : m_UseStun(FALSE), m_UseIce(FALSE), m_UseSrtp(FALSE), m_UsePublish(FALSE), 35 m_EchoSuppress(TRUE), m_EcTail(200) 36 { 41 m_EchoSuppress(TRUE), m_EcTail(200), m_TCP(FALSE), m_VAD(FALSE), 42 m_AutoAnswer(FALSE) 43 { 44 /* Init codec list */ 45 #if defined(PJMEDIA_HAS_GSM_CODEC) && PJMEDIA_HAS_GSM_CODEC 46 m_Codecs.Add(_T("GSM")); 47 #endif 48 #if defined(PJMEDIA_HAS_G711_CODEC) && PJMEDIA_HAS_G711_CODEC 49 m_Codecs.Add(_T("PCMU")); 50 m_Codecs.Add(_T("PCMA")); 51 #endif 52 #if defined(PJMEDIA_HAS_SPEEX_CODEC) && PJMEDIA_HAS_SPEEX_CODEC 53 m_Codecs.Add(_T("Speex")); 54 #endif 37 55 } 38 56 … … 77 95 if (key.QueryValue(dwordVal, REG_USE_STUN) == ERROR_SUCCESS) { 78 96 m_UseStun = dwordVal != 0; 79 } else {80 m_UseStun = 0;81 97 } 82 98 83 99 if (key.QueryValue(dwordVal, REG_USE_ICE) == ERROR_SUCCESS) { 84 100 m_UseIce = dwordVal != 0; 85 } else {86 m_UseIce = 0;87 101 } 88 102 … … 90 104 if (key.QueryValue(dwordVal, REG_USE_SRTP) == ERROR_SUCCESS) { 91 105 m_UseSrtp = dwordVal != 0; 92 } else {93 m_UseSrtp = 0;94 106 } 95 107 … … 103 115 if (key.QueryValue(dwordVal, REG_ENABLE_EC) == ERROR_SUCCESS) { 104 116 m_EchoSuppress = dwordVal != 0; 105 } else {106 m_EchoSuppress = 1;107 117 } 108 118 … … 110 120 if (key.QueryValue(dwordVal, REG_EC_TAIL) == ERROR_SUCCESS) { 111 121 m_EcTail = dwordVal; 112 } else { 113 m_EcTail = 200; 122 } 123 124 cbData = sizeof(dwordVal); 125 if (key.QueryValue(dwordVal, REG_ENABLE_TCP) == ERROR_SUCCESS) { 126 m_TCP = dwordVal != 0; 127 } 128 129 cbData = sizeof(dwordVal); 130 if (key.QueryValue(dwordVal, REG_ENABLE_VAD) == ERROR_SUCCESS) { 131 m_VAD = dwordVal != 0; 132 } 133 134 cbData = sizeof(dwordVal); 135 if (key.QueryValue(dwordVal, REG_AUTO_ANSWER) == ERROR_SUCCESS) { 136 m_AutoAnswer = dwordVal != 0; 114 137 } 115 138 … … 130 153 if (key.QueryValue(textVal, entry, &cbData) == ERROR_SUCCESS) { 131 154 m_BuddyList.Add(textVal); 155 } 156 } 157 158 DWORD codecCount = 0; 159 cbData = sizeof(dwordVal); 160 if (key.QueryValue(codecCount, REG_CODEC_CNT) == ERROR_SUCCESS) { 161 162 m_Codecs.RemoveAll(); 163 164 for (i=0; i<codecCount; ++i) { 165 CString entry; 166 entry.Format(REG_CODEC_X, i); 167 168 cbData = sizeof(textVal); 169 if (key.QueryValue(textVal, entry, &cbData) == ERROR_SUCCESS) { 170 m_Codecs.Add(textVal); 171 } 132 172 } 133 173 } … … 158 198 key.SetValue(m_EcTail, REG_EC_TAIL); 159 199 200 key.SetValue(m_TCP, REG_ENABLE_TCP); 201 key.SetValue(m_VAD, REG_ENABLE_VAD); 202 key.SetValue(m_AutoAnswer, REG_AUTO_ANSWER); 203 160 204 key.SetValue(m_BuddyList.GetSize(), REG_BUDDY_CNT); 161 205 … … 165 209 entry.Format(REG_BUDDY_X, i); 166 210 key.SetValue(m_BuddyList.GetAt(i), entry); 211 } 212 213 DWORD N = m_Codecs.GetSize(); 214 key.SetValue(N, REG_CODEC_CNT); 215 for (i=0; i<m_Codecs.GetSize(); ++i) { 216 CString entry; 217 entry.Format(REG_CODEC_X, i); 218 key.SetValue(m_Codecs.GetAt(i), entry); 167 219 } 168 220 … … 190 242 m_EchoSuppress = FALSE; 191 243 m_EcTail = _T(""); 244 m_TCP = FALSE; 245 m_VAD = FALSE; 246 m_AutoAnswer = FALSE; 192 247 //}}AFX_DATA_INIT 193 248 … … 202 257 m_Dns = m_Cfg.m_DNS; 203 258 m_EchoSuppress = m_Cfg.m_EchoSuppress; 259 m_TCP = m_Cfg.m_TCP; 260 m_VAD = m_Cfg.m_VAD; 261 m_AutoAnswer= m_Cfg.m_AutoAnswer; 204 262 205 263 CString s; 206 264 s.Format(_T("%d"), m_Cfg.m_EcTail); 207 265 m_EcTail = s; 266 208 267 } 209 268 … … 213 272 CDialog::DoDataExchange(pDX); 214 273 //{{AFX_DATA_MAP(CSettingsDlg) 274 DDX_Control(pDX, IDC_CODECS, m_Codecs); 215 275 DDX_Text(pDX, IDC_DOMAIN, m_Domain); 216 276 DDX_Check(pDX, IDC_ICE, m_ICE); … … 224 284 DDX_Check(pDX, IDC_ECHO_SUPPRESS, m_EchoSuppress); 225 285 DDX_Text(pDX, IDC_EC_TAIL, m_EcTail); 286 DDX_Check(pDX, IDC_TCP, m_TCP); 287 DDX_Check(pDX, IDC_VAD, m_VAD); 288 DDX_Check(pDX, IDC_AA, m_AutoAnswer); 226 289 //}}AFX_DATA_MAP 290 291 292 if (m_Codecs.GetCount() == 0) { 293 int i; 294 for (i=0; i<m_Cfg.m_Codecs.GetSize(); ++i) { 295 m_Codecs.AddString(m_Cfg.m_Codecs.GetAt(i)); 296 } 297 m_Codecs.SetCurSel(0); 298 } 227 299 } 228 300 … … 232 304 ON_BN_CLICKED(IDC_STUN, OnStun) 233 305 ON_BN_CLICKED(IDC_ECHO_SUPPRESS, OnEchoSuppress) 306 ON_CBN_SELCHANGE(IDC_CODECS, OnSelchangeCodecs) 234 307 //}}AFX_MSG_MAP 235 308 END_MESSAGE_MAP() … … 242 315 int rc = CDialog::DoModal(); 243 316 244 if (rc == IDOK) {245 m_Cfg.m_Domain = m_Domain;246 m_Cfg.m_UseIce = m_ICE != 0;247 m_Cfg.m_Password = m_Passwd;248 m_Cfg.m_UsePublish = m_PUBLISH != 0;249 m_Cfg.m_UseSrtp = m_SRTP != 0;250 m_Cfg.m_UseStun = m_STUN != 0;251 m_Cfg.m_StunSrv = m_StunSrv;252 m_Cfg.m_User = m_User;253 m_Cfg.m_DNS = m_Dns;254 m_Cfg.m_EchoSuppress= m_EchoSuppress != 0;255 m_Cfg.m_EcTail = _ttoi(m_EcTail);256 }257 258 317 return rc; 259 318 } … … 266 325 { 267 326 } 327 328 void CSettingsDlg::OnSelchangeCodecs() 329 { 330 int cur = m_Codecs.GetCurSel(); 331 if (cur < 1) 332 return; 333 334 CString codec; 335 DWORD N; 336 337 m_Codecs.GetLBText(cur, codec); 338 N = m_Codecs.GetCount(); 339 m_Codecs.DeleteString(cur); 340 N = m_Codecs.GetCount(); 341 m_Codecs.InsertString(0, codec); 342 N = m_Codecs.GetCount(); 343 m_Codecs.SetCurSel(0); 344 } 345 346 347 void CSettingsDlg::OnOK() 348 { 349 UpdateData(TRUE); 350 351 m_Cfg.m_Domain = m_Domain; 352 m_Cfg.m_UseIce = m_ICE != 0; 353 m_Cfg.m_Password = m_Passwd; 354 m_Cfg.m_UsePublish = m_PUBLISH != 0; 355 m_Cfg.m_UseSrtp = m_SRTP != 0; 356 m_Cfg.m_UseStun = m_STUN != 0; 357 m_Cfg.m_StunSrv = m_StunSrv; 358 m_Cfg.m_User = m_User; 359 m_Cfg.m_DNS = m_Dns; 360 m_Cfg.m_EchoSuppress= m_EchoSuppress != 0; 361 m_Cfg.m_EcTail = _ttoi(m_EcTail); 362 m_Cfg.m_TCP = m_TCP != 0; 363 m_Cfg.m_VAD = m_VAD != 0; 364 m_Cfg.m_AutoAnswer = m_AutoAnswer != 0; 365 366 unsigned i; 367 m_Cfg.m_Codecs.RemoveAll(); 368 DWORD N = m_Codecs.GetCount(); 369 for (i=0; i<N; ++i) { 370 CString codec; 371 m_Codecs.GetLBText(i, codec); 372 m_Cfg.m_Codecs.Add(codec); 373 } 374 375 CDialog::OnOK(); 376 } -
pjproject/trunk/pjsip-apps/src/pocketpj/SettingsDlg.h
r2201 r2211 24 24 bool m_EchoSuppress; 25 25 DWORD m_EcTail; 26 bool m_TCP; 27 bool m_VAD; 28 bool m_AutoAnswer; 26 29 30 CArray<CString,CString> m_Codecs; 27 31 CArray<CString,CString> m_BuddyList; 28 32 … … 49 53 //{{AFX_DATA(CSettingsDlg) 50 54 enum { IDD = IDD_SETTING }; 55 CComboBox m_Codecs; 51 56 CString m_Domain; 52 57 BOOL m_ICE; … … 60 65 BOOL m_EchoSuppress; 61 66 CString m_EcTail; 67 BOOL m_TCP; 68 BOOL m_VAD; 69 BOOL m_AutoAnswer; 62 70 //}}AFX_DATA 63 71 … … 80 88 afx_msg void OnStun(); 81 89 afx_msg void OnEchoSuppress(); 90 afx_msg void OnSelchangeCodecs(); 91 virtual void OnOK(); 82 92 //}}AFX_MSG 83 93 DECLARE_MESSAGE_MAP() -
pjproject/trunk/pjsip-apps/src/pocketpj/resource.h
r1856 r2211 38 38 #define IDC_EC_TAIL 1021 39 39 #define IDC_BUTTON2 1022 40 #define IDC_VAD 1022 41 #define IDC_TCP 1023 42 #define IDC_CODECS 1024 43 #define IDC_AA 1025 40 44 #define IDS_CAP_ONLINE 32772 41 45 #define IDS_CAP_OFFLINE 32774 … … 62 66 #define _APS_NEXT_RESOURCE_VALUE 145 63 67 #define _APS_NEXT_COMMAND_VALUE 32796 64 #define _APS_NEXT_CONTROL_VALUE 102 368 #define _APS_NEXT_CONTROL_VALUE 1025 65 69 #define _APS_NEXT_SYMED_VALUE 101 66 70 #endif
Note: See TracChangeset
for help on using the changeset viewer.