1/*
2 *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
4 *  Use of this source code is governed by a BSD-style license
5 *  that can be found in the LICENSE file in the root of the source
6 *  tree. An additional intellectual property rights grant can be found
7 *  in the file PATENTS.  All contributing project authors may
8 *  be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_VIDEO_CHANNEL_H_
12#define WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_VIDEO_CHANNEL_H_
13
14#include "webrtc/system_wrappers/interface/scoped_ptr.h"
15#include "webrtc/video_engine/test/libvietest/include/tb_interfaces.h"
16
17namespace webrtc {
18namespace test {
19class VideoChannelTransport;
20}  // namespace test
21}  // namespace webrtc
22
23class TbVideoChannel {
24 public:
25  TbVideoChannel(TbInterfaces& Engine,
26                 webrtc::VideoCodecType sendCodec = webrtc::kVideoCodecVP8,
27                 int width = 352, int height = 288, int frameRate = 30,
28                 int startBitrate = 300);
29
30  ~TbVideoChannel(void);
31
32  void SetFrameSettings(int width, int height, int frameRate);
33
34  void StartSend(const unsigned short rtpPort = 11000,
35                 const char* ipAddress = "127.0.0.1");
36
37  void StopSend();
38
39  void StartReceive(const unsigned short rtpPort = 11000);
40
41  void StopReceive();
42
43  int videoChannel;
44
45 private:
46  TbInterfaces& ViE;
47  webrtc::scoped_ptr<webrtc::test::VideoChannelTransport> channel_transport_;
48};
49
50
51#endif  // WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_VIDEO_CHANNEL_H_
52