blob: ceda8a99da71b6eec8dc23ae9e9e8e0511e132ab [file] [log] [blame]
/*
* 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;
}