118 lines
3.9 KiB
C++
118 lines
3.9 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_NETWORK_IMPL_H
|
|
#define WEBRTC_VOICE_ENGINE_VOE_NETWORK_IMPL_H
|
|
|
|
#include "voe_network.h"
|
|
|
|
#include "ref_count.h"
|
|
#include "shared_data.h"
|
|
|
|
|
|
namespace webrtc
|
|
{
|
|
|
|
class VoENetworkImpl: public virtual voe::SharedData,
|
|
public VoENetwork,
|
|
public voe::RefCount
|
|
{
|
|
public:
|
|
virtual int Release();
|
|
|
|
virtual int RegisterExternalTransport(int channel, Transport& transport);
|
|
|
|
virtual int DeRegisterExternalTransport(int channel);
|
|
|
|
virtual int ReceivedRTPPacket(int channel,
|
|
const void* data,
|
|
unsigned int length);
|
|
|
|
virtual int ReceivedRTCPPacket(int channel,
|
|
const void* data,
|
|
unsigned int length);
|
|
|
|
virtual int GetSourceInfo(int channel,
|
|
int& rtpPort,
|
|
int& rtcpPort,
|
|
char ipAddr[64]);
|
|
|
|
virtual int GetLocalIP(char ipAddr[64], bool ipv6 = false);
|
|
|
|
virtual int EnableIPv6(int channel);
|
|
|
|
virtual bool IPv6IsEnabled(int channel);
|
|
|
|
virtual int SetSourceFilter(int channel,
|
|
int rtpPort,
|
|
int rtcpPort,
|
|
const char ipAddr[64] = 0);
|
|
|
|
virtual int GetSourceFilter(int channel,
|
|
int& rtpPort,
|
|
int& rtcpPort,
|
|
char ipAddr[64]);
|
|
|
|
virtual int SetSendTOS(int channel,
|
|
int DSCP,
|
|
int priority = -1,
|
|
bool useSetSockopt = false);
|
|
|
|
virtual int GetSendTOS(int channel,
|
|
int& DSCP,
|
|
int& priority,
|
|
bool& useSetSockopt);
|
|
|
|
virtual int SetSendGQoS(int channel,
|
|
bool enable,
|
|
int serviceType,
|
|
int overrideDSCP);
|
|
|
|
virtual int GetSendGQoS(int channel,
|
|
bool& enabled,
|
|
int& serviceType,
|
|
int& overrideDSCP);
|
|
|
|
virtual int SetPacketTimeoutNotification(int channel,
|
|
bool enable,
|
|
int timeoutSeconds = 2);
|
|
|
|
virtual int GetPacketTimeoutNotification(int channel,
|
|
bool& enabled,
|
|
int& timeoutSeconds);
|
|
|
|
virtual int RegisterDeadOrAliveObserver(int channel,
|
|
VoEConnectionObserver& observer);
|
|
|
|
virtual int DeRegisterDeadOrAliveObserver(int channel);
|
|
|
|
virtual int SetPeriodicDeadOrAliveStatus(int channel,
|
|
bool enable,
|
|
int sampleTimeSeconds = 2);
|
|
|
|
virtual int GetPeriodicDeadOrAliveStatus(int channel,
|
|
bool& enabled,
|
|
int& sampleTimeSeconds);
|
|
|
|
virtual int SendUDPPacket(int channel,
|
|
const void* data,
|
|
unsigned int length,
|
|
int& transmittedBytes,
|
|
bool useRtcpSocket = false);
|
|
|
|
protected:
|
|
VoENetworkImpl();
|
|
virtual ~VoENetworkImpl();
|
|
};
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // WEBRTC_VOICE_ENGINE_VOE_NETWORK_IMPL_H
|