1b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* 2b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 3b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * 4b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * Use of this source code is governed by a BSD-style license 5b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * that can be found in the LICENSE file in the root of the source 6b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * tree. An additional intellectual property rights grant can be found 7b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * in the file PATENTS. All contributing project authors may 8b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * be found in the AUTHORS file in the root of the source tree. 9b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org */ 10b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 11b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#include <math.h> 12471ae72f18e7b23a96b245dbd508386fe139449cpbos@webrtc.org#include "webrtc/test/testsupport/fileutils.h" 13471ae72f18e7b23a96b245dbd508386fe139449cpbos@webrtc.org#include "webrtc/voice_engine/test/win_test/WinTest.h" 14471ae72f18e7b23a96b245dbd508386fe139449cpbos@webrtc.org#include "webrtc/voice_engine/test/win_test/WinTestDlg.h" 15471ae72f18e7b23a96b245dbd508386fe139449cpbos@webrtc.org#include "webrtc/voice_engine/test/win_test/stdafx.h" 16b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 17b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#ifdef _DEBUG 18b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#define new DEBUG_NEW 19b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#endif 20b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 21b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgusing namespace webrtc; 22b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 23b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgunsigned char key[30] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 24b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 25b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Hack to convert char to TCHAR, using two buffers to be able to 26b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// call twice in the same statement 27b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgTCHAR convertTemp1[256] = {0}; 28b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgTCHAR convertTemp2[256] = {0}; 29b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgbool convertBufferSwitch(false); 30b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgTCHAR* CharToTchar(const char* str, int len) 31b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 32b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#ifdef _UNICODE 33b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TCHAR* temp = convertBufferSwitch ? convertTemp1 : convertTemp2; 34b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org convertBufferSwitch = !convertBufferSwitch; 35b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org memset(temp, 0, sizeof(convertTemp1)); 36b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org MultiByteToWideChar(CP_UTF8, 0, str, len, temp, 256); 37b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return temp; 38b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#else 39b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return str; 40b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#endif 41b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 42b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 43b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Hack to convert TCHAR to char 44b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgchar convertTemp3[256] = {0}; 45b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgchar* TcharToChar(TCHAR* str, int len) 46b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 47b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#ifdef _UNICODE 48b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org memset(convertTemp3, 0, sizeof(convertTemp3)); 49b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WideCharToMultiByte(CP_UTF8, 0, str, len, convertTemp3, 256, 0, 0); 50b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return convertTemp3; 51b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#else 52b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return str; 53b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#endif 54b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 55b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 56b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 57b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// VoEConnectionObserver 58b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 59b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 60b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass ConnectionObserver : public VoEConnectionObserver 61b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 62b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgpublic: 63b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ConnectionObserver(); 64ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org virtual void OnPeriodicDeadOrAlive(int channel, bool alive); 65b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 66b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 67b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgConnectionObserver::ConnectionObserver() 68b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 69b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 70b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 71ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.orgvoid ConnectionObserver::OnPeriodicDeadOrAlive(int channel, bool alive) 72b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 73b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 74b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.Format(_T("OnPeriodicDeadOrAlive(channel=%d) => alive=%d"), channel, alive); 75b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org OutputDebugString(str); 76b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 77b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 78b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 79b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// VoiceEngineObserver 80b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 81b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 82ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.orgvoid CWinTestDlg::CallbackOnError(int channel, int errCode) 83b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 84b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _nErrorCallbacks++; 85b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 86b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 87b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.Format(_T("[#%d] CallbackOnError(channel=%d) => errCode = %d"), _nErrorCallbacks, channel, errCode); 88b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (errCode == VE_RECEIVE_PACKET_TIMEOUT) 89b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 90b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str += _T(" <=> VE_RECEIVE_PACKET_TIMEOUT"); 91b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 92b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (errCode == VE_PACKET_RECEIPT_RESTARTED) 93b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 94b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str += _T(" <=> VE_PACKET_RECEIPT_RESTARTED"); 95b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 96b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (errCode == VE_RUNTIME_PLAY_WARNING) 97b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 98b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str += _T(" <=> VE_RUNTIME_PLAY_WARNING"); 99b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 100b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (errCode == VE_RUNTIME_REC_WARNING) 101b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 102b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str += _T(" <=> VE_RUNTIME_REC_WARNING"); 103b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 104b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (errCode == VE_RUNTIME_PLAY_ERROR) 105b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 106b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str += _T(" <=> VE_RUNTIME_PLAY_ERROR"); 107b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 108b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (errCode == VE_RUNTIME_REC_ERROR) 109b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 110b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str += _T(" <=> VE_RUNTIME_REC_ERROR"); 111b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 112b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (errCode == VE_SATURATION_WARNING) 113b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 114b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str += _T(" <=> VE_SATURATION_WARNING"); 115b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 116b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (errCode == VE_TYPING_NOISE_WARNING) 117b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 118b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str += _T(" <=> VE_TYPING_NOISE_WARNING"); 119b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 120b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (errCode == VE_REC_DEVICE_REMOVED) 121b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 122b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str += _T(" <=> VE_REC_DEVICE_REMOVED"); 123b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 124b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // AfxMessageBox((LPCTSTR)str, MB_OK); 125b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ERROR_CALLBACK, (LPCTSTR)str); 126b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 127b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 128b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 129b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// VoERTPObserver 130b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 131b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 132ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.orgvoid CWinTestDlg::OnIncomingCSRCChanged(int channel, unsigned int CSRC, bool added) 133b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 134b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 135b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.Format(_T("OnIncomingCSRCChanged(channel=%d) => CSRC=%u, added=%d"), channel, CSRC, added); 136b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ERROR_CALLBACK, (LPCTSTR)str); 137b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 138b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 139ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.orgvoid CWinTestDlg::OnIncomingSSRCChanged(int channel, unsigned int SSRC) 140b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 141b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 142b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.Format(_T("OnIncomingSSRCChanged(channel=%d) => SSRC=%u"), channel, SSRC); 143b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ERROR_CALLBACK, (LPCTSTR)str); 144b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 145b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 146b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 147b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Transport 148b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 149b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 150b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass MyTransport : public Transport 151b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 152b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgpublic: 153b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org MyTransport(VoENetwork* veNetwork); 154b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org virtual int SendPacket(int channel, const void *data, int len); 155b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org virtual int SendRTCPPacket(int channel, const void *data, int len); 156b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgprivate: 157b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoENetwork* _veNetworkPtr; 158b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 159b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 160b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgMyTransport::MyTransport(VoENetwork* veNetwork) : 161b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veNetworkPtr(veNetwork) 162b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 163b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 164b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 165b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint 166b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgMyTransport::SendPacket(int channel, const void *data, int len) 167b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 168b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veNetworkPtr->ReceivedRTPPacket(channel, data, len); 169b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return len; 170b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 171b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 172b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint 173b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgMyTransport::SendRTCPPacket(int channel, const void *data, int len) 174b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 175b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veNetworkPtr->ReceivedRTCPPacket(channel, data, len); 176b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return len; 177b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 178b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 179b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 180b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// VoEMediaProcess 181b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 182b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 183b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass MediaProcessImpl : public VoEMediaProcess 184b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 185b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgpublic: 186b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org MediaProcessImpl(); 187ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org virtual void Process(int channel, 188ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org ProcessingTypes type, 18954f03bc96c30337a3a97af7262cfb5148063b162pbos@webrtc.org int16_t audio_10ms[], 190ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org int length, 191ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org int samplingFreqHz, 192ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org bool stereo); 193b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 194b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 195b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgMediaProcessImpl::MediaProcessImpl() 196b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 197b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 198b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 199ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.orgvoid MediaProcessImpl::Process(int channel, 200ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org ProcessingTypes type, 20154f03bc96c30337a3a97af7262cfb5148063b162pbos@webrtc.org int16_t audio_10ms[], 202ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org int length, 203ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org int samplingFreqHz, 204ca7a9a2696d2f73f543241093c4faeb4c608678cpbos@webrtc.org bool stereo) 205b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 206b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int x = rand() % 100; 207b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 208b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org for (int i = 0; i < length; i++) 209b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 210b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (channel == -1) 211b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 212b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (type == kPlaybackAllChannelsMixed) 213b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 214b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // playout: scale up 215b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (!stereo) 216b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 217b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[i] = (audio_10ms[i] << 2); 218b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 219b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 220b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 221b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[2*i] = (audio_10ms[2*i] << 2); 222b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[2*i+1] = (audio_10ms[2*i+1] << 2); 223b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 224b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 225b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 226b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 227b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // recording: emulate packet loss by "dropping" 10% of the packets 228b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (x >= 0 && x < 10) 229b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 230b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (!stereo) 231b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 232b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[i] = 0; 233b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 234b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 235b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 236b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[2*i] = 0; 237b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[2*i+1] = 0; 238b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 239b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 240b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 241b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 242b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 243b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 244b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (type == kPlaybackPerChannel) 245b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 246b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // playout: mute 247b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (!stereo) 248b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 249b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[i] = 0; 250b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 251b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 252b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 253b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[2*i] = 0; 254b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[2*i+1] = 0; 255b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 256b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 257b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 258b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 259b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // recording: emulate packet loss by "dropping" 50% of the packets 260b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (x >= 0 && x < 50) 261b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 262b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (!stereo) 263b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 264b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[i] = 0; 265b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 266b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 267b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 268b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[2*i] = 0; 269b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org audio_10ms[2*i+1] = 0; 270b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 271b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 272b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 273b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 274b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 275b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 276b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 277b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 278b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// TelephoneEventObserver 279b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 280b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 281b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass TelephoneEventObserver: public VoETelephoneEventObserver 282b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 283b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgpublic: 284b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TelephoneEventObserver(CWnd* editControlOut, CWnd* editControlIn); 285b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org virtual void OnReceivedTelephoneEventInband(int channel, int eventCode, 286b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool endOfEvent); 287b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org virtual void OnReceivedTelephoneEventOutOfBand(int channel, int eventCode, 288b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool endOfEvent); 289b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgprivate: 290b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CWnd* _editControlOutPtr; 291b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CWnd* _editControlInPtr; 292b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 293b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 294b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgTelephoneEventObserver::TelephoneEventObserver(CWnd* editControlOut, CWnd* editControlIn) : 295b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _editControlOutPtr(editControlOut), 296b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _editControlInPtr(editControlIn) 297b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 298b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 299b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 300b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid TelephoneEventObserver::OnReceivedTelephoneEventInband(int channel, 301b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int eventCode, 302b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool endOfEvent) 303b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 304b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString msg; 305b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (endOfEvent) 306b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 307b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org msg.AppendFormat(_T("%d [END]"), eventCode); 308b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _editControlInPtr->SetWindowText((LPCTSTR)msg); 309b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 310b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 311b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 312b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org msg.AppendFormat(_T("%d [START]"), eventCode); 313b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _editControlInPtr->SetWindowText((LPCTSTR)msg); 314b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 315b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 316b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 317b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid TelephoneEventObserver::OnReceivedTelephoneEventOutOfBand(int channel, 318b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int eventCode, 319b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool endOfEvent) 320b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 321b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString msg; 322b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (endOfEvent) 323b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 324b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org msg.AppendFormat(_T("%d [END]"), eventCode); 325b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _editControlOutPtr->SetWindowText((LPCTSTR)msg); 326b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 327b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 328b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 329b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org msg.AppendFormat(_T("%d [START]"), eventCode); 330b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _editControlOutPtr->SetWindowText((LPCTSTR)msg); 331b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 332b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 333b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 334b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 335b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// RxVadCallback 336b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 337b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 338b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass RxCallback : public VoERxVadCallback 339b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 340b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgpublic: 341b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org RxCallback() : vad_decision(-1) {}; 342b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 343b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org virtual void OnRxVad(int , int vadDecision) 344b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 345b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vad_decision = vadDecision; 346b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 347b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 348b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int vad_decision; 349b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 350b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 351b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 352b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// CAboutDlg dialog 353b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 354b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 355b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass CAboutDlg : public CDialog 356b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 357b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgpublic: 358b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CAboutDlg(); 359b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 360b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Dialog Data 361b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org enum { IDD = IDD_ABOUTBOX }; 362b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 363b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org protected: 364b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 365b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 366b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Implementation 367b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgprotected: 368b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org DECLARE_MESSAGE_MAP() 369b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 370b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 371b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgCAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) 372b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 373b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 374b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 375b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CAboutDlg::DoDataExchange(CDataExchange* pDX) 376b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 377b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog::DoDataExchange(pDX); 378b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 379b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 380b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgBEGIN_MESSAGE_MAP(CAboutDlg, CDialog) 381b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgEND_MESSAGE_MAP() 382b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 383b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 384b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// CTelephonyEvent dialog 385b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 386b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 387b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass CTelephonyEvent : public CDialog 388b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 389b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org DECLARE_DYNAMIC(CTelephonyEvent) 390b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 391b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgpublic: 392b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CTelephonyEvent(VoiceEngine* voiceEngine, int channel, CDialog* pParentDialog, CWnd* pParent = NULL); // standard constructor 393b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org virtual ~CTelephonyEvent(); 394b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 395b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Dialog Data 396b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org enum { IDD = IDD_DTMF_DIALOG }; 397b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 398b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgprotected: 399b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 400b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org virtual BOOL OnInitDialog(); 401b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 402b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org DECLARE_MESSAGE_MAP() 403b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgpublic: 404b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton1(); 405b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton2(); 406b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton3(); 407b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton4(); 408b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton5(); 409b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton6(); 410b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton7(); 411b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton8(); 412b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton9(); 413b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton10(); 414b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton11(); 415b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButton12(); 416b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButtonA(); 417b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButtonB(); 418b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButtonC(); 419b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButtonD(); 420b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedCheckDtmfPlayoutRx(); 421b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedCheckDtmfPlayTone(); 422b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedCheckStartStopMode(); 423b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedCheckEventInband(); 424b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedCheckDtmfFeedback(); 425b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedCheckDirectFeedback(); 426b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedRadioSingle(); 427b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedRadioMulti(); 428b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedRadioStartStop(); 429b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButtonSetRxTelephonePt(); 430b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButtonSetTxTelephonePt(); 431b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedButtonSendTelephoneEvent(); 432b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedCheckDetectInband(); 433b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedCheckDetectOutOfBand(); 434b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org afx_msg void OnBnClickedCheckEventDetection(); 435b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 436b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgprivate: 437b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org void SendTelephoneEvent(unsigned char eventCode); 438b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 439b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgprivate: 440b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoiceEngine* _vePtr; 441b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoEBase* _veBasePtr; 442b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoEDtmf* _veDTMFPtr; 443b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoECodec* _veCodecPtr; 444b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int _channel; 445b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString _strMsg; 446b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog* _parentDialogPtr; 447b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TelephoneEventObserver* _telephoneEventObserverPtr; 448b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool _PlayDtmfToneLocally; 449b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool _modeStartStop; 450b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool _modeSingle; 451b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool _modeSequence; 452b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool _playingDTMFTone; 453b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool _outOfBandEventDetection; 454b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool _inbandEventDetection; 455b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 456b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 457b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgIMPLEMENT_DYNAMIC(CTelephonyEvent, CDialog) 458b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 459b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgCTelephonyEvent::CTelephonyEvent(VoiceEngine* voiceEngine, 460b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel, 461b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog* pParentDialog, 462b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CWnd* pParent /*=NULL*/) 463b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org : _vePtr(voiceEngine), 464b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _channel(channel), 465b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _PlayDtmfToneLocally(false), 466b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeStartStop(false), 467b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeSingle(true), 468b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeSequence(false), 469b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _playingDTMFTone(false), 470b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _outOfBandEventDetection(true), 471b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _inbandEventDetection(false), 472b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _parentDialogPtr(pParentDialog), 473b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _telephoneEventObserverPtr(NULL), 474b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog(CTelephonyEvent::IDD, pParent) 475b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 476b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veBasePtr = VoEBase::GetInterface(_vePtr); 477b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr = VoEDtmf::GetInterface(_vePtr); 478b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr = VoECodec::GetInterface(_vePtr); 479b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 480b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 481b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgCTelephonyEvent::~CTelephonyEvent() 482b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 483b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr->Release(); 484b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->Release(); 485b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veBasePtr->Release(); 486b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 487b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_telephoneEventObserverPtr) 488b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 489b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr->DeRegisterTelephoneEventDetection(_channel); 490b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org delete _telephoneEventObserverPtr; 491b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _telephoneEventObserverPtr = NULL; 492b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 493b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 494b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 495b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::DoDataExchange(CDataExchange* pDX) 496b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 497b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog::DoDataExchange(pDX); 498b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 499b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 500b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 501b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgBEGIN_MESSAGE_MAP(CTelephonyEvent, CDialog) 502b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_1, &CTelephonyEvent::OnBnClickedButton1) 503b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_2, &CTelephonyEvent::OnBnClickedButton2) 504b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_3, &CTelephonyEvent::OnBnClickedButton3) 505b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_4, &CTelephonyEvent::OnBnClickedButton4) 506b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_5, &CTelephonyEvent::OnBnClickedButton5) 507b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_6, &CTelephonyEvent::OnBnClickedButton6) 508b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_7, &CTelephonyEvent::OnBnClickedButton7) 509b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_8, &CTelephonyEvent::OnBnClickedButton8) 510b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_9, &CTelephonyEvent::OnBnClickedButton9) 511b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_10, &CTelephonyEvent::OnBnClickedButton10) 512b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_11, &CTelephonyEvent::OnBnClickedButton11) 513b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_12, &CTelephonyEvent::OnBnClickedButton12) 514b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_13, &CTelephonyEvent::OnBnClickedButtonA) 515b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_14, &CTelephonyEvent::OnBnClickedButtonB) 516b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_15, &CTelephonyEvent::OnBnClickedButtonC) 517b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_16, &CTelephonyEvent::OnBnClickedButtonD) 518b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_DTMF_PLAYOUT_RX, &CTelephonyEvent::OnBnClickedCheckDtmfPlayoutRx) 519b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_DTMF_PLAY_TONE, &CTelephonyEvent::OnBnClickedCheckDtmfPlayTone) 520b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EVENT_INBAND, &CTelephonyEvent::OnBnClickedCheckEventInband) 521b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_DTMF_FEEDBACK, &CTelephonyEvent::OnBnClickedCheckDtmfFeedback) 522b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_DIRECT_FEEDBACK, &CTelephonyEvent::OnBnClickedCheckDirectFeedback) 523b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_RADIO_SINGLE, &CTelephonyEvent::OnBnClickedRadioSingle) 524b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_RADIO_MULTI, &CTelephonyEvent::OnBnClickedRadioMulti) 525b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_RADIO_START_STOP, &CTelephonyEvent::OnBnClickedRadioStartStop) 526b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_SET_RX_TELEPHONE_PT, &CTelephonyEvent::OnBnClickedButtonSetRxTelephonePt) 527b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_SET_TX_TELEPHONE_PT, &CTelephonyEvent::OnBnClickedButtonSetTxTelephonePt) 528b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_SEND_TELEPHONE_EVENT, &CTelephonyEvent::OnBnClickedButtonSendTelephoneEvent) 529b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_DETECT_INBAND, &CTelephonyEvent::OnBnClickedCheckDetectInband) 530b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_DETECT_OUT_OF_BAND, &CTelephonyEvent::OnBnClickedCheckDetectOutOfBand) 531b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EVENT_DETECTION, &CTelephonyEvent::OnBnClickedCheckEventDetection) 532b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgEND_MESSAGE_MAP() 533b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 534b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 535b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// CTelephonyEvent message handlers 536b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 537b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgBOOL CTelephonyEvent::OnInitDialog() 538b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 539b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog::OnInitDialog(); 540b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 541b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 542b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetWindowText(str); 543b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.AppendFormat(_T(" [channel = %d]"), _channel); 544b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetWindowText(str); 545b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 546b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Update dialog with latest playout state 547b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool enabled(false); 548b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr->GetDtmfPlayoutStatus(_channel, enabled); 549b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_DTMF_PLAYOUT_RX); 550b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(enabled ? BST_CHECKED : BST_UNCHECKED); 551b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 552b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Update dialog with latest feedback state 553b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool directFeedback(false); 554b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr->GetDtmfFeedbackStatus(enabled, directFeedback); 555b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_DTMF_FEEDBACK); 556b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(enabled ? BST_CHECKED : BST_UNCHECKED); 557b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_DIRECT_FEEDBACK); 558b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(directFeedback ? BST_CHECKED : BST_UNCHECKED); 559b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 560b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Default event length is 160 ms 561b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_EVENT_LENGTH, 160); 562b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 563b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Default event attenuation is 10 (<-> -10dBm0) 564b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_EVENT_ATTENUATION, 10); 565b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 566b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Current event-detection status 567b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TelephoneEventDetectionMethods detectionMethod(kOutOfBand); 568b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veDTMFPtr->GetTelephoneEventDetectionStatus(_channel, enabled, detectionMethod) == 0) 569b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 570b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // DTMF detection is supported 571b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enabled) 572b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 573b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_EVENT_DETECTION); 574b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_CHECKED); 575b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 576b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (detectionMethod == kOutOfBand || detectionMethod == kInAndOutOfBand) 577b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 578b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_DETECT_OUT_OF_BAND); 579b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_CHECKED); 580b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 581b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (detectionMethod == kInBand || detectionMethod == kInAndOutOfBand) 582b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 583b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_DETECT_INBAND); 584b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_CHECKED); 585b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 586b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 587b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 588b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 589b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // DTMF detection is not supported 590b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EVENT_DETECTION)->EnableWindow(FALSE); 591b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_DETECT_OUT_OF_BAND)->EnableWindow(FALSE); 592b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_DETECT_INBAND)->EnableWindow(FALSE); 593b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_ON_EVENT_INBAND)->EnableWindow(FALSE); 594b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_ON_EVENT_OUT_OF_BAND)->EnableWindow(FALSE); 595b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 596b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 597b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Telephone-event PTs 598b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org unsigned char pt(0); 599b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr->GetSendTelephoneEventPayloadType(_channel, pt); 600b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_EVENT_TX_PT, pt); 601b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 602b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 603b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strcpy_s(codec.plname, 32, "telephone-event"); codec.channels = 1; codec.plfreq = 8000; 604b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->GetRecPayloadType(_channel, codec); 605b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_EVENT_RX_PT, codec.pltype); 606b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 607b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_modeSingle) 608b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 609b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ((CButton*)GetDlgItem(IDC_RADIO_SINGLE))->SetCheck(BST_CHECKED); 610b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 611b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_modeStartStop) 612b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 613b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ((CButton*)GetDlgItem(IDC_RADIO_START_STOP))->SetCheck(BST_CHECKED); 614b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 615b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_modeSequence) 616b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 617b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ((CButton*)GetDlgItem(IDC_RADIO_MULTI))->SetCheck(BST_CHECKED); 618b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 619b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 620b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return TRUE; // return TRUE unless you set the focus to a control 621b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 622b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::SendTelephoneEvent(unsigned char eventCode) 623b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 624b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org BOOL ret; 625b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int lengthMs(0); 626b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int attenuationDb(0); 627b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool outBand(false); 628b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int res(0); 629b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 630b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // tone length 631b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (!_modeStartStop) 632b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 633b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lengthMs = GetDlgItemInt(IDC_EDIT_EVENT_LENGTH, &ret); 634b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == FALSE) 635b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 636b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // use default length if edit field is empty 637b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lengthMs = 160; 638b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 639b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 640b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 641b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // attenuation 642b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org attenuationDb = GetDlgItemInt(IDC_EDIT_EVENT_ATTENUATION, &ret); 643b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == FALSE) 644b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 645b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // use default length if edit field is empty 646b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org attenuationDb = 10; 647b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 648b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 649b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // out-band or in-band 650b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_EVENT_INBAND); 651b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 652b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org outBand = (check == BST_UNCHECKED); 653b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 654b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (eventCode < 16) 655b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_DTMF_EVENT, eventCode); 656b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 657b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_PlayDtmfToneLocally) 658b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 659b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- PlayDtmfTone 660b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 661b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_modeSingle) 662b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 663b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->PlayDtmfTone(eventCode, lengthMs, attenuationDb) == 0, 664b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("PlayDtmfTone(eventCode=%u, lengthMs=%d, attenuationDb=%d)"), eventCode, lengthMs, attenuationDb); 665b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 666b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_modeStartStop) 667b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 668b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (!_playingDTMFTone) 669b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 670b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2((res = _veDTMFPtr->StartPlayingDtmfTone(eventCode, attenuationDb)) == 0, 671b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StartPlayingDtmfTone(eventCode=%u, attenuationDb=%d)"), eventCode, attenuationDb); 672b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 673b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 674b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 675b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2((res = _veDTMFPtr->StopPlayingDtmfTone()) == 0, 676b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StopPlayingDTMFTone()")); 677b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 678b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (res == 0) 679b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _playingDTMFTone = !_playingDTMFTone; 680b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 681b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_modeSequence) 682b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 683b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int nTones(1); 684b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int sleepMs(0); 685b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int lenMult(1); 686b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (eventCode == 1) 687b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 688b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org nTones = 2; 689b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sleepMs = lengthMs; 690b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lenMult = 1; 691b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 692b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (eventCode == 2) 693b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 694b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org nTones = 2; 695b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sleepMs = lengthMs/2; 696b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lenMult = 2; 697b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 698b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (eventCode == 3) 699b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 700b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org nTones = 3; 701b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sleepMs = 0; 702b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lenMult = 1; 703b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 704b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org for (int i = 0; i < nTones; i++) 705b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 706b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->PlayDtmfTone(eventCode, lengthMs, attenuationDb) == 0, 707b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("PlayDtmfTone(eventCode=%u, outBand=%d, lengthMs=%d, attenuationDb=%d)"), eventCode, lengthMs, attenuationDb); 708b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org Sleep(sleepMs); 709b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lengthMs = lenMult*lengthMs; 710b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org eventCode++; 711b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 712b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 713b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 714b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 715b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 716b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- SendTelephoneEvent 717b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 718b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_modeSingle) 719b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 720b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->SendTelephoneEvent(_channel, eventCode, outBand, lengthMs, attenuationDb) == 0, 721b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SendTelephoneEvent(channel=%d, eventCode=%u, outBand=%d, lengthMs=%d, attenuationDb=%d)"), _channel, eventCode, outBand, lengthMs, attenuationDb); 722b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 723b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_modeStartStop) 724b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 725b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(false, _T("*** NOT IMPLEMENTED ***")); 726b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 727b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_modeSequence) 728b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 729b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int nTones(1); 730b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int sleepMs(0); 731b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int lenMult(1); 732b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (eventCode == 1) 733b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 734b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org nTones = 2; 735b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sleepMs = lengthMs; 736b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lenMult = 1; 737b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 738b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (eventCode == 2) 739b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 740b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org eventCode = 1; 741b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org nTones = 2; 742b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sleepMs = lengthMs/2; 743b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lenMult = 2; 744b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 745b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (eventCode == 3) 746b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 747b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org eventCode = 1; 748b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org nTones = 3; 749b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sleepMs = 0; 750b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lenMult = 1; 751b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 752b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org for (int i = 0; i < nTones; i++) 753b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 754b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->SendTelephoneEvent(_channel, eventCode, outBand, lengthMs, attenuationDb) == 0, 755b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SendTelephoneEvent(channel=%d, eventCode=%u, outBand=%d, lengthMs=%d, attenuationDb=%d)"), _channel, eventCode, outBand, lengthMs, attenuationDb); 756b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org Sleep(sleepMs); 757b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org lengthMs = lenMult*lengthMs; 758b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org eventCode++; 759b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 760b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 761b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 762b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 763b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 764b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButtonSendTelephoneEvent() 765b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 766b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org BOOL ret; 767b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org unsigned char eventCode(0); 768b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 769b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org eventCode = (unsigned char)GetDlgItemInt(IDC_EDIT_EVENT_CODE, &ret); 770b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == FALSE) 771b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 772b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return; 773b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 774b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(eventCode); 775b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 776b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 777b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton1() 778b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 779b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(1); 780b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 781b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 782b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton2() 783b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 784b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(2); 785b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 786b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 787b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton3() 788b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 789b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(3); 790b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 791b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 792b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton4() 793b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 794b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(4); 795b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 796b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 797b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton5() 798b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 799b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(5); 800b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 801b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 802b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton6() 803b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 804b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(6); 805b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 806b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 807b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton7() 808b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 809b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(7); 810b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 811b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 812b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton8() 813b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 814b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(8); 815b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 816b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 817b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton9() 818b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 819b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(9); 820b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 821b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 822b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton10() 823b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 824b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // * 825b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(10); 826b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 827b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 828b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton11() 829b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 830b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(0); 831b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 832b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 833b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButton12() 834b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 835b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // # 836b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(11); 837b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 838b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 839b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButtonA() 840b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 841b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(12); 842b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 843b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 844b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButtonB() 845b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 846b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(13); 847b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 848b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 849b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButtonC() 850b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 851b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(14); 852b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 853b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 854b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButtonD() 855b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 856b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendTelephoneEvent(15); 857b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 858b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 859b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedCheckDtmfPlayoutRx() 860b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 861b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_DTMF_PLAYOUT_RX); 862b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 863b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 864b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->SetDtmfPlayoutStatus(_channel, enable) == 0, _T("SetDtmfPlayoutStatus(channel=%d, enable=%d)"), _channel, enable); 865b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 866b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 867b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedCheckDtmfPlayTone() 868b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 869b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_DTMF_PLAY_TONE); 870b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 871b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _PlayDtmfToneLocally = (check == BST_CHECKED); 872b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 873b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 874b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedRadioSingle() 875b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 876b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeStartStop = false; 877b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeSingle = true; 878b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeSequence = false; 879b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 880b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 881b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedRadioMulti() 882b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 883b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeStartStop = false; 884b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeSingle = false; 885b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeSequence = true; 886b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 887b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 888b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedRadioStartStop() 889b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 890b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // CButton* button = (CButton*)GetDlgItem(IDC_RADIO_START_STOP); 891b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // int check = button->GetCheck(); 892b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeStartStop = true; 893b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeSingle = false; 894b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _modeSequence = false; 895b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // GetDlgItem(IDC_EDIT_EVENT_LENGTH)->EnableWindow(); 896b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 897b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 898b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedCheckEventInband() 899b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 900b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_EVENT_INBAND); 901b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 902b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_EVENT_CODE)->EnableWindow(check?FALSE:TRUE); 903b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_SEND_TELEPHONE_EVENT)->EnableWindow(check?FALSE:TRUE); 904b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 905b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 906b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedCheckDtmfFeedback() 907b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 908b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button(NULL); 909b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 910b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Retrieve feedback state 911b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_DTMF_FEEDBACK); 912b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 913b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 914b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 915b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Retrieve direct-feedback setting 916b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_DIRECT_FEEDBACK); 917b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org check = button->GetCheck(); 918b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool directFeedback = (check == BST_CHECKED); 919b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 920b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // GetDlgItem(IDC_CHECK_DIRECT_FEEDBACK)->EnableWindow(enable ? TRUE : FALSE); 921b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 922b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->SetDtmfFeedbackStatus(enable, directFeedback) == 0, 923b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetDtmfFeedbackStatus(enable=%d, directFeedback=%d)"), enable, directFeedback); 924b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 925b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 926b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedCheckDirectFeedback() 927b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 928b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button(NULL); 929b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 930b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Retrieve feedback state 931b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_DTMF_FEEDBACK); 932b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 933b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 934b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 935b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Retrieve new direct-feedback setting 936b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_DIRECT_FEEDBACK); 937b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org check = button->GetCheck(); 938b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool directFeedback = (check == BST_CHECKED); 939b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 940b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->SetDtmfFeedbackStatus(enable, directFeedback) == 0, 941b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetDtmfFeedbackStatus(enable=%d, directFeedback=%d)"), enable, directFeedback); 942b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 943b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 944b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButtonSetRxTelephonePt() 945b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 946b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org BOOL ret; 947b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int pt = GetDlgItemInt(IDC_EDIT_EVENT_RX_PT, &ret); 948b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == FALSE) 949b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return; 950b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 951b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strcpy_s(codec.plname, 32, "telephone-event"); 952b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org codec.pltype = pt; codec.channels = 1; codec.plfreq = 8000; 953b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veCodecPtr->SetRecPayloadType(_channel, codec) == 0, 954b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetSendTelephoneEventPayloadType(channel=%d, codec.pltype=%u)"), _channel, codec.pltype); 955b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 956b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 957b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedButtonSetTxTelephonePt() 958b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 959b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org BOOL ret; 960b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int pt = GetDlgItemInt(IDC_EDIT_EVENT_TX_PT, &ret); 961b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == FALSE) 962b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return; 963b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->SetSendTelephoneEventPayloadType(_channel, pt) == 0, 964b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetSendTelephoneEventPayloadType(channel=%d, type=%u)"), _channel, pt); 965b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 966b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 967b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedCheckDetectInband() 968b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 969b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_DETECT_INBAND); 970b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 971b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _inbandEventDetection = (check == BST_CHECKED); 972b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 973b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool enabled(false); 974b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TelephoneEventDetectionMethods detectionMethod; 975b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr->GetTelephoneEventDetectionStatus(_channel, enabled, detectionMethod); 976b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enabled) 977b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 978b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // deregister 979b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr->DeRegisterTelephoneEventDetection(_channel); 980b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org delete _telephoneEventObserverPtr; 981b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _telephoneEventObserverPtr = NULL; 982b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ON_EVENT_INBAND,_T("")); 983b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ON_EVENT_OUT_OF_BAND,_T("")); 984b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 985b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org OnBnClickedCheckEventDetection(); 986b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 987b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 988b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedCheckDetectOutOfBand() 989b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 990b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_DETECT_OUT_OF_BAND); 991b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 992b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _outOfBandEventDetection = (check == BST_CHECKED); 993b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 994b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool enabled(false); 995b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TelephoneEventDetectionMethods detectionMethod; 996b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr->GetTelephoneEventDetectionStatus(_channel, enabled, detectionMethod); 997b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enabled) 998b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 999b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // deregister 1000b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veDTMFPtr->DeRegisterTelephoneEventDetection(_channel); 1001b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org delete _telephoneEventObserverPtr; 1002b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _telephoneEventObserverPtr = NULL; 1003b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ON_EVENT_INBAND,_T("")); 1004b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ON_EVENT_OUT_OF_BAND,_T("")); 1005b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1006b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org OnBnClickedCheckEventDetection(); 1007b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1008b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1009b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CTelephonyEvent::OnBnClickedCheckEventDetection() 1010b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1011b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_EVENT_DETECTION); 1012b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 1013b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 1014b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1015b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 1016b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1017b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TelephoneEventDetectionMethods method(kInBand); 1018b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_inbandEventDetection && !_outOfBandEventDetection) 1019b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org method = kInBand; 1020b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (!_inbandEventDetection && _outOfBandEventDetection) 1021b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org method = kOutOfBand; 1022b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_inbandEventDetection && _outOfBandEventDetection) 1023b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org method = kInAndOutOfBand; 1024b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1025b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CWnd* wndOut = GetDlgItem(IDC_EDIT_ON_EVENT_OUT_OF_BAND); 1026b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CWnd* wndIn = GetDlgItem(IDC_EDIT_ON_EVENT_INBAND); 1027b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _telephoneEventObserverPtr = new TelephoneEventObserver(wndOut, wndIn); 1028b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1029b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->RegisterTelephoneEventDetection(_channel, method, *_telephoneEventObserverPtr) == 0, 1030b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("RegisterTelephoneEventDetection(channel=%d, detectionMethod=%d)"), _channel, method); 1031b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1032b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 1033b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1034b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST2(_veDTMFPtr->DeRegisterTelephoneEventDetection(_channel) == 0, 1035b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("DeRegisterTelephoneEventDetection(channel=%d)"), _channel); 1036b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org delete _telephoneEventObserverPtr; 1037b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _telephoneEventObserverPtr = NULL; 1038b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ON_EVENT_INBAND,_T("")); 1039b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ON_EVENT_OUT_OF_BAND,_T("")); 1040b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1041b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1042b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1043b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ============================================================================ 1044b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// CWinTestDlg dialog 1045b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ============================================================================ 1046b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1047b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgCWinTestDlg::CWinTestDlg(CWnd* pParent /*=NULL*/) 1048b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org : CDialog(CWinTestDlg::IDD, pParent), 1049b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _failCount(0), 1050b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _vePtr(NULL), 1051b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veBasePtr(NULL), 1052b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr(NULL), 1053b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veNetworkPtr(NULL), 1054b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veFilePtr(NULL), 1055b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr(NULL), 1056b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veExternalMediaPtr(NULL), 1057b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veApmPtr(NULL), 1058b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veRtpRtcpPtr(NULL), 1059b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _transportPtr(NULL), 1060b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _externalMediaPtr(NULL), 1061b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _externalTransport(false), 1062b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _externalTransportBuild(false), 1063b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkPlayFileIn(0), 1064b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkPlayFileIn1(0), 1065b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkPlayFileIn2(0), 1066b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkPlayFileOut1(0), 1067b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkPlayFileOut2(0), 1068b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkAGC(0), 1069b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkAGC1(0), 1070b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkNS(0), 1071b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkNS1(0), 1072b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkEC(0), 1073b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkVAD1(0), 1074b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkVAD2(0), 1075b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkSrtpTx1(0), 1076b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkSrtpTx2(0), 1077b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkSrtpRx1(0), 1078b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkSrtpRx2(0), 1079b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkConference1(0), 1080b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkConference2(0), 1081b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkOnHold1(0), 1082b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkOnHold2(0), 1083b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _strComboIp1(_T("")), 1084b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _strComboIp2(_T("")), 1085b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _delayEstimate1(false), 1086b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _delayEstimate2(false), 1087b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _rxVad(false), 1088b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _nErrorCallbacks(0), 1089b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _timerTicks(0) 1090b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1091b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 1092b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1093b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _vePtr = VoiceEngine::Create(); 1094b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1095b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoiceEngine::SetTraceFilter(kTraceNone); 1096b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // VoiceEngine::SetTraceFilter(kTraceAll); 1097b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // VoiceEngine::SetTraceFilter(kTraceStream | kTraceStateInfo | kTraceWarning | kTraceError | kTraceCritical | kTraceApiCall | kTraceModuleCall | kTraceMemory | kTraceDebug | kTraceInfo); 1098b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // VoiceEngine::SetTraceFilter(kTraceStateInfo | kTraceWarning | kTraceError | kTraceCritical | kTraceApiCall | kTraceModuleCall | kTraceMemory | kTraceInfo); 1099b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1100b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoiceEngine::SetTraceFile("ve_win_test.txt"); 1101b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoiceEngine::SetTraceCallback(NULL); 1102b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1103b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_vePtr) 1104b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1105b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veExternalMediaPtr = VoEExternalMedia::GetInterface(_vePtr); 1106b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr = VoEVolumeControl::GetInterface(_vePtr); 1107b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVideoSyncPtr = VoEVideoSync::GetInterface(_vePtr); 1108b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veNetworkPtr = VoENetwork::GetInterface(_vePtr); 1109b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veFilePtr = VoEFile::GetInterface(_vePtr); 1110b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veApmPtr = VoEAudioProcessing::GetInterface(_vePtr); 1111b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1112b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veBasePtr = VoEBase::GetInterface(_vePtr); 1113b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr = VoECodec::GetInterface(_vePtr); 1114b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr = VoEHardware::GetInterface(_vePtr); 1115b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veRtpRtcpPtr = VoERTP_RTCP::GetInterface(_vePtr); 1116b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _transportPtr = new MyTransport(_veNetworkPtr); 1117b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _externalMediaPtr = new MediaProcessImpl(); 1118b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _connectionObserverPtr = new ConnectionObserver(); 1119b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _rxVadObserverPtr = new RxCallback(); 1120b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1121b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1122b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veBasePtr->RegisterVoiceEngineObserver(*this); 1123b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1124b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org std::string resource_path = webrtc::test::ProjectRootPath(); 1125b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (resource_path == webrtc::test::kCannotFindProjectRootDir) { 1126b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _long_audio_file_path = "./"; 1127b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } else { 1128b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _long_audio_file_path = resource_path + "data\\voice_engine\\"; 1129b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1130b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1131b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1132b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgCWinTestDlg::~CWinTestDlg() 1133b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1134b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_connectionObserverPtr) delete _connectionObserverPtr; 1135b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_externalMediaPtr) delete _externalMediaPtr; 1136b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_transportPtr) delete _transportPtr; 1137b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_rxVadObserverPtr) delete _rxVadObserverPtr; 1138b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1139b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veExternalMediaPtr) _veExternalMediaPtr->Release(); 1140b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veVideoSyncPtr) _veVideoSyncPtr->Release(); 1141b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veVolumeControlPtr) _veVolumeControlPtr->Release(); 1142b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1143b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veBasePtr) _veBasePtr->Terminate(); 1144b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veBasePtr) _veBasePtr->Release(); 1145b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1146b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veCodecPtr) _veCodecPtr->Release(); 1147b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veNetworkPtr) _veNetworkPtr->Release(); 1148b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veFilePtr) _veFilePtr->Release(); 1149b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veHardwarePtr) _veHardwarePtr->Release(); 1150b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veApmPtr) _veApmPtr->Release(); 1151b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veRtpRtcpPtr) _veRtpRtcpPtr->Release(); 1152b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_vePtr) 1153b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1154b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoiceEngine::Delete(_vePtr); 1155b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1156b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VoiceEngine::SetTraceFilter(kTraceNone); 1157b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1158b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1159b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::DoDataExchange(CDataExchange* pDX) 1160b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1161b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog::DoDataExchange(pDX); 1162b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org DDX_CBString(pDX, IDC_COMBO_IP_1, _strComboIp1); 1163b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org DDX_CBString(pDX, IDC_COMBO_IP_2, _strComboIp2); 1164b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1165b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1166b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgBEGIN_MESSAGE_MAP(CWinTestDlg, CDialog) 1167b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_WM_SYSCOMMAND() 1168b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_WM_PAINT() 1169b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_WM_QUERYDRAGICON() 1170b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_WM_TIMER() 1171b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org //}}AFX_MSG_MAP 1172b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_CREATE_1, &CWinTestDlg::OnBnClickedButtonCreate1) 1173b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_DELETE_1, &CWinTestDlg::OnBnClickedButtonDelete1) 1174b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_CREATE_2, &CWinTestDlg::OnBnClickedButtonCreate2) 1175b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_DELETE_2, &CWinTestDlg::OnBnClickedButtonDelete2) 1176b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_CBN_SELCHANGE(IDC_COMBO_CODEC_1, &CWinTestDlg::OnCbnSelchangeComboCodec1) 1177b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_START_LISTEN_1, &CWinTestDlg::OnBnClickedButtonStartListen1) 1178b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_STOP_LISTEN_1, &CWinTestDlg::OnBnClickedButtonStopListen1) 1179b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_START_PLAYOUT_1, &CWinTestDlg::OnBnClickedButtonStartPlayout1) 1180b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_STOP_PLAYOUT_1, &CWinTestDlg::OnBnClickedButtonStopPlayout1) 1181b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_START_SEND_1, &CWinTestDlg::OnBnClickedButtonStartSend1) 1182b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_STOP_SEND_1, &CWinTestDlg::OnBnClickedButtonStopSend1) 1183b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_CBN_SELCHANGE(IDC_COMBO_IP_2, &CWinTestDlg::OnCbnSelchangeComboIp2) 1184b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_CBN_SELCHANGE(IDC_COMBO_IP_1, &CWinTestDlg::OnCbnSelchangeComboIp1) 1185b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_CBN_SELCHANGE(IDC_COMBO_CODEC_2, &CWinTestDlg::OnCbnSelchangeComboCodec2) 1186b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_START_LISTEN_2, &CWinTestDlg::OnBnClickedButtonStartListen2) 1187b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_STOP_LISTEN_2, &CWinTestDlg::OnBnClickedButtonStopListen2) 1188b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_START_PLAYOUT_2, &CWinTestDlg::OnBnClickedButtonStartPlayout2) 1189b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_STOP_PLAYOUT_2, &CWinTestDlg::OnBnClickedButtonStopPlayout2) 1190b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_START_SEND_2, &CWinTestDlg::OnBnClickedButtonStartSend2) 1191b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_STOP_SEND_2, &CWinTestDlg::OnBnClickedButtonStopSend2) 1192b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_TRANS_1, &CWinTestDlg::OnBnClickedCheckExtTrans1) 1193b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_PLAY_FILE_IN_1, &CWinTestDlg::OnBnClickedCheckPlayFileIn1) 1194b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_PLAY_FILE_OUT_1, &CWinTestDlg::OnBnClickedCheckPlayFileOut1) 1195b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_TRANS_2, &CWinTestDlg::OnBnClickedCheckExtTrans2) 1196b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_PLAY_FILE_IN_2, &CWinTestDlg::OnBnClickedCheckPlayFileIn2) 1197b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_PLAY_FILE_OUT_2, &CWinTestDlg::OnBnClickedCheckPlayFileOut2) 1198b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_PLAY_FILE_IN, &CWinTestDlg::OnBnClickedCheckPlayFileIn) 1199b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_CBN_SELCHANGE(IDC_COMBO_REC_DEVICE, &CWinTestDlg::OnCbnSelchangeComboRecDevice) 1200b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_CBN_SELCHANGE(IDC_COMBO_PLAY_DEVICE, &CWinTestDlg::OnCbnSelchangeComboPlayDevice) 1201b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_MEDIA_IN_1, &CWinTestDlg::OnBnClickedCheckExtMediaIn1) 1202b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_MEDIA_OUT_1, &CWinTestDlg::OnBnClickedCheckExtMediaOut1) 1203b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_SLIDER_INPUT_VOLUME, &CWinTestDlg::OnNMReleasedcaptureSliderInputVolume) 1204b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_SLIDER_OUTPUT_VOLUME, &CWinTestDlg::OnNMReleasedcaptureSliderOutputVolume) 1205b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_AGC, &CWinTestDlg::OnBnClickedCheckAgc) 1206b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_NS, &CWinTestDlg::OnBnClickedCheckNs) 1207b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EC, &CWinTestDlg::OnBnClickedCheckEc) 1208b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_VAD_1, &CWinTestDlg::OnBnClickedCheckVad1) 1209b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_VAD_3, &CWinTestDlg::OnBnClickedCheckVad2) 1210b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_MEDIA_IN_2, &CWinTestDlg::OnBnClickedCheckExtMediaIn2) 1211b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_MEDIA_OUT_2, &CWinTestDlg::OnBnClickedCheckExtMediaOut2) 1212b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_MUTE_IN, &CWinTestDlg::OnBnClickedCheckMuteIn) 1213b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_MUTE_IN_1, &CWinTestDlg::OnBnClickedCheckMuteIn1) 1214b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_MUTE_IN_2, &CWinTestDlg::OnBnClickedCheckMuteIn2) 1215b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_SRTP_TX_1, &CWinTestDlg::OnBnClickedCheckSrtpTx1) 1216b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_SRTP_RX_1, &CWinTestDlg::OnBnClickedCheckSrtpRx1) 1217b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_SRTP_TX_2, &CWinTestDlg::OnBnClickedCheckSrtpTx2) 1218b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_SRTP_RX_2, &CWinTestDlg::OnBnClickedCheckSrtpRx2) 1219b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_ENCRYPTION_1, &CWinTestDlg::OnBnClickedCheckExtEncryption1) 1220b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_ENCRYPTION_2, &CWinTestDlg::OnBnClickedCheckExtEncryption2) 1221b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_DTMF_1, &CWinTestDlg::OnBnClickedButtonDtmf1) 1222b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_REC_MIC, &CWinTestDlg::OnBnClickedCheckRecMic) 1223b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_DTMF_2, &CWinTestDlg::OnBnClickedButtonDtmf2) 1224b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_TEST_1, &CWinTestDlg::OnBnClickedButtonTest1) 1225b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_CONFERENCE_1, &CWinTestDlg::OnBnClickedCheckConference1) 1226b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_CONFERENCE_2, &CWinTestDlg::OnBnClickedCheckConference2) 1227b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_ON_HOLD_1, &CWinTestDlg::OnBnClickedCheckOnHold1) 1228b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_ON_HOLD_2, &CWinTestDlg::OnBnClickedCheckOnHold2) 1229b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_MEDIA_IN, &CWinTestDlg::OnBnClickedCheckExtMediaIn) 1230b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_EXT_MEDIA_OUT, &CWinTestDlg::OnBnClickedCheckExtMediaOut) 1231b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_LBN_SELCHANGE(IDC_LIST_CODEC_1, &CWinTestDlg::OnLbnSelchangeListCodec1) 1232b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_SLIDER_PAN_LEFT, &CWinTestDlg::OnNMReleasedcaptureSliderPanLeft) 1233b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_SLIDER_PAN_RIGHT, &CWinTestDlg::OnNMReleasedcaptureSliderPanRight) 1234b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_VERSION, &CWinTestDlg::OnBnClickedButtonVersion) 1235b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_DELAY_ESTIMATE_1, &CWinTestDlg::OnBnClickedCheckDelayEstimate1) 1236b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_RXVAD, &CWinTestDlg::OnBnClickedCheckRxvad) 1237b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_AGC_1, &CWinTestDlg::OnBnClickedCheckAgc1) 1238b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_NS_1, &CWinTestDlg::OnBnClickedCheckNs1) 1239b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_REC_CALL, &CWinTestDlg::OnBnClickedCheckRecCall) 1240b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_CHECK_TYPING_DETECTION, &CWinTestDlg::OnBnClickedCheckTypingDetection) 1241dd671dea7a51c5db5e15123acac599e89f9be201minyue@webrtc.org ON_BN_CLICKED(IDC_CHECK_RED, &CWinTestDlg::OnBnClickedCheckRED) 1242b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ON_BN_CLICKED(IDC_BUTTON_CLEAR_ERROR_CALLBACK, &CWinTestDlg::OnBnClickedButtonClearErrorCallback) 1243b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgEND_MESSAGE_MAP() 1244b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1245b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgBOOL CWinTestDlg::UpdateTest(bool failed, const CString& strMsg) 1246b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1247b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (failed) 1248b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1249b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_MESSAGE, strMsg); 1250b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _strErr.Format(_T("FAILED (error=%d)"), _veBasePtr->LastError()); 1251b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_RESULT, _strErr); 1252b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _failCount++; 1253b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_N_FAILS, _failCount); 1254b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_LAST_ERROR, _veBasePtr->LastError()); 1255b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1256b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 1257b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1258b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_MESSAGE, strMsg); 1259b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_RESULT, _T("OK")); 1260b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1261b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return TRUE; 1262b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1263b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1264b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1265b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// CWinTestDlg message handlers 1266b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1267b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgBOOL CWinTestDlg::OnInitDialog() 1268b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1269b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog::OnInitDialog(); 1270b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1271b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Add "About..." menu item to system menu. 1272b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1273b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // IDM_ABOUTBOX must be in the system command range. 1274b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); 1275b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ASSERT(IDM_ABOUTBOX < 0xF000); 1276b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1277b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CMenu* pSysMenu = GetSystemMenu(FALSE); 1278b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (pSysMenu != NULL) 1279b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1280b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString strAboutMenu; 1281b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strAboutMenu.LoadString(IDS_ABOUTBOX); 1282b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (!strAboutMenu.IsEmpty()) 1283b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1284b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org pSysMenu->AppendMenu(MF_SEPARATOR); 1285b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); 1286b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1287b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1288b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1289b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Set the icon for this dialog. The framework does this automatically 1290b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // when the application's main window is not a dialog 1291b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetIcon(m_hIcon, TRUE); // Set big icon 1292b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetIcon(m_hIcon, FALSE); // Set small icon 1293b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1294b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // char version[1024]; 1295b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // _veBasePtr->GetVersion(version); 1296b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // AfxMessageBox(version, MB_OK); 1297b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1298b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veBasePtr->Init() != 0) 1299b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1300b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org AfxMessageBox(_T("Init() failed "), MB_OKCANCEL); 1301b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1302b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1303b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ch = _veBasePtr->CreateChannel(); 1304b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veBasePtr->SetSendDestination(ch, 1234, "127.0.0.1") == -1) 1305b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1306b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veBasePtr->LastError() == VE_EXTERNAL_TRANSPORT_ENABLED) 1307b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1308b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _strMsg.Format(_T("*** External transport build ***")); 1309b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_MESSAGE, _strMsg); 1310b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _externalTransportBuild = true; 1311b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1312b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1313b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veBasePtr->DeleteChannel(ch); 1314b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1315b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- Add (preferred) local IPv4 address in title 1316b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1317b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veNetworkPtr) 1318b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1319b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org char localIP[64]; 1320b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veNetworkPtr->GetLocalIP(localIP); 1321b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 1322b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetWindowText(str); 1323b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.AppendFormat(_T(" [Local IPv4 address: %s]"), CharToTchar(localIP, 64)); 1324b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetWindowText(str); 1325b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1326b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1327b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- Volume sliders 1328b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1329b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veVolumeControlPtr) 1330b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1331b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org unsigned int volume(0); 1332b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CSliderCtrl* slider(NULL); 1333b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1334b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_INPUT_VOLUME); 1335b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRangeMin(0); 1336b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRangeMax(255); 1337b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr->GetMicVolume(volume); 1338b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetPos(volume); 1339b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1340b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_OUTPUT_VOLUME); 1341b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRangeMin(0); 1342b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRangeMax(255); 1343b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr->GetSpeakerVolume(volume); 1344b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetPos(volume); 1345b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1346b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1347b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- Panning sliders 1348b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1349b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veVolumeControlPtr) 1350b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1351b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org float lVol(0.0); 1352b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org float rVol(0.0); 1353b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int leftVol, rightVol; 1354b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CSliderCtrl* slider(NULL); 1355b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1356b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr->GetOutputVolumePan(-1, lVol, rVol); 1357b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1358b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org leftVol = (int)(lVol*10.0f); // [0,10] 1359b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org rightVol = (int)(rVol*10.0f); // [0,10] 1360b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1361b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_PAN_LEFT); 1362b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRange(0,10); 1363b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetPos(10-leftVol); // pos 0 <=> max pan 1.0 (top of slider) 1364b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1365b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_PAN_RIGHT); 1366b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRange(0,10); 1367b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetPos(10-rightVol); 1368b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1369b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1370b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- APM settings 1371b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1372b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool enable(false); 1373b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button(NULL); 1374b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1375b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org AgcModes agcMode(kAgcDefault); 1376b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veApmPtr->GetAgcStatus(enable, agcMode) == 0) 1377b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1378b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_AGC); 1379b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org enable ? button->SetCheck(BST_CHECKED) : button->SetCheck(BST_UNCHECKED); 1380b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1381b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 1382b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1383b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // AGC is not supported 1384b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_AGC)->EnableWindow(FALSE); 1385b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1386b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1387b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org NsModes nsMode(kNsDefault); 1388b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veApmPtr->GetNsStatus(enable, nsMode) == 0) 1389b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1390b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_NS); 1391b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org enable ? button->SetCheck(BST_CHECKED) : button->SetCheck(BST_UNCHECKED); 1392b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1393b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 1394b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1395b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // NS is not supported 1396b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_NS)->EnableWindow(FALSE); 1397b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1398b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1399b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org EcModes ecMode(kEcDefault); 1400b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veApmPtr->GetEcStatus(enable, ecMode) == 0) 1401b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1402b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_EC); 1403b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org enable ? button->SetCheck(BST_CHECKED) : button->SetCheck(BST_UNCHECKED); 1404b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1405b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 1406b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1407b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // EC is not supported 1408b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EC)->EnableWindow(FALSE); 1409b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1410b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1411b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- First channel section 1412b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1413b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_IP_1)->EnableWindow(FALSE); 1414b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_TX_PORT_1)->EnableWindow(FALSE); 1415b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_RX_PORT_1)->EnableWindow(FALSE); 1416b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_CODEC_1)->EnableWindow(FALSE); 1417b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_LIST_CODEC_1)->EnableWindow(FALSE); 1418b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_CODEC_1)->EnableWindow(FALSE); 1419b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DELETE_1)->EnableWindow(FALSE); 1420b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_1)->EnableWindow(FALSE); 1421b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_LISTEN_1)->EnableWindow(FALSE); 1422b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_1)->EnableWindow(FALSE); 1423b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_PLAYOUT_1)->EnableWindow(FALSE); 1424b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_1)->EnableWindow(FALSE); 1425b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_SEND_1)->EnableWindow(FALSE); 1426b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_TRANS_1)->EnableWindow(FALSE); 1427b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_IN_1)->EnableWindow(FALSE); 1428b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_1)->EnableWindow(FALSE); 1429b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_1)->EnableWindow(FALSE); 1430b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_1)->EnableWindow(FALSE); 1431b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_VAD_1)->EnableWindow(FALSE); 1432b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_MUTE_IN_1)->EnableWindow(FALSE); 1433b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_TX_1)->EnableWindow(FALSE); 1434b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_RX_1)->EnableWindow(FALSE); 1435b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_ENCRYPTION_1)->EnableWindow(FALSE); 1436b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DTMF_1)->EnableWindow(FALSE); 1437b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_CONFERENCE_1)->EnableWindow(FALSE); 1438b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_ON_HOLD_1)->EnableWindow(FALSE); 1439b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_DELAY_ESTIMATE_1)->EnableWindow(FALSE); 1440b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_RXVAD)->EnableWindow(FALSE); 1441b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_AGC_1)->EnableWindow(FALSE); 1442b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_NS_1)->EnableWindow(FALSE); 1443dd671dea7a51c5db5e15123acac599e89f9be201minyue@webrtc.org GetDlgItem(IDC_CHECK_RED)->EnableWindow(FALSE); 1444b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1445b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboIP(NULL); 1446b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboIP = (CComboBox*)GetDlgItem(IDC_COMBO_IP_1); 1447b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboIP->AddString(_T("127.0.0.1")); 1448b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboIP->SetCurSel(0); 1449b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1450b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_TX_PORT_1, 1111); 1451b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_RX_PORT_1, 1111); 1452b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1453b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- Add supported codecs to the codec combo box 1454b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1455b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboCodec(NULL); 1456b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec = (CComboBox*)GetDlgItem(IDC_COMBO_CODEC_1); 1457b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec->ResetContent(); 1458b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1459b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int numCodecs = _veCodecPtr->NumOfCodecs(); 1460b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org for (int idx = 0; idx < numCodecs; idx++) 1461b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1462b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 1463b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->GetCodec(idx, codec); 1464b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if ((_stricmp(codec.plname, "CNNB") != 0) && 1465b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org (_stricmp(codec.plname, "CNWB") != 0)) 1466b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1467b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString strCodec; 1468b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_stricmp(codec.plname, "G7221") == 0) 1469b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strCodec.Format(_T("%s (%d/%d/%d)"), CharToTchar(codec.plname, 32), codec.pltype, codec.plfreq/1000, codec.rate/1000); 1470b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 1471b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strCodec.Format(_T("%s (%d/%d)"), CharToTchar(codec.plname, 32), codec.pltype, codec.plfreq/1000); 1472b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec->AddString(strCodec); 1473b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1474b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (idx == 0) 1475b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1476b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_CODEC_1, codec.pltype); 1477b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1478b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1479b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec->SetCurSel(0); 1480b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1481b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CListBox* list = (CListBox*)GetDlgItem(IDC_LIST_CODEC_1); 1482b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org list->AddString(_T("pltype")); 1483b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org list->AddString(_T("plfreq")); 1484b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org list->AddString(_T("pacsize")); 1485b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org list->AddString(_T("channels")); 1486b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org list->AddString(_T("rate")); 1487b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org list->SetCurSel(0); 1488b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1489b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- Add available audio devices to the combo boxes 1490b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1491b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboRecDevice(NULL); 1492b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboPlayDevice(NULL); 1493b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboRecDevice = (CComboBox*)GetDlgItem(IDC_COMBO_REC_DEVICE); 1494b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboPlayDevice = (CComboBox*)GetDlgItem(IDC_COMBO_PLAY_DEVICE); 1495b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboRecDevice->ResetContent(); 1496b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboPlayDevice->ResetContent(); 1497b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1498b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veHardwarePtr) 1499b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1500b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int numPlayout(0); 1501b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int numRecording(0); 1502b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org char nameStr[128]; 1503b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org char guidStr[128]; 1504b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString strDevice; 1505b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org AudioLayers audioLayer; 1506b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1507b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr->GetAudioDeviceLayer(audioLayer); 1508b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (kAudioWindowsWave == audioLayer) 1509b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1510b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strDevice.FormatMessage(_T("Audio Layer: Windows Wave API")); 1511b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1512b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (kAudioWindowsCore == audioLayer) 1513b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1514b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strDevice.FormatMessage(_T("Audio Layer: Windows Core API")); 1515b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1516b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 1517b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1518b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strDevice.FormatMessage(_T("Audio Layer: ** UNKNOWN **")); 1519b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1520b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_AUDIO_LAYER, (LPCTSTR)strDevice); 1521b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1522b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr->GetNumOfRecordingDevices(numRecording); 1523b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1524b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org for (int idx = 0; idx < numRecording; idx++) 1525b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1526b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr->GetRecordingDeviceName(idx, nameStr, guidStr); 1527b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strDevice.Format(_T("%s"), CharToTchar(nameStr, 128)); 1528b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboRecDevice->AddString(strDevice); 1529b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1530b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Select default (communication) device in the combo box 1531b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr->GetRecordingDeviceName(-1, nameStr, guidStr); 1532b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString tmp = CString(nameStr); 1533b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int nIndex = comboRecDevice->SelectString(-1, tmp); 1534b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ASSERT(nIndex != CB_ERR); 1535b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1536b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr->GetNumOfPlayoutDevices(numPlayout); 1537b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1538b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org for (int idx = 0; idx < numPlayout; idx++) 1539b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1540b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr->GetPlayoutDeviceName(idx, nameStr, guidStr); 1541b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strDevice.Format(_T("%s"), CharToTchar(nameStr, 128)); 1542b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboPlayDevice->AddString(strDevice); 1543b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1544b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Select default (communication) device in the combo box 1545b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr->GetPlayoutDeviceName(-1, nameStr, guidStr); 1546b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org nIndex = comboPlayDevice->SelectString(-1, CString(nameStr)); 1547b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ASSERT(nIndex != CB_ERR); 1548b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1549b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1550b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- Second channel section 1551b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1552b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_IP_2)->EnableWindow(FALSE); 1553b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_TX_PORT_2)->EnableWindow(FALSE); 1554b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_RX_PORT_2)->EnableWindow(FALSE); 1555b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_CODEC_2)->EnableWindow(FALSE); 1556b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DELETE_2)->EnableWindow(FALSE); 1557b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_2)->EnableWindow(FALSE); 1558b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_LISTEN_2)->EnableWindow(FALSE); 1559b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_2)->EnableWindow(FALSE); 1560b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_PLAYOUT_2)->EnableWindow(FALSE); 1561b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_2)->EnableWindow(FALSE); 1562b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_SEND_2)->EnableWindow(FALSE); 1563b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_TRANS_2)->EnableWindow(FALSE); 1564b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_IN_2)->EnableWindow(FALSE); 1565b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_2)->EnableWindow(FALSE); 1566b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_2)->EnableWindow(FALSE); 1567b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_2)->EnableWindow(FALSE); 1568b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_VAD_3)->EnableWindow(FALSE); 1569b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_MUTE_IN_2)->EnableWindow(FALSE); 1570b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_TX_2)->EnableWindow(FALSE); 1571b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_RX_2)->EnableWindow(FALSE); 1572b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_ENCRYPTION_2)->EnableWindow(FALSE); 1573b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DTMF_2)->EnableWindow(FALSE); 1574b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_CONFERENCE_2)->EnableWindow(FALSE); 1575b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_ON_HOLD_2)->EnableWindow(FALSE); 1576b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1577b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboIP = (CComboBox*)GetDlgItem(IDC_COMBO_IP_2); 1578b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboIP->AddString(_T("127.0.0.1")); 1579b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboIP->SetCurSel(0); 1580b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1581b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_TX_PORT_2, 2222); 1582b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_RX_PORT_2, 2222); 1583b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1584b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec = (CComboBox*)GetDlgItem(IDC_COMBO_CODEC_2); 1585b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec->ResetContent(); 1586b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1587b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veCodecPtr) 1588b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1589b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org numCodecs = _veCodecPtr->NumOfCodecs(); 1590b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org for (int idx = 0; idx < numCodecs; idx++) 1591b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1592b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 1593b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->GetCodec(idx, codec); 1594b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString strCodec; 1595b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org strCodec.Format(_T("%s (%d/%d)"), CharToTchar(codec.plname, 32), codec.pltype, codec.plfreq/1000); 1596b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec->AddString(strCodec); 1597b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1598b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec->SetCurSel(0); 1599b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1600b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1601b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // --- Start windows timer 1602b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1603b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetTimer(0, 1000, NULL); 1604b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1605b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return TRUE; // return TRUE unless you set the focus to a control 1606b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1607b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1608b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnSysCommand(UINT nID, LPARAM lParam) 1609b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1610b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if ((nID & 0xFFF0) == IDM_ABOUTBOX) 1611b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1612b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CAboutDlg dlgAbout; 1613b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org dlgAbout.DoModal(); 1614b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1615b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (nID == SC_CLOSE) 1616b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1617b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org BOOL ret; 1618b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel(0); 1619b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel = GetDlgItemInt(IDC_EDIT_1, &ret); 1620b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == TRUE) 1621b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1622b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veBasePtr->DeleteChannel(channel); 1623b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1624b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel = GetDlgItemInt(IDC_EDIT_2, &ret); 1625b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == TRUE) 1626b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1627b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veBasePtr->DeleteChannel(channel); 1628b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1629b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1630b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog::OnSysCommand(nID, lParam); 1631b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1632b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 1633b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1634b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog::OnSysCommand(nID, lParam); 1635b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1636b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1637b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1638b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1639b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// If you add a minimize button to your dialog, you will need the code below 1640b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// to draw the icon. For MFC applications using the document/view model, 1641b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// this is automatically done for you by the framework. 1642b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1643b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnPaint() 1644b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1645b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (IsIconic()) 1646b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1647b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CPaintDC dc(this); // device context for painting 1648b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1649b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); 1650b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1651b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Center icon in client rectangle 1652b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int cxIcon = GetSystemMetrics(SM_CXICON); 1653b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int cyIcon = GetSystemMetrics(SM_CYICON); 1654b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CRect rect; 1655b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetClientRect(&rect); 1656b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int x = (rect.Width() - cxIcon + 1) / 2; 1657b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int y = (rect.Height() - cyIcon + 1) / 2; 1658b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1659b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Draw the icon 1660b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org dc.DrawIcon(x, y, m_hIcon); 1661b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1662b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 1663b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1664b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog::OnPaint(); 1665b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1666b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1667b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1668b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// The system calls this function to obtain the cursor to display while the user drags 1669b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// the minimized window. 1670b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgHCURSOR CWinTestDlg::OnQueryDragIcon() 1671b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1672b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return static_cast<HCURSOR>(m_hIcon); 1673b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1674b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1675b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1676b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonCreate1() 1677b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1678b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel(0); 1679b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((channel = _veBasePtr->CreateChannel()) >= 0, _T("CreateChannel(channel=%d)"), channel); 1680b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (channel >= 0) 1681b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1682b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veRtpRtcpPtr->RegisterRTPObserver(channel, *this); 1683b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1684b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_1, channel); 1685b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_CREATE_1)->EnableWindow(FALSE); 1686b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DELETE_1)->EnableWindow(TRUE); 1687b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_IP_1)->EnableWindow(TRUE); 1688b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_TX_PORT_1)->EnableWindow(TRUE); 1689b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_RX_PORT_1)->EnableWindow(TRUE); 1690b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_CODEC_1)->EnableWindow(TRUE); 1691b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_LIST_CODEC_1)->EnableWindow(TRUE); 1692b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_CODEC_1)->EnableWindow(TRUE); 1693b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_1)->EnableWindow(TRUE); 1694b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_1)->EnableWindow(TRUE); 1695b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_1)->EnableWindow(TRUE); 1696b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_TRANS_1)->EnableWindow(TRUE); 1697b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_IN_1)->EnableWindow(TRUE); 1698b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_1)->EnableWindow(TRUE); 1699b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_1)->EnableWindow(TRUE); 1700b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_1)->EnableWindow(TRUE); 1701b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_VAD_1)->EnableWindow(TRUE); 1702b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_MUTE_IN_1)->EnableWindow(TRUE); 1703b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_TX_1)->EnableWindow(TRUE); 1704b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_RX_1)->EnableWindow(TRUE); 1705b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_ENCRYPTION_1)->EnableWindow(TRUE); 1706b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DTMF_1)->EnableWindow(TRUE); 1707b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_ON_HOLD_1)->EnableWindow(TRUE); 1708b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_DELAY_ESTIMATE_1)->EnableWindow(TRUE); 1709b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_RXVAD)->EnableWindow(TRUE); 1710b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_AGC_1)->EnableWindow(TRUE); 1711b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_NS_1)->EnableWindow(TRUE); 1712dd671dea7a51c5db5e15123acac599e89f9be201minyue@webrtc.org GetDlgItem(IDC_CHECK_RED)->EnableWindow(TRUE); 1713b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1714b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Always set send codec to default codec <=> index 0. 1715b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 1716b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->GetCodec(0, codec); 1717b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->SetSendCodec(channel, codec); 1718b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1719b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1720b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1721b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonCreate2() 1722b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1723b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel(0); 1724b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((channel = _veBasePtr->CreateChannel()) >=0 , _T("CreateChannel(%d)"), channel); 1725b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (channel >= 0) 1726b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1727b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veRtpRtcpPtr->RegisterRTPObserver(channel, *this); 1728b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1729b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_2, channel); 1730b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_CREATE_2)->EnableWindow(FALSE); 1731b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DELETE_2)->EnableWindow(TRUE); 1732b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_IP_2)->EnableWindow(TRUE); 1733b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_TX_PORT_2)->EnableWindow(TRUE); 1734b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_RX_PORT_2)->EnableWindow(TRUE); 1735b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_CODEC_2)->EnableWindow(TRUE); 1736b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_2)->EnableWindow(TRUE); 1737b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_2)->EnableWindow(TRUE); 1738b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_2)->EnableWindow(TRUE); 1739b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_TRANS_2)->EnableWindow(TRUE); 1740b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_IN_2)->EnableWindow(TRUE); 1741b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_2)->EnableWindow(TRUE); 1742b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_2)->EnableWindow(TRUE); 1743b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_2)->EnableWindow(TRUE); 1744b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_VAD_3)->EnableWindow(TRUE); 1745b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_MUTE_IN_2)->EnableWindow(TRUE); 1746b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_TX_2)->EnableWindow(TRUE); 1747b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_RX_2)->EnableWindow(TRUE); 1748b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_ENCRYPTION_2)->EnableWindow(TRUE); 1749b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DTMF_2)->EnableWindow(TRUE); 1750b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_CONFERENCE_2)->EnableWindow(TRUE); 1751b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_ON_HOLD_2)->EnableWindow(TRUE); 1752b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1753b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Always set send codec to default codec <=> index 0. 1754b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 1755b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->GetCodec(0, codec); 1756b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->SetSendCodec(channel, codec); 1757b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1758b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1759b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1760b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonDelete1() 1761b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1762b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org BOOL ret; 1763b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1, &ret); 1764b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == TRUE) 1765b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1766b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _delayEstimate1 = false; 1767b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _rxVad = false; 1768b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veRtpRtcpPtr->DeRegisterRTPObserver(channel); 1769b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veBasePtr->DeleteChannel(channel) == 0, _T("DeleteChannel(channel=%d)"), channel); 1770b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_1, _T("")); 1771b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_CREATE_1)->EnableWindow(TRUE); 1772b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DELETE_1)->EnableWindow(FALSE); 1773b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_IP_1)->EnableWindow(FALSE); 1774b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_TX_PORT_1)->EnableWindow(FALSE); 1775b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_RX_PORT_1)->EnableWindow(FALSE); 1776b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_CODEC_1)->EnableWindow(FALSE); 1777b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_LIST_CODEC_1)->EnableWindow(FALSE); 1778b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_CODEC_1)->EnableWindow(FALSE); 1779b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_1)->EnableWindow(FALSE); 1780b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_1)->EnableWindow(FALSE); 1781b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_1)->EnableWindow(FALSE); 1782b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_LISTEN_1)->EnableWindow(FALSE); 1783b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_PLAYOUT_1)->EnableWindow(FALSE); 1784b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_SEND_1)->EnableWindow(FALSE); 1785b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DTMF_1)->EnableWindow(FALSE); 1786b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_TRANS_1)->EnableWindow(FALSE); 1787b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_IN_1)->EnableWindow(FALSE); 1788b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_1)->EnableWindow(FALSE); 1789b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_1)->EnableWindow(FALSE); 1790b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_1)->EnableWindow(FALSE); 1791b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_VAD_1)->EnableWindow(FALSE); 1792b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_MUTE_IN_1)->EnableWindow(FALSE); 1793b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_TX_1)->EnableWindow(FALSE); 1794b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_RX_1)->EnableWindow(FALSE); 1795b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_ENCRYPTION_1)->EnableWindow(FALSE); 1796b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_CONFERENCE_1)->EnableWindow(FALSE); 1797b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_ON_HOLD_1)->EnableWindow(FALSE); 1798b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_DELAY_ESTIMATE_1)->EnableWindow(FALSE); 1799b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_AGC_1)->EnableWindow(FALSE); 1800b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_NS_1)->EnableWindow(FALSE); 1801b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_RXVAD)->EnableWindow(FALSE); 1802dd671dea7a51c5db5e15123acac599e89f9be201minyue@webrtc.org GetDlgItem(IDC_CHECK_RED)->EnableWindow(FALSE); 1803b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_RXVAD, _T("")); 1804b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_RXVAD)->EnableWindow(FALSE); 1805b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_EXT_TRANS_1); 1806b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1807b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_PLAY_FILE_IN_1); 1808b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1809b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_1); 1810b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1811b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_1); 1812b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1813b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_1); 1814b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1815b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_VAD_1); 1816b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1817b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_MUTE_IN_1); 1818b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1819b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_SRTP_TX_1); 1820b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1821b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_SRTP_RX_1); 1822b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1823b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_EXT_ENCRYPTION_1); 1824b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1825b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_CONFERENCE_1); 1826b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1827b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_ON_HOLD_1); 1828b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1829b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_DELAY_ESTIMATE_1); 1830b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1831b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_AGC_1); 1832b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1833b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_NS_1); 1834b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1835b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_RXVAD); 1836b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1837dd671dea7a51c5db5e15123acac599e89f9be201minyue@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_RED); 1838b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1839b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1840b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1841b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1842b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonDelete2() 1843b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1844b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org BOOL ret; 1845b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2, &ret); 1846b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == TRUE) 1847b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1848b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _delayEstimate2 = false; 1849b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veRtpRtcpPtr->DeRegisterRTPObserver(channel); 1850b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veBasePtr->DeleteChannel(channel) == 0, _T("DeleteChannel(%d)"), channel); 1851b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_2, _T("")); 1852b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_CREATE_2)->EnableWindow(TRUE); 1853b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DELETE_2)->EnableWindow(FALSE); 1854b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_IP_2)->EnableWindow(FALSE); 1855b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_TX_PORT_2)->EnableWindow(FALSE); 1856b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_EDIT_RX_PORT_2)->EnableWindow(FALSE); 1857b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_COMBO_CODEC_2)->EnableWindow(FALSE); 1858b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_2)->EnableWindow(FALSE); 1859b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_2)->EnableWindow(FALSE); 1860b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_2)->EnableWindow(FALSE); 1861b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_LISTEN_2)->EnableWindow(FALSE); 1862b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_PLAYOUT_2)->EnableWindow(FALSE); 1863b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_SEND_2)->EnableWindow(FALSE); 1864b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_TRANS_2)->EnableWindow(FALSE); 1865b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_IN_2)->EnableWindow(FALSE); 1866b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_2)->EnableWindow(FALSE); 1867b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_2)->EnableWindow(FALSE); 1868b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_2)->EnableWindow(FALSE); 1869b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_MUTE_IN_2)->EnableWindow(FALSE); 1870b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_VAD_3)->EnableWindow(FALSE); 1871b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_TX_2)->EnableWindow(FALSE); 1872b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_SRTP_RX_2)->EnableWindow(FALSE); 1873b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_EXT_ENCRYPTION_2)->EnableWindow(FALSE); 1874b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_CONFERENCE_2)->EnableWindow(FALSE); 1875b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_DTMF_2)->EnableWindow(FALSE); 1876b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_CHECK_ON_HOLD_2)->EnableWindow(FALSE); 1877b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_EXT_TRANS_2); 1878b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1879b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_PLAY_FILE_IN_2); 1880b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1881b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_2); 1882b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1883b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_2); 1884b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1885b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_2); 1886b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1887b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_VAD_3); 1888b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1889b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_MUTE_IN_2); 1890b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1891b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_SRTP_TX_2); 1892b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1893b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_SRTP_RX_2); 1894b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1895b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_EXT_ENCRYPTION_2); 1896b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1897b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_CONFERENCE_2); 1898b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1899b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button = (CButton*)GetDlgItem(IDC_CHECK_ON_HOLD_2); 1900b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck(BST_UNCHECKED); 1901b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1902b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1903b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1904b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnCbnSelchangeComboIp1() 1905b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1906b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 1907b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 1908b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int port = GetDlgItemInt(IDC_EDIT_TX_PORT_1); 1909b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboIP = (CComboBox*)GetDlgItem(IDC_COMBO_IP_1); 1910b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int n = comboIP->GetLBTextLen(0); 1911b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboIP->GetLBText(0, str.GetBuffer(n)); 1912b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veBasePtr->SetSendDestination(channel, port, TcharToChar(str.GetBuffer(n), -1)) == 0, 1913b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetSendDestination(channel=%d, port=%d, ip=%s)"), channel, port, str.GetBuffer(n)); 1914b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.ReleaseBuffer(); 1915b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1916b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1917b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnCbnSelchangeComboIp2() 1918b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1919b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 1920b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 1921b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int port = GetDlgItemInt(IDC_EDIT_TX_PORT_2); 1922b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboIP = (CComboBox*)GetDlgItem(IDC_COMBO_IP_2); 1923b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int n = comboIP->GetLBTextLen(0); 1924b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboIP->GetLBText(0, str.GetBuffer(n)); 1925b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veBasePtr->SetSendDestination(channel, port, TcharToChar(str.GetBuffer(n), -1)) == 0, 1926b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetSendDestination(channel=%d, port=%d, ip=%s)"), channel, port, str.GetBuffer(n)); 1927b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.ReleaseBuffer(); 1928b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1929b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1930b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnCbnSelchangeComboCodec1() 1931b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1932b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 1933b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1934b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 1935b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboCodec(NULL); 1936b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec = (CComboBox*)GetDlgItem(IDC_COMBO_CODEC_1); 1937b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int index = comboCodec->GetCurSel(); 1938b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->GetCodec(index, codec); 1939b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (strncmp(codec.plname, "ISAC", 4) == 0) 1940b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1941b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Set iSAC to adaptive mode by default. 1942b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org codec.rate = -1; 1943b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1944b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veCodecPtr->SetSendCodec(channel, codec) == 0, 1945b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetSendCodec(channel=%d, plname=%s, pltype=%d, plfreq=%d, rate=%d, pacsize=%d, channels=%d)"), 1946b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel, CharToTchar(codec.plname, 32), codec.pltype, codec.plfreq, codec.rate, codec.pacsize, codec.channels); 1947b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1948b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CListBox* list = (CListBox*)GetDlgItem(IDC_LIST_CODEC_1); 1949b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org list->SetCurSel(0); 1950b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_CODEC_1, codec.pltype); 1951b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1952b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1953b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnLbnSelchangeListCodec1() 1954b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1955b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 1956b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1957b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CListBox* list = (CListBox*)GetDlgItem(IDC_LIST_CODEC_1); 1958b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int listIdx = list->GetCurSel(); 1959b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (listIdx < 0) 1960b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return; 1961b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 1962b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org list->GetText(listIdx, str); 1963b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1964b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 1965b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->GetSendCodec(channel, codec); 1966b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1967b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int value = GetDlgItemInt(IDC_EDIT_CODEC_1); 1968b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (str == _T("pltype")) 1969b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1970b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org codec.pltype = value; 1971b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1972b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (str == _T("plfreq")) 1973b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1974b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org codec.plfreq = value; 1975b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1976b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (str == _T("pacsize")) 1977b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1978b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org codec.pacsize = value; 1979b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1980b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (str == _T("channels")) 1981b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1982b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org codec.channels = value; 1983b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1984b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (str == _T("rate")) 1985b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 1986b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org codec.rate = value; 1987b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 1988b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veCodecPtr->SetSendCodec(channel, codec) == 0, 1989b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetSendCodec(channel=%d, plname=%s, pltype=%d, plfreq=%d, rate=%d, pacsize=%d, channels=%d)"), 1990b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel, CharToTchar(codec.plname, 32), codec.pltype, codec.plfreq, codec.rate, codec.pacsize, codec.channels); 1991b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 1992b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1993b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnCbnSelchangeComboCodec2() 1994b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 1995b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 1996b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1997b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 1998b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboCodec(NULL); 1999b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec = (CComboBox*)GetDlgItem(IDC_COMBO_CODEC_2); 2000b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int index = comboCodec->GetCurSel(); 2001b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veCodecPtr->GetCodec(index, codec); 2002b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veCodecPtr->SetSendCodec(channel, codec) == 0, 2003b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetSendCodec(channel=%d, plname=%s, pltype=%d, plfreq=%d, rate=%d, pacsize=%d, channels=%d)"), 2004b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel, CharToTchar(codec.plname, 32), codec.pltype, codec.plfreq, codec.rate, codec.pacsize, codec.channels); 2005b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2006b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2007b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStartListen1() 2008b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2009b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret1(0); 2010b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret2(0); 2011b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2012b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int port = GetDlgItemInt(IDC_EDIT_RX_PORT_1); 2013b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret1 = _veBasePtr->SetLocalReceiver(channel, port)) == 0, _T("SetLocalReceiver(channel=%d, port=%d)"), channel, port); 2014b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret2 = _veBasePtr->StartReceive(channel)) == 0, _T("StartReceive(channel=%d)"), channel); 2015b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret1 == 0 && ret2 == 0) 2016b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2017b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_1)->EnableWindow(FALSE); 2018b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_LISTEN_1)->EnableWindow(TRUE); 2019b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2020b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2021b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2022b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStartListen2() 2023b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2024b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret1(0); 2025b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret2(0); 2026b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2027b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int port = GetDlgItemInt(IDC_EDIT_RX_PORT_2); 2028b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret1 = _veBasePtr->SetLocalReceiver(channel, port)) == 0, _T("SetLocalReceiver(channel=%d, port=%d)"), channel, port); 2029b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret2 = _veBasePtr->StartReceive(channel)) == 0, _T("StartReceive(channel=%d)"), channel); 2030b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret1 == 0 && ret2 == 0) 2031b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2032b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_2)->EnableWindow(FALSE); 2033b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_LISTEN_2)->EnableWindow(TRUE); 2034b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2035b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2036b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2037b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStopListen1() 2038b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2039b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2040b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2041b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StopReceive(channel)) == 0, _T("StopListen(channel=%d)"), channel); 2042b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2043b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2044b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_1)->EnableWindow(TRUE); 2045b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_LISTEN_1)->EnableWindow(FALSE); 2046b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2047b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2048b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2049b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStopListen2() 2050b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2051b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2052b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2053b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StopReceive(channel)) == 0, _T("StopListen(channel=%d)"), channel); 2054b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2055b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2056b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_LISTEN_2)->EnableWindow(TRUE); 2057b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_LISTEN_2)->EnableWindow(FALSE); 2058b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2059b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2060b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2061b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStartPlayout1() 2062b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2063b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2064b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2065b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StartPlayout(channel)) == 0, _T("StartPlayout(channel=%d)"), channel); 2066b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2067b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2068b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_1)->EnableWindow(FALSE); 2069b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_PLAYOUT_1)->EnableWindow(TRUE); 2070b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2071b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2072b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2073b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStartPlayout2() 2074b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2075b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2076b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2077b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StartPlayout(channel)) == 0, _T("StartPlayout(channel=%d)"), channel); 2078b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2079b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2080b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_2)->EnableWindow(FALSE); 2081b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_PLAYOUT_2)->EnableWindow(TRUE); 2082b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2083b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2084b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2085b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStopPlayout1() 2086b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2087b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2088b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2089b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StopPlayout(channel)) == 0, _T("StopPlayout(channel=%d)"), channel); 2090b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2091b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2092b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_1)->EnableWindow(TRUE); 2093b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_PLAYOUT_1)->EnableWindow(FALSE); 2094b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2095b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2096b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2097b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStopPlayout2() 2098b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2099b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2100b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2101b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StopPlayout(channel)) == 0, _T("StopPlayout(channel=%d)")); 2102b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2103b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2104b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_PLAYOUT_2)->EnableWindow(TRUE); 2105b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_PLAYOUT_2)->EnableWindow(FALSE); 2106b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2107b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2108b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2109b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStartSend1() 2110b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2111b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org UpdateData(TRUE); // update IP address 2112b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2113b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2114b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2115b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (!_externalTransport) 2116b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2117b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2118b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int port = GetDlgItemInt(IDC_EDIT_TX_PORT_1); 2119b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veBasePtr->SetSendDestination(channel, port, TcharToChar(_strComboIp1.GetBuffer(7), -1)) == 0, 2120b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetSendDestination(channel=%d, port=%d, ip=%s)"), channel, port, _strComboIp1.GetBuffer(7)); 2121b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.ReleaseBuffer(); 2122b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2123b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2124b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org //_veVideoSyncPtr->SetInitTimestamp(0,0); 2125b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // OnCbnSelchangeComboCodec1(); 2126b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2127b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StartSend(channel)) == 0, _T("StartSend(channel=%d)"), channel); 2128b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2129b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2130b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_1)->EnableWindow(FALSE); 2131b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_SEND_1)->EnableWindow(TRUE); 2132b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2133b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2134b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2135b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStartSend2() 2136b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2137b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org UpdateData(TRUE); // update IP address 2138b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2139b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2140b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2141b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (!_externalTransport) 2142b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2143b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2144b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int port = GetDlgItemInt(IDC_EDIT_TX_PORT_2); 2145b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veBasePtr->SetSendDestination(channel, port, TcharToChar(_strComboIp2.GetBuffer(7), -1)) == 0, 2146b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetSendDestination(channel=%d, port=%d, ip=%s)"), channel, port, _strComboIp2.GetBuffer(7)); 2147b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.ReleaseBuffer(); 2148b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2149b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2150b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // OnCbnSelchangeComboCodec2(); 2151b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2152b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StartSend(channel)) == 0, _T("StartSend(channel=%d)"), channel); 2153b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2154b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2155b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_2)->EnableWindow(FALSE); 2156b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_SEND_2)->EnableWindow(TRUE); 2157b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2158b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2159b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2160b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStopSend1() 2161b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2162b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2163b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2164b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StopSend(channel)) == 0, _T("StopSend(channel=%d)"), channel); 2165b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2166b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2167b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_1)->EnableWindow(TRUE); 2168b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_SEND_1)->EnableWindow(FALSE); 2169b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2170b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2171b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2172b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonStopSend2() 2173b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2174b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2175b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2176b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->StopSend(channel)) == 0, _T("StopSend(channel=%d)"), channel); 2177b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2178b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2179b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_START_SEND_2)->EnableWindow(TRUE); 2180b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org GetDlgItem(IDC_BUTTON_STOP_SEND_2)->EnableWindow(FALSE); 2181b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2182b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2183b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2184b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtTrans1() 2185b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2186b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2187b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2188b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_EXT_TRANS_1); 2189b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2190b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2191b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2192b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2193b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veNetworkPtr->RegisterExternalTransport(channel, *_transportPtr)) == 0, 2194b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("RegisterExternalTransport(channel=%d, transport=0x%x)"), channel, _transportPtr); 2195b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2196b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2197b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2198b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veNetworkPtr->DeRegisterExternalTransport(channel)) == 0, 2199b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("DeRegisterExternalTransport(channel=%d)"), channel); 2200b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2201b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2202b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2203b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _externalTransport = enable; 2204b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2205b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2206b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2207b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // restore inital state since API call failed 2208b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2209b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2210b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2211b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2212b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtTrans2() 2213b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2214b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2215b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2216b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_EXT_TRANS_2); 2217b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2218b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2219b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2220b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2221b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veNetworkPtr->RegisterExternalTransport(channel, *_transportPtr)) == 0, 2222b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("RegisterExternalTransport(channel=%d, transport=0x%x)"), channel, _transportPtr); 2223b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2224b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2225b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2226b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veNetworkPtr->DeRegisterExternalTransport(channel)) == 0, 2227b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("DeRegisterExternalTransport(channel=%d)"), channel); 2228b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2229b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == 0) 2230b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2231b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _externalTransport = enable; 2232b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2233b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2234b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2235b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // restore inital state since API call failed 2236b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2237b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2238b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2239b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2240b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckPlayFileIn1() 2241b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2242b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org std::string micFile = _long_audio_file_path + "audio_short16.pcm"; 2243b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2244b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2245b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2246b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_PLAY_FILE_IN_1); 2247b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2248b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2249b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2250b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2251b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool mix; 2252b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool loop(true); 2253b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const FileFormats format = kFileFormatPcm16kHzFile; 2254b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const float scale(1.0); 2255b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2256b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org (_checkPlayFileIn1 %2 == 0) ? mix = true : mix = false; 2257b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veFilePtr->StartPlayingFileAsMicrophone(channel, 2258b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org micFile.c_str(), loop, mix, format, scale) == 0), 2259b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StartPlayingFileAsMicrophone(channel=%d, file=%s, loop=%d, ") 2260b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("mix=%d, format=%d, scale=%2.1f)"), 2261b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel, CharToTchar(micFile.c_str(), -1), 2262b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org loop, mix, format, scale); 2263b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkPlayFileIn1++; 2264b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2265b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2266b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2267b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veFilePtr->StopPlayingFileAsMicrophone(channel) == 0), 2268b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StopPlayingFileAsMicrophone(channel=%d)"), channel); 2269b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2270b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == -1) 2271b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2272b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // restore inital state since API call failed 2273b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2274b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2275b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2276b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2277b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckPlayFileIn2() 2278b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2279b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org std::string micFile = _long_audio_file_path + "audio_long16.pcm"; 2280b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2281b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2282b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2283b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_PLAY_FILE_IN_2); 2284b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2285b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2286b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2287b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2288b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool mix; 2289b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool loop(true); 2290b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const FileFormats format = kFileFormatPcm16kHzFile; 2291b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const float scale(1.0); 2292b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2293b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org (_checkPlayFileIn2 %2 == 0) ? mix = true : mix = false; 2294b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veFilePtr->StartPlayingFileAsMicrophone(channel, 2295b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org micFile.c_str(), loop, mix, format, scale) == 0), 2296b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StartPlayingFileAsMicrophone(channel=%d, file=%s, loop=%d, ") 2297b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("mix=%d, format=%d, scale=%2.1f)"), 2298b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel, CharToTchar(micFile.c_str(), -1), 2299b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org loop, mix, format, scale); 2300b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkPlayFileIn2++; 2301b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2302b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2303b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2304b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veFilePtr->StopPlayingFileAsMicrophone(channel) == 0), 2305b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StopPlayingFileAsMicrophone(channel=%d)"), channel); 2306b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2307b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == -1) 2308b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2309b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // restore inital state since API call failed 2310b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2311b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2312b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2313b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2314b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckPlayFileOut1() 2315b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2316b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const FileFormats formats[8] = {{kFileFormatPcm16kHzFile}, 2317b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {kFileFormatWavFile}, 2318b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {kFileFormatWavFile}, 2319b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {kFileFormatWavFile}, 2320b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {kFileFormatWavFile}, 2321b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {kFileFormatWavFile}, 2322b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {kFileFormatWavFile}, 2323b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {kFileFormatWavFile}}; 2324b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // File path is relative to the location of 'voice_engine.gyp'. 2325b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const char spkrFiles[8][64] = {{"audio_short16.pcm"}, 2326b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {"audio_tiny8.wav"}, 2327b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {"audio_tiny11.wav"}, 2328b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {"audio_tiny16.wav"}, 2329b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {"audio_tiny22.wav"}, 2330b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {"audio_tiny32.wav"}, 2331b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {"audio_tiny44.wav"}, 2332b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org {"audio_tiny48.wav"}}; 2333b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2334b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2335b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_1); 2336b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2337b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2338b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2339b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2340b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool loop(true); 2341b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const float volumeScaling(1.0); 2342b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int startPointMs(0); 2343b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int stopPointMs(0); 2344b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const FileFormats format = formats[_checkPlayFileOut1 % 8]; 2345b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org std::string spkrFile = _long_audio_file_path + 2346b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org spkrFiles[_checkPlayFileOut1 % 8]; 2347b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2348b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2349b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkPlayFileOut1 % 8 == 0) 2350b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2351b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kFileFormatPcm16kHzFile"); 2352b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2353b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2354b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2355b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kFileFormatWavFile"); 2356b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2357b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // (_checkPlayFileOut1 %2 == 0) ? mix = true : mix = false; 2358b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veFilePtr->StartPlayingFileLocally(channel, 2359b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org spkrFile.c_str(), loop, format, volumeScaling, 2360b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org startPointMs,stopPointMs) == 0), 2361b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StartPlayingFileLocally(channel=%d, file=%s, loop=%d, ") 2362b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("format=%s, scale=%2.1f, start=%d, stop=%d)"), 2363b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel, CharToTchar(spkrFile.c_str(), -1), 2364b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org loop, str, volumeScaling, startPointMs, stopPointMs); 2365b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkPlayFileOut1++; 2366b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2367b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2368b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2369b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veFilePtr->StopPlayingFileLocally(channel) == 0), 2370b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StopPlayingFileLocally(channel=%d)"), channel); 2371b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2372b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == -1) 2373b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2374b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // restore inital state since API call failed 2375b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2376b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2377b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2378b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2379b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckPlayFileOut2() 2380b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2381b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org std::string spkrFile = _long_audio_file_path + "audio_long16.pcm"; 2382b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2383b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2384b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2385b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_PLAY_FILE_OUT_2); 2386b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2387b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2388b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2389b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2390b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool loop(true); 2391b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const FileFormats format = kFileFormatPcm16kHzFile; 2392b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const float volumeScaling(1.0); 2393b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int startPointMs(0); 2394b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int stopPointMs(0); 2395b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2396b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // (_checkPlayFileOut2 %2 == 0) ? mix = true : mix = false; 2397b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veFilePtr->StartPlayingFileLocally(channel, 2398b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org spkrFile.c_str(), loop, format, volumeScaling, 2399b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org startPointMs,stopPointMs) == 0), 2400b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StartPlayingFileLocally(channel=%d, file=%s, loop=%d, ") 2401b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("format=%d, scale=%2.1f, start=%d, stop=%d)"), 2402b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel, CharToTchar(spkrFile.c_str(), -1), 2403b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org loop, format, volumeScaling, startPointMs, stopPointMs); 2404b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // _checkPlayFileIn2++; 2405b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2406b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2407b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2408b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veFilePtr->StopPlayingFileLocally(channel) == 0), 2409b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StopPlayingFileLocally(channel=%d)"), channel); 2410b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2411b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == -1) 2412b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2413b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // restore inital state since API call failed 2414b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2415b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2416b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2417b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2418b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtMediaIn1() 2419b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2420b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2421b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonExtTrans = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_1); 2422b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonExtTrans->GetCheck(); 2423b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2424b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2425b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2426b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->RegisterExternalMediaProcessing(channel, kRecordingPerChannel, *_externalMediaPtr) == 0, 2427b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("RegisterExternalMediaProcessing(channel=%d, kRecordingPerChannel, processObject=0x%x)"), channel, _externalMediaPtr); 2428b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2429b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2430b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2431b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->DeRegisterExternalMediaProcessing(channel, kRecordingPerChannel) == 0, 2432b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("DeRegisterExternalMediaProcessing(channel=%d, kRecordingPerChannel)"), channel); 2433b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2434b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2435b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2436b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtMediaIn2() 2437b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2438b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2439b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonExtTrans = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_IN_2); 2440b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonExtTrans->GetCheck(); 2441b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2442b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2443b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2444b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->RegisterExternalMediaProcessing(channel, kRecordingPerChannel, *_externalMediaPtr) == 0, 2445b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("RegisterExternalMediaProcessing(channel=%d, kRecordingPerChannel, processObject=0x%x)"), channel, _externalMediaPtr); 2446b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2447b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2448b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2449b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->DeRegisterExternalMediaProcessing(channel, kRecordingPerChannel) == 0, 2450b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("DeRegisterExternalMediaProcessing(channel=%d, kRecordingPerChannel)"), channel); 2451b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2452b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2453b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2454b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtMediaOut1() 2455b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2456b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2457b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonExtTrans = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_1); 2458b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonExtTrans->GetCheck(); 2459b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2460b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2461b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2462b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->RegisterExternalMediaProcessing(channel, kPlaybackPerChannel, *_externalMediaPtr) == 0, 2463b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("RegisterExternalMediaProcessing(channel=%d, kPlaybackPerChannel, processObject=0x%x)"), channel, _externalMediaPtr); 2464b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2465b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2466b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2467b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->DeRegisterExternalMediaProcessing(channel, kPlaybackPerChannel) == 0, 2468b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("DeRegisterExternalMediaProcessing(channel=%d, kPlaybackPerChannel)"), channel); 2469b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2470b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2471b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2472b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtMediaOut2() 2473b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2474b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2475b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonExtTrans = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT_2); 2476b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonExtTrans->GetCheck(); 2477b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2478b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2479b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2480b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->RegisterExternalMediaProcessing(channel, kPlaybackPerChannel, *_externalMediaPtr) == 0, 2481b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("RegisterExternalMediaProcessing(channel=%d, kPlaybackPerChannel, processObject=0x%x)"), channel, _externalMediaPtr); 2482b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2483b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2484b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2485b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->DeRegisterExternalMediaProcessing(channel, kPlaybackPerChannel) == 0, 2486b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("DeRegisterExternalMediaProcessing(channel=%d, kPlaybackPerChannel)"), channel); 2487b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2488b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2489b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2490b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckVad1() 2491b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2492b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2493b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2494b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_VAD_1); 2495b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2496b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2497b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2498b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2499b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2500b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VadModes mode(kVadConventional); 2501b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkVAD1 % 4 == 0) 2502b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2503b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kVadConventional; 2504b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kVadConventional"); 2505b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2506b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkVAD1 % 4 == 1) 2507b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2508b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kVadAggressiveLow; 2509b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kVadAggressiveLow"); 2510b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2511b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkVAD1 % 4 == 2) 2512b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2513b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kVadAggressiveMid; 2514b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kVadAggressiveMid"); 2515b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2516b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkVAD1 % 4 == 3) 2517b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2518b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kVadAggressiveHigh; 2519b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kVadAggressiveHigh"); 2520b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2521b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool disableDTX(false); 2522b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veCodecPtr->SetVADStatus(channel, true, mode, disableDTX) == 0), 2523b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetVADStatus(channel=%d, enable=%d, mode=%s, disableDTX=%d)"), channel, enable, str, disableDTX); 2524b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkVAD1++; 2525b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2526b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2527b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2528b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veCodecPtr->SetVADStatus(channel, false)) == 0, _T("SetVADStatus(channel=%d, enable=%d)"), channel, false); 2529b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2530b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == -1) 2531b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2532b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // restore inital state since API call failed 2533b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2534b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2535b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2536b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2537b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckVad2() 2538b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2539b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2540b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2541b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_VAD_2); 2542b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2543b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2544b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2545b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2546b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2547b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org VadModes mode(kVadConventional); 2548b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkVAD2 % 4 == 0) 2549b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2550b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kVadConventional; 2551b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kVadConventional"); 2552b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2553b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkVAD2 % 4 == 1) 2554b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2555b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kVadAggressiveLow; 2556b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kVadAggressiveLow"); 2557b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2558b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkVAD2 % 4 == 2) 2559b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2560b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kVadAggressiveMid; 2561b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kVadAggressiveMid"); 2562b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2563b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkVAD2 % 4 == 3) 2564b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2565b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kVadAggressiveHigh; 2566b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kVadAggressiveHigh"); 2567b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2568b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool disableDTX(false); 2569b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veCodecPtr->SetVADStatus(channel, true, mode, disableDTX)) == 0, 2570b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetVADStatus(channel=%d, enable=%d, mode=%s, disableDTX=%d)"), channel, enable, str, disableDTX); 2571b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkVAD2++; 2572b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2573b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2574b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2575b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veCodecPtr->SetVADStatus(channel, false) == 0), _T("SetVADStatus(channel=%d, enable=%d)"), channel, false); 2576b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2577b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == -1) 2578b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2579b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // restore inital state since API call failed 2580b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2581b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2582b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2583b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2584b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckMuteIn1() 2585b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2586b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2587b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonMute = (CButton*)GetDlgItem(IDC_CHECK_MUTE_IN_1); 2588b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonMute->GetCheck(); 2589b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2590b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veVolumeControlPtr->SetInputMute(channel, enable) == 0, 2591b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetInputMute(channel=%d, enable=%d)"), channel, enable); 2592b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2593b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2594b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckMuteIn2() 2595b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2596b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2597b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonMute = (CButton*)GetDlgItem(IDC_CHECK_MUTE_IN_2); 2598b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonMute->GetCheck(); 2599b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2600b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veVolumeControlPtr->SetInputMute(channel, enable) == 0, 2601b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetInputMute(channel=%d, enable=%d)"), channel, enable); 2602b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2603b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2604b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckSrtpTx1() 2605b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2606a56c5b4327c6a89238ee5b1ffd3ace78b20afaefsolenberg@webrtc.org TEST(true, "Built-in SRTP support is deprecated."); 2607b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2608b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2609b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckSrtpTx2() 2610b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2611a56c5b4327c6a89238ee5b1ffd3ace78b20afaefsolenberg@webrtc.org TEST(true, "Built-in SRTP support is deprecated."); 2612b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2613b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2614b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckSrtpRx1() 2615b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2616a56c5b4327c6a89238ee5b1ffd3ace78b20afaefsolenberg@webrtc.org TEST(true, "Built-in SRTP support is deprecated."); 2617b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2618b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2619b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckSrtpRx2() 2620b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2621a56c5b4327c6a89238ee5b1ffd3ace78b20afaefsolenberg@webrtc.org TEST(true, "Built-in SRTP support is deprecated."); 2622b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2623b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2624b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtEncryption1() 2625b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2626a56c5b4327c6a89238ee5b1ffd3ace78b20afaefsolenberg@webrtc.org TEST(true, "External Encryption has been removed from the API!"); 2627b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2628b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2629b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtEncryption2() 2630b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2631a56c5b4327c6a89238ee5b1ffd3ace78b20afaefsolenberg@webrtc.org TEST(true, "External Encryption has been removed from the API!"); 2632b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2633b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2634b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonDtmf1() 2635b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2636b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2637b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CTelephonyEvent dlgTelephoneEvent(_vePtr, channel, this); 2638b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org dlgTelephoneEvent.DoModal(); 2639b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2640b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2641b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonDtmf2() 2642b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2643b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2644b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CTelephonyEvent dlgTelephoneEvent(_vePtr, channel, this); 2645b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org dlgTelephoneEvent.DoModal(); 2646b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2647b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2648b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckConference1() 2649b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2650b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Not supported yet 2651b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2652b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2653b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckConference2() 2654b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2655b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Not supported yet 2656b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2657b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2658b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckOnHold1() 2659b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2660b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SHORT shiftKeyIsPressed = ::GetAsyncKeyState(VK_SHIFT); 2661b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2662b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2663b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2664b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_ON_HOLD_1); 2665b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2666b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2667b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (shiftKeyIsPressed) 2668b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2669b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool enabled(false); 2670b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org OnHoldModes mode(kHoldSendAndPlay); 2671b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veBasePtr->GetOnHoldStatus(channel, enabled, mode) == 0, 2672b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("GetOnHoldStatus(channel=%d, enabled=?, mode=?)"), channel); 2673b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2674b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2675b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org switch (mode) 2676b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2677b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case kHoldSendAndPlay: 2678b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kHoldSendAndPlay"); 2679b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 2680b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case kHoldSendOnly: 2681b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kHoldSendOnly"); 2682b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 2683b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case kHoldPlayOnly: 2684b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kHoldPlayOnly"); 2685b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 2686b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org default: 2687b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 2688b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2689b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org PRINT_GET_RESULT(_T("enabled=%d, mode=%s"), enabled, str); 2690b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return; 2691b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2692b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2693b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2694b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2695b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2696b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2697b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org OnHoldModes mode(kHoldSendAndPlay); 2698b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkOnHold1 % 3 == 0) 2699b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2700b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kHoldSendAndPlay; 2701b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kHoldSendAndPlay"); 2702b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2703b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkOnHold1 % 3 == 1) 2704b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2705b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kHoldSendOnly; 2706b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kHoldSendOnly"); 2707b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2708b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkOnHold1 % 3 == 2) 2709b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2710b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kHoldPlayOnly; 2711b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kHoldPlayOnly"); 2712b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2713b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->SetOnHoldStatus(channel, enable, mode)) == 0, 2714b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetOnHoldStatus(channel=%d, enable=%d, mode=%s)"), channel, enable, str); 2715b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkOnHold1++; 2716b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2717b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2718b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2719b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->SetOnHoldStatus(channel, enable)) == 0, 2720b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetOnHoldStatus(channel=%d, enable=%d)"), channel, enable); 2721b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2722b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2723b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2724b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckOnHold2() 2725b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2726b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int ret(0); 2727b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_2); 2728b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_ON_HOLD_2); 2729b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2730b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2731b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2732b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2733b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2734b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org OnHoldModes mode(kHoldSendAndPlay); 2735b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkOnHold1 % 3 == 0) 2736b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2737b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kHoldSendAndPlay; 2738b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kHoldSendAndPlay"); 2739b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2740b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkOnHold1 % 3 == 1) 2741b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2742b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kHoldSendOnly; 2743b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kHoldSendOnly"); 2744b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2745b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkOnHold1 % 3 == 2) 2746b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2747b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kHoldPlayOnly; 2748b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kHoldPlayOnly"); 2749b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2750b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->SetOnHoldStatus(channel, enable, mode)) == 0, 2751b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetOnHoldStatus(channel=%d, enable=%d, mode=%s)"), channel, enable, str); 2752b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkOnHold1++; 2753b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2754b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2755b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2756b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST((ret = _veBasePtr->SetOnHoldStatus(channel, enable)) == 0, 2757b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetOnHoldStatus(channel=%d, enable=%d)"), channel, enable); 2758b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2759b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2760b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2761b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckDelayEstimate1() 2762b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2763b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_DELAY_ESTIMATE_1); 2764b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2765b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2766b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2767b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2768b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2769b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _delayEstimate1 = true; 2770b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_DELAY_ESTIMATE_1, 0); 2771b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2772b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2773b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2774b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _delayEstimate1 = false; 2775b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_DELAY_ESTIMATE_1, _T("")); 2776b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2777b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2778b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2779b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckRxvad() 2780b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2781b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2782b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_RXVAD); 2783b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2784b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2785b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2786b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2787b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2788b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _rxVad = true; 2789b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veApmPtr->RegisterRxVadObserver(channel, *_rxVadObserverPtr); 2790b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_RXVAD, 0); 2791b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2792b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2793b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2794b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _rxVad = false; 2795b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veApmPtr->DeRegisterRxVadObserver(channel); 2796b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_RXVAD, _T("")); 2797b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2798b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2799b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2800b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckAgc1() 2801b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2802b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SHORT shiftKeyIsPressed = ::GetAsyncKeyState(VK_SHIFT); 2803b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2804b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2805b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2806b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_AGC_1); 2807b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2808b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2809b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2810b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (shiftKeyIsPressed) 2811b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2812b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool enabled(false); 2813b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org AgcModes mode(kAgcAdaptiveDigital); 2814b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->GetRxAgcStatus(channel, enabled, mode) == 0, 2815b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("GetRxAgcStatus(channel=%d, enabled=?, mode=?)"), channel); 2816b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org button->SetCheck((check == BST_CHECKED) ? BST_UNCHECKED : BST_CHECKED); 2817b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2818b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org switch (mode) 2819b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2820b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case kAgcAdaptiveAnalog: 2821b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcAdaptiveAnalog"); 2822b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 2823b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case kAgcAdaptiveDigital: 2824b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcAdaptiveDigital"); 2825b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 2826b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case kAgcFixedDigital: 2827b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcFixedDigital"); 2828b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 2829b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org default: 2830b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 2831b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2832b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org PRINT_GET_RESULT(_T("enabled=%d, mode=%s"), enabled, str); 2833b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return; 2834b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2835b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2836b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2837b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2838b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2839b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org AgcModes mode(kAgcDefault); 2840b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkAGC1 % 3 == 0) 2841b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2842b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kAgcDefault; 2843b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcDefault"); 2844b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2845b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkAGC1 % 3 == 1) 2846b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2847b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kAgcAdaptiveDigital; 2848b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcAdaptiveDigital"); 2849b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2850b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkAGC1 % 3 == 2) 2851b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2852b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kAgcFixedDigital; 2853b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcFixedDigital"); 2854b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2855b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetRxAgcStatus(channel, true, mode) == 0, _T("SetRxAgcStatus(channel=%d, enable=%d, %s)"), channel, enable, str); 2856b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkAGC1++; 2857b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2858b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2859b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2860b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetRxAgcStatus(channel, false, kAgcUnchanged) == 0, _T("SetRxAgcStatus(channel=%d, enable=%d)"), channel, enable); 2861b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2862b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2863b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2864b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckNs1() 2865b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2866b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 2867b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonNS = (CButton*)GetDlgItem(IDC_CHECK_NS_1); 2868b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonNS->GetCheck(); 2869b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2870b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2871b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2872b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2873b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org NsModes mode(kNsDefault); 2874b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkNS1 % 6 == 0) 2875b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2876b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsDefault; 2877b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsDefault"); 2878b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2879b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS1 % 6 == 1) 2880b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2881b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsConference; 2882b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsConference"); 2883b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2884b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS1 % 6 == 2) 2885b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2886b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsLowSuppression; 2887b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsLowSuppression"); 2888b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2889b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS1 % 6 == 3) 2890b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2891b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsModerateSuppression; 2892b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsModerateSuppression"); 2893b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2894b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS1 % 6 == 4) 2895b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2896b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsHighSuppression; 2897b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsHighSuppression"); 2898b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2899b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS1 % 6 == 5) 2900b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2901b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsVeryHighSuppression; 2902b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsVeryHighSuppression"); 2903b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2904b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetRxNsStatus(channel, true, mode) == 0, _T("SetRxNsStatus(channel=%d, enable=%d, %s)"), channel, enable, str); 2905b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkNS1++; 2906b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2907b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2908b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2909b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetRxNsStatus(channel, false, kNsUnchanged) == 0, _T("SetRxNsStatus(channel=%d, enable=%d)"), enable, channel); 2910b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2911b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2912b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2913b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 2914b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Channel-independent Operations 2915b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 2916b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2917b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckPlayFileIn() 2918b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2919b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org std::string micFile = _long_audio_file_path + "audio_short16.pcm"; 2920b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // std::string micFile = _long_audio_file_path + "audio_long16noise.pcm"; 2921b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2922b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel(-1); 2923b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonExtTrans = (CButton*)GetDlgItem(IDC_CHECK_PLAY_FILE_IN); 2924b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonExtTrans->GetCheck(); 2925b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2926b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2927b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2928b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org bool mix; 2929b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool loop(true); 2930b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const FileFormats format = kFileFormatPcm16kHzFile; 2931b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const float scale(1.0); 2932b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2933b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org (_checkPlayFileIn %2 == 0) ? mix = true : mix = false; 2934b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veFilePtr->StartPlayingFileAsMicrophone(channel, 2935b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org micFile.c_str(), loop, mix, format, scale) == 0, 2936b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StartPlayingFileAsMicrophone(channel=%d, file=%s, ") 2937b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("loop=%d, mix=%d, format=%d, scale=%2.1f)"), 2938b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org channel, CharToTchar(micFile.c_str(), -1), 2939b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org loop, mix, format, scale); 2940b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkPlayFileIn++; 2941b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2942b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2943b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2944b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veFilePtr->StopPlayingFileAsMicrophone(channel) == 0, 2945b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StopPlayingFileAsMicrophone(channel=%d)"), channel); 2946b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2947b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2948b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2949b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckRecMic() 2950b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2951b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org std::string micFile = webrtc::test::OutputPath() + 2952b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org "rec_mic_mono_16kHz.pcm"; 2953b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2954b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_REC_MIC); 2955b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 2956b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2957b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2958b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2959b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veFilePtr->StartRecordingMicrophone(micFile.c_str(), NULL) == 0, 2960b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StartRecordingMicrophone(file=%s)"), 2961b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CharToTchar(micFile.c_str(), -1)); 2962b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2963b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 2964b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2965b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veFilePtr->StopRecordingMicrophone() == 0, 2966b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("StopRecordingMicrophone()")); 2967b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2968b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 2969b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2970b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckAgc() 2971b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 2972b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonAGC = (CButton*)GetDlgItem(IDC_CHECK_AGC); 2973b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonAGC->GetCheck(); 2974b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 2975b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 2976b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2977b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 2978b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org AgcModes mode(kAgcDefault); 2979b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkAGC % 4 == 0) 2980b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2981b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kAgcDefault; 2982b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcDefault"); 2983b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2984b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkAGC % 4 == 1) 2985b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2986b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kAgcAdaptiveAnalog; 2987b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcAdaptiveAnalog"); 2988b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2989b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkAGC % 4 == 2) 2990b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2991b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kAgcAdaptiveDigital; 2992b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcAdaptiveDigital"); 2993b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2994b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkAGC % 4 == 3) 2995b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 2996b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kAgcFixedDigital; 2997b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kAgcFixedDigital"); 2998b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 2999b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetAgcStatus(true, mode) == 0, _T("SetAgcStatus(enable=%d, %s)"), enable, str); 3000b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkAGC++; 3001b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3002b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 3003b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3004b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetAgcStatus(false, kAgcUnchanged) == 0, _T("SetAgcStatus(enable=%d)"), enable); 3005b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3006b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3007b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3008b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckNs() 3009b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3010b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonNS = (CButton*)GetDlgItem(IDC_CHECK_NS); 3011b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonNS->GetCheck(); 3012b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 3013b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 3014b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3015b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 3016b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org NsModes mode(kNsDefault); 3017b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkNS % 6 == 0) 3018b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3019b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsDefault; 3020b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsDefault"); 3021b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3022b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS % 6 == 1) 3023b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3024b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsConference; 3025b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsConference"); 3026b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3027b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS % 6 == 2) 3028b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3029b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsLowSuppression; 3030b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsLowSuppression"); 3031b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3032b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS % 6 == 3) 3033b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3034b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsModerateSuppression; 3035b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsModerateSuppression"); 3036b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3037b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS % 6 == 4) 3038b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3039b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsHighSuppression; 3040b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsHighSuppression"); 3041b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3042b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkNS % 6 == 5) 3043b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3044b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kNsVeryHighSuppression; 3045b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kNsVeryHighSuppression"); 3046b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3047b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetNsStatus(true, mode) == 0, _T("SetNsStatus(enable=%d, %s)"), enable, str); 3048b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkNS++; 3049b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3050b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 3051b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3052b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetNsStatus(false, kNsUnchanged) == 0, _T("SetNsStatus(enable=%d)"), enable); 3053b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3054b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3055b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3056b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckEc() 3057b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3058b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonEC = (CButton*)GetDlgItem(IDC_CHECK_EC); 3059b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonEC->GetCheck(); 3060b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 3061b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 3062b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3063b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 3064b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org EcModes mode(kEcDefault); 3065b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_checkEC % 4 == 0) 3066b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3067b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kEcDefault; 3068b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kEcDefault"); 3069b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3070b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkEC % 4 == 1) 3071b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3072b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kEcConference; 3073b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kEcConference"); 3074b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3075b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkEC % 4 == 2) 3076b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3077b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kEcAec; 3078b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kEcAec"); 3079b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3080b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else if (_checkEC % 4 == 3) 3081b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3082b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org mode = kEcAecm; 3083b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str = _T("kEcAecm"); 3084b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3085b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetEcStatus(true, mode) == 0, _T("SetEcStatus(enable=%d, %s)"), enable, str); 3086b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _checkEC++; 3087b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3088b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 3089b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3090b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetEcStatus(false, kEcUnchanged) == 0, _T("SetEcStatus(enable=%d)"), enable); 3091b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3092b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3093b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3094b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckMuteIn() 3095b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3096b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* buttonMute = (CButton*)GetDlgItem(IDC_CHECK_MUTE_IN); 3097b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = buttonMute->GetCheck(); 3098b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 3099b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int channel(-1); 3100b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veVolumeControlPtr->SetInputMute(channel, enable) == 0, 3101b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetInputMute(channel=%d, enable=%d)"), channel, enable); 3102b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3103b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3104b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtMediaIn() 3105b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3106b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int channel(-1); 3107b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_IN); 3108b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 3109b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 3110b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 3111b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3112b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->RegisterExternalMediaProcessing(channel, kRecordingAllChannelsMixed, *_externalMediaPtr) == 0, 3113b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("RegisterExternalMediaProcessing(channel=%d, kRecordingAllChannelsMixed, processObject=0x%x)"), channel, _externalMediaPtr); 3114b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3115b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 3116b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3117b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->DeRegisterExternalMediaProcessing(channel, kRecordingAllChannelsMixed) == 0, 3118b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("DeRegisterExternalMediaProcessing(channel=%d, kRecordingAllChannelsMixed)"), channel); 3119b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3120b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3121b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3122b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckExtMediaOut() 3123b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3124b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int channel(-1); 3125b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_EXT_MEDIA_OUT); 3126b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 3127b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 3128b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (enable) 3129b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3130b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->RegisterExternalMediaProcessing(channel, kPlaybackAllChannelsMixed, *_externalMediaPtr) == 0, 3131b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("RegisterExternalMediaProcessing(channel=%d, kPlaybackAllChannelsMixed, processObject=0x%x)"), channel, _externalMediaPtr); 3132b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3133b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 3134b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3135b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veExternalMediaPtr->DeRegisterExternalMediaProcessing(channel, kPlaybackAllChannelsMixed) == 0, 3136b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("DeRegisterExternalMediaProcessing(channel=%d, kPlaybackAllChannelsMixed)"), channel); 3137b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3138b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3139b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3140b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnCbnSelchangeComboRecDevice() 3141b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3142b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboCodec(NULL); 3143b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec = (CComboBox*)GetDlgItem(IDC_COMBO_REC_DEVICE); 3144b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int index = comboCodec->GetCurSel(); 3145b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veHardwarePtr->SetRecordingDevice(index) == 0, 3146b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetRecordingDevice(index=%d)"), index); 3147b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3148b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3149b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnCbnSelchangeComboPlayDevice() 3150b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3151b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CComboBox* comboCodec(NULL); 3152b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org comboCodec = (CComboBox*)GetDlgItem(IDC_COMBO_PLAY_DEVICE); 3153b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int index = comboCodec->GetCurSel(); 3154b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veHardwarePtr->SetPlayoutDevice(index) == 0, 3155b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetPlayoutDevice(index=%d)"), index); 3156b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3157b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3158b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnNMReleasedcaptureSliderInputVolume(NMHDR *pNMHDR, LRESULT *pResult) 3159b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3160b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CSliderCtrl* slider = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_INPUT_VOLUME); 3161b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRangeMin(0); 3162b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRangeMax(255); 3163b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int pos = slider->GetPos(); 3164b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3165b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veVolumeControlPtr->SetMicVolume(pos) == 0, _T("SetMicVolume(volume=%d)"), pos); 3166b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3167b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *pResult = 0; 3168b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3169b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3170b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnNMReleasedcaptureSliderOutputVolume(NMHDR *pNMHDR, LRESULT *pResult) 3171b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3172b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CSliderCtrl* slider = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_OUTPUT_VOLUME); 3173b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRangeMin(0); 3174b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRangeMax(255); 3175b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int pos = slider->GetPos(); 3176b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3177b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veVolumeControlPtr->SetSpeakerVolume(pos) == 0, _T("SetSpeakerVolume(volume=%d)"), pos); 3178b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3179b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *pResult = 0; 3180b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3181b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3182b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnNMReleasedcaptureSliderPanLeft(NMHDR *pNMHDR, LRESULT *pResult) 3183b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3184b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CSliderCtrl* slider = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_PAN_LEFT); 3185b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRange(0,10); 3186b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int pos = 10 - slider->GetPos(); // 0 <=> lower end, 10 <=> upper end 3187b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3188b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org float left(0.0); 3189b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org float right(0.0); 3190b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int channel(-1); 3191b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3192b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Only left channel will be modified 3193b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr->GetOutputVolumePan(channel, left, right); 3194b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3195b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org left = (float)((float)pos/10.0f); 3196b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3197b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veVolumeControlPtr->SetOutputVolumePan(channel, left, right) == 0, 3198b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetOutputVolumePan(channel=%d, left=%2.1f, right=%2.1f)"), channel, left, right); 3199b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3200b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *pResult = 0; 3201b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3202b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3203b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnNMReleasedcaptureSliderPanRight(NMHDR *pNMHDR, LRESULT *pResult) 3204b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3205b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CSliderCtrl* slider = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_PAN_RIGHT); 3206b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org slider->SetRange(0,10); 3207b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int pos = 10 - slider->GetPos(); // 0 <=> lower end, 10 <=> upper end 3208b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3209b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org float left(0.0); 3210b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org float right(0.0); 3211b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int channel(-1); 3212b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3213b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Only right channel will be modified 3214b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr->GetOutputVolumePan(channel, left, right); 3215b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3216b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org right = (float)((float)pos/10.0f); 3217b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3218b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veVolumeControlPtr->SetOutputVolumePan(channel, left, right) == 0, 3219b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _T("SetOutputVolumePan(channel=%d, left=%2.1f, right=%2.1f)"), channel, left, right); 3220b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3221b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *pResult = 0; 3222b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3223b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3224b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonVersion() 3225b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3226b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veBasePtr) 3227b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3228b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org char version[1024]; 3229b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veBasePtr->GetVersion(version) == 0) 3230b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3231b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org AfxMessageBox(CString(version), MB_OK); 3232b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3233b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org else 3234b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3235b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org AfxMessageBox(_T("FAILED!"), MB_OK); 3236b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3237b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3238b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3239b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3240b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckRecCall() 3241b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3242b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Not supported 3243b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3244b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3245b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckTypingDetection() 3246b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3247b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_TYPING_DETECTION); 3248b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 3249b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 3250b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TEST(_veApmPtr->SetTypingDetectionStatus(enable) == 0, _T("SetTypingDetectionStatus(enable=%d)"), enable); 3251b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3252b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3253dd671dea7a51c5db5e15123acac599e89f9be201minyue@webrtc.orgvoid CWinTestDlg::OnBnClickedCheckRED() 3254b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3255dd671dea7a51c5db5e15123acac599e89f9be201minyue@webrtc.org CButton* button = (CButton*)GetDlgItem(IDC_CHECK_RED); 3256b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1); 3257b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int check = button->GetCheck(); 3258b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const bool enable = (check == BST_CHECKED); 3259dd671dea7a51c5db5e15123acac599e89f9be201minyue@webrtc.org TEST(_veRtpRtcpPtr->SetREDStatus(channel, enable) == 0, 3260dd671dea7a51c5db5e15123acac599e89f9be201minyue@webrtc.org _T("SetREDStatus(enable=%d)"), enable); 3261b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3262b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3263b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 3264b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Message Handlers 3265b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 3266b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3267b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnTimer(UINT_PTR nIDEvent) 3268b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3269b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CString str; 3270b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3271b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org unsigned int svol(0); 3272b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org unsigned int mvol(0); 3273b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3274b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _timerTicks++; 3275b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3276b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Get speaker and microphone volumes 3277b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr->GetSpeakerVolume(svol); 3278b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr->GetMicVolume(mvol); 3279b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3280b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Update speaker volume slider 3281b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CSliderCtrl* sliderSpkr = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_OUTPUT_VOLUME); 3282b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sliderSpkr->SetRangeMin(0); 3283b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sliderSpkr->SetRangeMax(255); 3284b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sliderSpkr->SetPos(svol); 3285b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3286b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Update microphone volume slider 3287b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CSliderCtrl* sliderMic = (CSliderCtrl*)GetDlgItem(IDC_SLIDER_INPUT_VOLUME); 3288b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sliderMic->SetRangeMin(0); 3289b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sliderMic->SetRangeMax(255); 3290b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org sliderMic->SetPos(mvol); 3291b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3292b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org unsigned int micLevel; 3293b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org unsigned int combinedOutputLevel; 3294b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3295b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Get audio levels 3296b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr->GetSpeechInputLevel(micLevel); 3297b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVolumeControlPtr->GetSpeechOutputLevel(-1, combinedOutputLevel); 3298b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3299b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Update audio level controls 3300b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CProgressCtrl* progressMic = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_AUDIO_LEVEL_IN); 3301b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org progressMic->SetRange(0,9); 3302b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org progressMic->SetStep(1); 3303b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org progressMic->SetPos(micLevel); 3304b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CProgressCtrl* progressOut = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_AUDIO_LEVEL_OUT); 3305b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org progressOut->SetRange(0,9); 3306b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org progressOut->SetStep(1); 3307b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org progressOut->SetPos(combinedOutputLevel); 3308b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3309b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Update playout delay (buffer size) 3310b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veVideoSyncPtr) 3311b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3312b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int bufferMs(0); 3313b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVideoSyncPtr->GetPlayoutBufferSize(bufferMs); 3314b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_PLAYOUT_BUFFER_SIZE, bufferMs); 3315b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3316b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3317b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_delayEstimate1 && _veVideoSyncPtr) 3318b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3319b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org const int channel = GetDlgItemInt(IDC_EDIT_1); 3320b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int delayMs(0); 3321b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veVideoSyncPtr->GetDelayEstimate(channel, delayMs); 3322b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_DELAY_ESTIMATE_1, delayMs); 3323b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3324b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3325b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_rxVad && _veApmPtr && _rxVadObserverPtr) 3326b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3327b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemInt(IDC_EDIT_RXVAD, _rxVadObserverPtr->vad_decision); 3328b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3329b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3330b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veHardwarePtr) 3331b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3332b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int load1, load2; 3333b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr->GetSystemCPULoad(load1); 3334b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _veHardwarePtr->GetCPULoad(load2); 3335b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.Format(_T("CPU load (system/VoE): %d/%d [%%]"), load1, load2); 3336b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_CPU_LOAD, (LPCTSTR)str); 3337b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3338b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3339b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org BOOL ret; 3340b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int channel = GetDlgItemInt(IDC_EDIT_1, &ret); 3341b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3342b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veCodecPtr) 3343b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3344b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == TRUE) 3345b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3346b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CodecInst codec; 3347b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veCodecPtr->GetRecCodec(channel, codec) == 0) 3348b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3349b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.Format(_T("RX codec: %s, freq=%d, pt=%d, rate=%d, size=%d"), CharToTchar(codec.plname, 32), codec.plfreq, codec.pltype, codec.rate, codec.pacsize); 3350b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_RX_CODEC_1, (LPCTSTR)str); 3351b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3352b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3353b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3354b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3355b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veRtpRtcpPtr) 3356b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3357b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (ret == TRUE) 3358b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3359b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CallStatistics stats; 3360b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (_veRtpRtcpPtr->GetRTCPStatistics(channel, stats) == 0) 3361b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org { 3362b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org str.Format(_T("RTCP | RTP: cum=%u, ext=%d, frac=%u, jitter=%u | TX=%d, RX=%d, RTT=%d"), 3363b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org stats.cumulativeLost, stats.extendedMax, stats.fractionLost, stats.jitterSamples, stats.packetsSent, stats.packetsReceived, stats.rttMs); 3364b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_RTCP_STAT_1, (LPCTSTR)str); 3365b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3366b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3367b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 3368b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3369b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetTimer(0, 1000, NULL); 3370b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org CDialog::OnTimer(nIDEvent); 3371b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3372b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3373b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonClearErrorCallback() 3374b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3375b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org _nErrorCallbacks = 0; 3376b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org SetDlgItemText(IDC_EDIT_ERROR_CALLBACK, _T("")); 3377b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3378b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3379b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 3380b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// TEST 3381b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// ---------------------------------------------------------------------------- 3382b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3383b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgvoid CWinTestDlg::OnBnClickedButtonTest1() 3384b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 3385b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // add tests here... 3386b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 3387