68 lines
2.0 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.
*/
#ifndef WEBRTC_VOICE_ENGINE_VOE_UNIT_TEST_H
#define WEBRTC_VOICE_ENGINE_VOE_UNIT_TEST_H
#include "voe_standard_test.h"
namespace voetest {
class VoETestManager;
class VoEUnitTest : public Encryption
{
public:
VoEUnitTest(VoETestManager& mgr);
~VoEUnitTest() {};
int DoTest();
protected:
// Encryption
void encrypt(int channel_no, unsigned char * in_data,
unsigned char * out_data, int bytes_in, int * bytes_out);
void decrypt(int channel_no, unsigned char * in_data,
unsigned char * out_data, int bytes_in, int * bytes_out);
void encrypt_rtcp(int channel_no, unsigned char * in_data,
unsigned char * out_data, int bytes_in, int * bytes_out);
void decrypt_rtcp(int channel_no, unsigned char * in_data,
unsigned char * out_data, int bytes_in, int * bytes_out);
private:
int MenuSelection();
int MixerTest();
void Sleep(unsigned int timeMillisec, bool addMarker = false);
void Wait();
int StartMedia(int channel, int rtpPort, bool listen, bool playout,
bool send, bool fileAsMic, bool localFile);
int StopMedia(int channel);
void Test(const char* msg);
void SetStereoExternalEncryption(int channel,
bool onOff,
int bitsPerSample);
private:
VoETestManager& _mgr;
static const char* _key;
private:
bool _listening[32];
bool _playing[32];
bool _sending[32];
private:
bool _extOnOff;
int _extBitsPerSample;
int _extChannel;
};
} // namespace voetest
#endif // WEBRTC_VOICE_ENGINE_VOE_UNIT_TEST_H