1b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* 2b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 3b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * 4b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * Use of this source code is governed by a BSD-style license 5b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * that can be found in the LICENSE file in the root of the source 6b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * tree. An additional intellectual property rights grant can be found 7b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * in the file PATENTS. All contributing project authors may 8b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * be found in the AUTHORS file in the root of the source tree. 9b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org */ 10b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 11b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#ifndef WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_INTERFACES_H_ 12b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#define WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_INTERFACES_H_ 13b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 14b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#include <string> 15b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 16774b3d38a4a0f1a8ec08972a3c543cb5d607ce13henrike@webrtc.org#include "webrtc/base/constructormagic.h" 17281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/common_types.h" 18281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/include/vie_base.h" 19281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/include/vie_capture.h" 20281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/include/vie_codec.h" 21281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/include/vie_image_process.h" 22281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/include/vie_network.h" 23281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/include/vie_render.h" 24281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/include/vie_rtp_rtcp.h" 25281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/vie_defines.h" 26b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 27b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// This class deals with all the tedium of setting up video engine interfaces. 28b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// It does its work in constructor and destructor, so keeping it in scope is 29b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// enough. It also sets up tracing. 30b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass TbInterfaces 31b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org{ 32b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgpublic: 33b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Sets up all interfaces and creates a trace file 34b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org TbInterfaces(const std::string& test_name); 35b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ~TbInterfaces(void); 36b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 37b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org webrtc::VideoEngine* video_engine; 38b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org webrtc::ViEBase* base; 39b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org webrtc::ViECapture* capture; 40b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org webrtc::ViERender* render; 41b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org webrtc::ViERTP_RTCP* rtp_rtcp; 42b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org webrtc::ViECodec* codec; 43b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org webrtc::ViENetwork* network; 44b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org webrtc::ViEImageProcess* image_process; 45b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 46b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org int LastError() { 47b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return base->LastError(); 48b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 49b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 50b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgprivate: 51b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org DISALLOW_COPY_AND_ASSIGN(TbInterfaces); 52b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 53b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 54b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#endif // WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_INTERFACES_H_ 55