blob: ce532415d65780be0e49e58323a078d511106926 [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.
*/
#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