| /* |
| * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| #include "WindowsTest.h" |
| #include "ChannelDlg.h" |
| #include "WindowsTestMainDlg.h" |
| #include "engine_configurations.h" |
| |
| #ifdef _DEBUG |
| #define new DEBUG_NEW |
| #undef THIS_FILE |
| static char THIS_FILE[] = __FILE__; |
| #endif |
| |
| // Check memory leaks id running debug |
| #if (defined(_DEBUG) && defined(_WIN32)) |
| // #include "vld.h" |
| #endif |
| ///////////////////////////////////////////////////////////////////////////// |
| // CDXWindowsTestApp |
| |
| BEGIN_MESSAGE_MAP(CDXWindowsTestApp, CWinApp) |
| //{{AFX_MSG_MAP(CDXWindowsTestApp) |
| // NOTE - the ClassWizard will add and remove mapping macros here. |
| // DO NOT EDIT what you see in these blocks of generated code! |
| //}}AFX_MSG |
| ON_COMMAND(ID_HELP, CWinApp::OnHelp) |
| END_MESSAGE_MAP() |
| |
| ///////////////////////////////////////////////////////////////////////////// |
| // CDXWindowsTestApp construction |
| |
| CDXWindowsTestApp::CDXWindowsTestApp() |
| { |
| |
| } |
| |
| ///////////////////////////////////////////////////////////////////////////// |
| // The one and only object |
| |
| CDXWindowsTestApp theApp; |
| |
| ///////////////////////////////////////////////////////////////////////////// |
| // CDXWindowsTestApp initialization |
| |
| BOOL CDXWindowsTestApp::InitInstance() |
| { |
| int result=0; |
| #ifndef NO_VOICE_ENGINE |
| _voiceEngine = VoiceEngine::Create(); |
| _veBase = VoEBase::GetInterface(_voiceEngine); |
| result+=_veBase->Init(); |
| #else |
| _voiceEngine=NULL; |
| #endif |
| |
| _videoEngine = VideoEngine::Create(); |
| |
| _videoEngine->SetTraceFilter(webrtc::kTraceDefault);//webrtc::kTraceDebug | webrtc::kTraceError | webrtc::kTraceApiCall | webrtc::kTraceWarning | webrtc::kTraceCritical | webrtc::kTraceStateInfo | webrtc::kTraceInfo | webrtc::kTraceStream); |
| _videoEngine->SetTraceFile("trace.txt"); |
| |
| ViEBase* vieBase=ViEBase::GetInterface(_videoEngine); |
| result+=vieBase->Init(); |
| if(result!=0) |
| { |
| ::MessageBox (NULL, (LPCTSTR)("failed to init VideoEngine"), TEXT("Error Message"), MB_OK | MB_ICONINFORMATION); |
| } |
| |
| { |
| WindowsTestMainDlg dlg(_videoEngine,_voiceEngine); |
| |
| m_pMainWnd = &dlg; |
| int nResponse = dlg.DoModal(); |
| } |
| |
| vieBase->Release(); |
| |
| if(!VideoEngine::Delete(_videoEngine)) |
| { |
| char errorMsg[255]; |
| sprintf(errorMsg,"All VideoEngine interfaces are not released properly!"); |
| ::MessageBox (NULL, (LPCTSTR)errorMsg, TEXT("Error Message"), MB_OK | MB_ICONINFORMATION); |
| } |
| |
| #ifndef NO_VOICE_ENGINE |
| |
| _veBase->Terminate(); |
| if(_veBase->Release()!=0) |
| { |
| // ensure that no interface is still referenced |
| char errorMsg[256]; |
| sprintf(errorMsg,"All VoiceEngine interfaces are not released properly!"); |
| ::MessageBox (NULL, (LPCTSTR)errorMsg, TEXT("Error Message"), MB_OK | MB_ICONINFORMATION); |
| } |
| |
| if (false == VoiceEngine::Delete(_voiceEngine)) |
| { |
| char errorMsg[256]; |
| sprintf(errorMsg,"VoiceEngine::Delete() failed!"); |
| ::MessageBox (NULL, (LPCTSTR)errorMsg, TEXT("Error Message"), MB_OK | MB_ICONINFORMATION); |
| } |
| #endif |
| |
| // Since the dialog has been closed, return FALSE so that we exit the |
| // application, rather than start the application's message pump. |
| return FALSE; |
| } |