115 lines
3.5 KiB
C++
115 lines
3.5 KiB
C++
/*
|
|
* 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;
|
|
}
|