webrtc_m130/webrtc/video/transport_adapter.h
sprang@webrtc.org d9b9560ee5 Drop early packets when not sending in TransportAdapter.
Particularly, suppress periodic RTCP packets before
VideoSendStream.StartSending() or VideoReceiveStream.StartReceiving() have been called, respectively.

RTCP packets are sent periodically, by the Process thread, for every ViE channel even those not sending.

BUG=
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7569004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5438 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-27 13:03:02 +00:00

40 lines
1.2 KiB
C++

/*
* Copyright (c) 2013 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_VIDEO_ENGINE_INTERNAL_TRANSPORT_ADAPTER_H_
#define WEBRTC_VIDEO_ENGINE_INTERNAL_TRANSPORT_ADAPTER_H_
#include "webrtc/common_types.h"
#include "webrtc/system_wrappers/interface/atomic32.h"
#include "webrtc/transport.h"
namespace webrtc {
namespace internal {
class TransportAdapter : public webrtc::Transport {
public:
explicit TransportAdapter(newapi::Transport* transport);
virtual int SendPacket(int /*channel*/, const void* packet, int length)
OVERRIDE;
virtual int SendRTCPPacket(int /*channel*/, const void* packet, int length)
OVERRIDE;
void Enable();
void Disable();
private:
newapi::Transport *transport_;
Atomic32 enabled_;
};
} // namespace internal
} // namespace webrtc
#endif // WEBRTC_VIDEO_ENGINE_INTERNAL_TRANSPORT_ADAPTER_H_