Fix some chromium-style warnings in webrtc/modules/rtp_rtcp/
BUG=163 R=pwestin@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1904005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4444 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
8f23df51d4
commit
f3e4ceee47
@ -264,24 +264,24 @@ class NullRtpFeedback : public RtpFeedback {
|
||||
const char payloadName[RTP_PAYLOAD_NAME_SIZE],
|
||||
const int frequency,
|
||||
const uint8_t channels,
|
||||
const uint32_t rate) {
|
||||
const uint32_t rate) OVERRIDE {
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual void OnPacketTimeout(const int32_t id) {}
|
||||
virtual void OnPacketTimeout(const int32_t id) OVERRIDE {}
|
||||
|
||||
virtual void OnReceivedPacket(const int32_t id,
|
||||
const RtpRtcpPacketType packetType) {}
|
||||
const RtpRtcpPacketType packetType) OVERRIDE {}
|
||||
|
||||
virtual void OnPeriodicDeadOrAlive(const int32_t id,
|
||||
const RTPAliveType alive) {}
|
||||
const RTPAliveType alive) OVERRIDE {}
|
||||
|
||||
virtual void OnIncomingSSRCChanged(const int32_t id,
|
||||
const uint32_t SSRC) {}
|
||||
const uint32_t SSRC) OVERRIDE {}
|
||||
|
||||
virtual void OnIncomingCSRCChanged(const int32_t id,
|
||||
const uint32_t CSRC,
|
||||
const bool added) {}
|
||||
const bool added) OVERRIDE {}
|
||||
};
|
||||
|
||||
// Null object version of RtpData.
|
||||
@ -291,7 +291,7 @@ class NullRtpData : public RtpData {
|
||||
virtual int32_t OnReceivedPayloadData(
|
||||
const uint8_t* payloadData,
|
||||
const uint16_t payloadSize,
|
||||
const WebRtcRTPHeader* rtpHeader) {
|
||||
const WebRtcRTPHeader* rtpHeader) OVERRIDE {
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
@ -304,7 +304,7 @@ class NullRtpAudioFeedback : public RtpAudioFeedback {
|
||||
virtual void OnPlayTelephoneEvent(const int32_t id,
|
||||
const uint8_t event,
|
||||
const uint16_t lengthMs,
|
||||
const uint8_t volume) {}
|
||||
const uint8_t volume) OVERRIDE {}
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
@ -40,6 +40,16 @@ enum {
|
||||
kMaxFecPackets = ForwardErrorCorrection::kMaxMediaPackets
|
||||
};
|
||||
|
||||
int32_t ForwardErrorCorrection::Packet::AddRef() { return ++ref_count_; }
|
||||
|
||||
int32_t ForwardErrorCorrection::Packet::Release() {
|
||||
int32_t ref_count;
|
||||
ref_count = --ref_count_;
|
||||
if (ref_count == 0)
|
||||
delete this;
|
||||
return ref_count;
|
||||
}
|
||||
|
||||
// Used to link media packets to their protecting FEC packets.
|
||||
//
|
||||
// TODO(holmer): Refactor into a proper class.
|
||||
@ -66,6 +76,12 @@ bool ForwardErrorCorrection::SortablePacket::LessThan(
|
||||
return IsNewerSequenceNumber(second->seq_num, first->seq_num);
|
||||
}
|
||||
|
||||
ForwardErrorCorrection::ReceivedPacket::ReceivedPacket() {}
|
||||
ForwardErrorCorrection::ReceivedPacket::~ReceivedPacket() {}
|
||||
|
||||
ForwardErrorCorrection::RecoveredPacket::RecoveredPacket() {}
|
||||
ForwardErrorCorrection::RecoveredPacket::~RecoveredPacket() {}
|
||||
|
||||
ForwardErrorCorrection::ForwardErrorCorrection(int32_t id)
|
||||
: id_(id),
|
||||
generated_fec_packets_(kMaxMediaPackets),
|
||||
|
@ -43,16 +43,11 @@ class ForwardErrorCorrection {
|
||||
virtual ~Packet() {}
|
||||
|
||||
// Add a reference.
|
||||
virtual int32_t AddRef() { return ++ref_count_; }
|
||||
virtual int32_t AddRef();
|
||||
|
||||
// Release a reference. Will delete the object if the reference count
|
||||
// reaches zero.
|
||||
virtual int32_t Release() {
|
||||
int32_t ref_count;
|
||||
ref_count = --ref_count_;
|
||||
if (ref_count == 0) delete this;
|
||||
return ref_count;
|
||||
}
|
||||
virtual int32_t Release();
|
||||
|
||||
uint16_t length; // Length of packet in bytes.
|
||||
uint8_t data[IP_PACKET_SIZE]; // Packet data.
|
||||
@ -90,6 +85,9 @@ class ForwardErrorCorrection {
|
||||
// TODO(holmer): Refactor into a proper class.
|
||||
class ReceivedPacket : public SortablePacket {
|
||||
public:
|
||||
ReceivedPacket();
|
||||
~ReceivedPacket();
|
||||
|
||||
uint32_t ssrc; // SSRC of the current frame. Must be set for FEC
|
||||
// packets, but not required for media packets.
|
||||
bool is_fec; // Set to true if this is an FEC packet and false
|
||||
@ -102,6 +100,9 @@ class ForwardErrorCorrection {
|
||||
// TODO(holmer): Refactor into a proper class.
|
||||
class RecoveredPacket : public SortablePacket {
|
||||
public:
|
||||
RecoveredPacket();
|
||||
~RecoveredPacket();
|
||||
|
||||
bool was_recovered; // Will be true if this packet was recovered by
|
||||
// the FEC. Otherwise it was a media packet passed in
|
||||
// through the received packet list.
|
||||
|
@ -31,6 +31,8 @@ NACKStringBuilder::NACKStringBuilder() :
|
||||
// Empty.
|
||||
}
|
||||
|
||||
NACKStringBuilder::~NACKStringBuilder() {}
|
||||
|
||||
void NACKStringBuilder::PushNACK(uint16_t nack)
|
||||
{
|
||||
if (_count == 0)
|
||||
|
@ -32,6 +32,8 @@ class NACKStringBuilder
|
||||
{
|
||||
public:
|
||||
NACKStringBuilder();
|
||||
~NACKStringBuilder();
|
||||
|
||||
void PushNACK(uint16_t nack);
|
||||
std::string GetResult();
|
||||
|
||||
|
@ -67,6 +67,8 @@ RtpFormatVp8::RtpFormatVp8(const uint8_t* payload_data,
|
||||
part_info_.fragmentationOffset[0] = 0;
|
||||
}
|
||||
|
||||
RtpFormatVp8::~RtpFormatVp8() {}
|
||||
|
||||
int RtpFormatVp8::NextPacket(uint8_t* buffer,
|
||||
int* bytes_to_send,
|
||||
bool* last_packet) {
|
||||
|
@ -62,6 +62,8 @@ class RtpFormatVp8 {
|
||||
const RTPVideoHeaderVP8& hdr_info,
|
||||
int max_payload_len);
|
||||
|
||||
~RtpFormatVp8();
|
||||
|
||||
// Get the next payload with VP8 payload header.
|
||||
// max_payload_len limits the sum length of payload and VP8 payload header.
|
||||
// buffer is a pointer to where the output will be written.
|
||||
|
@ -23,11 +23,12 @@ class RtpHeaderParserImpl : public RtpHeaderParser {
|
||||
virtual ~RtpHeaderParserImpl() {}
|
||||
|
||||
virtual bool Parse(const uint8_t* packet, int length,
|
||||
RTPHeader* header) const;
|
||||
RTPHeader* header) const OVERRIDE;
|
||||
|
||||
virtual bool RegisterRtpHeaderExtension(RTPExtensionType type, uint8_t id);
|
||||
virtual bool RegisterRtpHeaderExtension(RTPExtensionType type,
|
||||
uint8_t id) OVERRIDE;
|
||||
|
||||
virtual bool DeregisterRtpHeaderExtension(RTPExtensionType type);
|
||||
virtual bool DeregisterRtpHeaderExtension(RTPExtensionType type) OVERRIDE;
|
||||
|
||||
private:
|
||||
scoped_ptr<CriticalSectionWrapper> critical_section_;
|
||||
|
@ -253,13 +253,13 @@ bool RTPPayloadRegistry::ReportMediaPayloadType(
|
||||
|
||||
class RTPPayloadAudioStrategy : public RTPPayloadStrategy {
|
||||
public:
|
||||
bool CodecsMustBeUnique() const { return true; }
|
||||
virtual bool CodecsMustBeUnique() const OVERRIDE { return true; }
|
||||
|
||||
bool PayloadIsCompatible(
|
||||
virtual bool PayloadIsCompatible(
|
||||
const ModuleRTPUtility::Payload& payload,
|
||||
const uint32_t frequency,
|
||||
const uint8_t channels,
|
||||
const uint32_t rate) const {
|
||||
const uint32_t rate) const OVERRIDE {
|
||||
return
|
||||
payload.audio &&
|
||||
payload.typeSpecific.Audio.frequency == frequency &&
|
||||
@ -268,18 +268,18 @@ class RTPPayloadAudioStrategy : public RTPPayloadStrategy {
|
||||
payload.typeSpecific.Audio.rate == 0 || rate == 0);
|
||||
}
|
||||
|
||||
void UpdatePayloadRate(
|
||||
virtual void UpdatePayloadRate(
|
||||
ModuleRTPUtility::Payload* payload,
|
||||
const uint32_t rate) const {
|
||||
const uint32_t rate) const OVERRIDE {
|
||||
payload->typeSpecific.Audio.rate = rate;
|
||||
}
|
||||
|
||||
ModuleRTPUtility::Payload* CreatePayloadType(
|
||||
virtual ModuleRTPUtility::Payload* CreatePayloadType(
|
||||
const char payloadName[RTP_PAYLOAD_NAME_SIZE],
|
||||
const int8_t payloadType,
|
||||
const uint32_t frequency,
|
||||
const uint8_t channels,
|
||||
const uint32_t rate) const {
|
||||
const uint32_t rate) const OVERRIDE {
|
||||
ModuleRTPUtility::Payload* payload = new ModuleRTPUtility::Payload;
|
||||
payload->name[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
|
||||
strncpy(payload->name, payloadName, RTP_PAYLOAD_NAME_SIZE - 1);
|
||||
@ -293,28 +293,28 @@ class RTPPayloadAudioStrategy : public RTPPayloadStrategy {
|
||||
|
||||
class RTPPayloadVideoStrategy : public RTPPayloadStrategy {
|
||||
public:
|
||||
bool CodecsMustBeUnique() const { return false; }
|
||||
virtual bool CodecsMustBeUnique() const OVERRIDE { return false; }
|
||||
|
||||
bool PayloadIsCompatible(
|
||||
virtual bool PayloadIsCompatible(
|
||||
const ModuleRTPUtility::Payload& payload,
|
||||
const uint32_t frequency,
|
||||
const uint8_t channels,
|
||||
const uint32_t rate) const {
|
||||
const uint32_t rate) const OVERRIDE {
|
||||
return !payload.audio;
|
||||
}
|
||||
|
||||
void UpdatePayloadRate(
|
||||
virtual void UpdatePayloadRate(
|
||||
ModuleRTPUtility::Payload* payload,
|
||||
const uint32_t rate) const {
|
||||
const uint32_t rate) const OVERRIDE {
|
||||
payload->typeSpecific.Video.maxRate = rate;
|
||||
}
|
||||
|
||||
ModuleRTPUtility::Payload* CreatePayloadType(
|
||||
virtual ModuleRTPUtility::Payload* CreatePayloadType(
|
||||
const char payloadName[RTP_PAYLOAD_NAME_SIZE],
|
||||
const int8_t payloadType,
|
||||
const uint32_t frequency,
|
||||
const uint8_t channels,
|
||||
const uint32_t rate) const {
|
||||
const uint32_t rate) const OVERRIDE {
|
||||
RtpVideoCodecTypes videoType = kRtpGenericVideo;
|
||||
if (ModuleRTPUtility::StringCompare(payloadName, "VP8", 3)) {
|
||||
videoType = kRtpVp8Video;
|
||||
|
@ -41,6 +41,8 @@ RTPReceiverAudio::RTPReceiverAudio(const int32_t id,
|
||||
last_payload_.Audio.channels = 1;
|
||||
}
|
||||
|
||||
RTPReceiverAudio::~RTPReceiverAudio() {}
|
||||
|
||||
uint32_t RTPReceiverAudio::AudioFrequency() const {
|
||||
CriticalSectionScoped lock(critical_section_rtp_receiver_audio_.get());
|
||||
if (last_received_g722_) {
|
||||
|
@ -30,6 +30,7 @@ class RTPReceiverAudio : public RTPReceiverStrategy {
|
||||
RTPReceiverAudio(const int32_t id,
|
||||
RtpData* data_callback,
|
||||
RtpAudioFeedback* incoming_messages_callback);
|
||||
virtual ~RTPReceiverAudio();
|
||||
|
||||
uint32_t AudioFrequency() const;
|
||||
|
||||
@ -48,32 +49,33 @@ class RTPReceiverAudio : public RTPReceiverStrategy {
|
||||
uint32_t* frequency,
|
||||
bool* cng_payload_type_has_changed);
|
||||
|
||||
int32_t ParseRtpPacket(
|
||||
virtual int32_t ParseRtpPacket(
|
||||
WebRtcRTPHeader* rtp_header,
|
||||
const ModuleRTPUtility::PayloadUnion& specific_payload,
|
||||
const bool is_red,
|
||||
const uint8_t* packet,
|
||||
const uint16_t packet_length,
|
||||
const int64_t timestamp_ms,
|
||||
const bool is_first_packet);
|
||||
const bool is_first_packet) OVERRIDE;
|
||||
|
||||
int32_t GetFrequencyHz() const;
|
||||
virtual int32_t GetFrequencyHz() const OVERRIDE;
|
||||
|
||||
RTPAliveType ProcessDeadOrAlive(uint16_t last_payload_length) const;
|
||||
virtual RTPAliveType ProcessDeadOrAlive(uint16_t last_payload_length) const
|
||||
OVERRIDE;
|
||||
|
||||
bool ShouldReportCsrcChanges(uint8_t payload_type) const;
|
||||
virtual bool ShouldReportCsrcChanges(uint8_t payload_type) const OVERRIDE;
|
||||
|
||||
int32_t OnNewPayloadTypeCreated(
|
||||
virtual int32_t OnNewPayloadTypeCreated(
|
||||
const char payload_name[RTP_PAYLOAD_NAME_SIZE],
|
||||
const int8_t payload_type,
|
||||
const uint32_t frequency);
|
||||
const uint32_t frequency) OVERRIDE;
|
||||
|
||||
int32_t InvokeOnInitializeDecoder(
|
||||
virtual int32_t InvokeOnInitializeDecoder(
|
||||
RtpFeedback* callback,
|
||||
const int32_t id,
|
||||
const int8_t payload_type,
|
||||
const char payload_name[RTP_PAYLOAD_NAME_SIZE],
|
||||
const ModuleRTPUtility::PayloadUnion& specific_payload) const;
|
||||
const ModuleRTPUtility::PayloadUnion& specific_payload) const OVERRIDE;
|
||||
|
||||
// We do not allow codecs to have multiple payload types for audio, so we
|
||||
// need to override the default behavior (which is to do nothing).
|
||||
@ -87,10 +89,10 @@ class RTPReceiverAudio : public RTPReceiverStrategy {
|
||||
|
||||
// We need to look out for special payload types here and sometimes reset
|
||||
// statistics. In addition we sometimes need to tweak the frequency.
|
||||
void CheckPayloadChanged(const int8_t payload_type,
|
||||
virtual void CheckPayloadChanged(const int8_t payload_type,
|
||||
ModuleRTPUtility::PayloadUnion* specific_payload,
|
||||
bool* should_reset_statistics,
|
||||
bool* should_discard_changes);
|
||||
bool* should_discard_changes) OVERRIDE;
|
||||
|
||||
private:
|
||||
|
||||
|
@ -29,4 +29,13 @@ void RTPReceiverStrategy::SetLastMediaSpecificPayload(
|
||||
memcpy(&last_payload_, &payload, sizeof(last_payload_));
|
||||
}
|
||||
|
||||
void RTPReceiverStrategy::CheckPayloadChanged(
|
||||
const int8_t payload_type,
|
||||
ModuleRTPUtility::PayloadUnion* specific_payload,
|
||||
bool* should_reset_statistics,
|
||||
bool* should_discard_changes) {
|
||||
// Default: Keep changes and don't reset statistics.
|
||||
*should_discard_changes = false;
|
||||
*should_reset_statistics = false;
|
||||
}
|
||||
} // namespace webrtc
|
||||
|
@ -80,11 +80,7 @@ class RTPReceiverStrategy {
|
||||
const int8_t payload_type,
|
||||
ModuleRTPUtility::PayloadUnion* specific_payload,
|
||||
bool* should_reset_statistics,
|
||||
bool* should_discard_changes) {
|
||||
// Default: Keep changes and don't reset statistics.
|
||||
*should_discard_changes = false;
|
||||
*should_reset_statistics = false;
|
||||
}
|
||||
bool* should_discard_changes);
|
||||
|
||||
// Stores / retrieves the last media specific payload for later reference.
|
||||
void GetLastMediaSpecificPayload(
|
||||
|
@ -33,32 +33,33 @@ class RTPReceiverVideo : public RTPReceiverStrategy {
|
||||
|
||||
virtual ~RTPReceiverVideo();
|
||||
|
||||
int32_t ParseRtpPacket(
|
||||
virtual int32_t ParseRtpPacket(
|
||||
WebRtcRTPHeader* rtp_header,
|
||||
const ModuleRTPUtility::PayloadUnion& specific_payload,
|
||||
const bool is_red,
|
||||
const uint8_t* packet,
|
||||
const uint16_t packet_length,
|
||||
const int64_t timestamp,
|
||||
const bool is_first_packet);
|
||||
const bool is_first_packet) OVERRIDE;
|
||||
|
||||
int32_t GetFrequencyHz() const;
|
||||
virtual int32_t GetFrequencyHz() const OVERRIDE;
|
||||
|
||||
RTPAliveType ProcessDeadOrAlive(uint16_t last_payload_length) const;
|
||||
virtual RTPAliveType ProcessDeadOrAlive(uint16_t last_payload_length) const
|
||||
OVERRIDE;
|
||||
|
||||
bool ShouldReportCsrcChanges(uint8_t payload_type) const;
|
||||
virtual bool ShouldReportCsrcChanges(uint8_t payload_type) const OVERRIDE;
|
||||
|
||||
int32_t OnNewPayloadTypeCreated(
|
||||
virtual int32_t OnNewPayloadTypeCreated(
|
||||
const char payload_name[RTP_PAYLOAD_NAME_SIZE],
|
||||
const int8_t payload_type,
|
||||
const uint32_t frequency);
|
||||
const uint32_t frequency) OVERRIDE;
|
||||
|
||||
int32_t InvokeOnInitializeDecoder(
|
||||
virtual int32_t InvokeOnInitializeDecoder(
|
||||
RtpFeedback* callback,
|
||||
const int32_t id,
|
||||
const int8_t payload_type,
|
||||
const char payload_name[RTP_PAYLOAD_NAME_SIZE],
|
||||
const ModuleRTPUtility::PayloadUnion& specific_payload) const;
|
||||
const ModuleRTPUtility::PayloadUnion& specific_payload) const OVERRIDE;
|
||||
|
||||
virtual int32_t ReceiveRecoveredPacketCallback(
|
||||
WebRtcRTPHeader* rtp_header,
|
||||
|
@ -36,119 +36,119 @@ class ModuleRtpRtcpImpl : public RtpRtcp {
|
||||
|
||||
// Returns the number of milliseconds until the module want a worker thread to
|
||||
// call Process.
|
||||
virtual int32_t TimeUntilNextProcess();
|
||||
virtual int32_t TimeUntilNextProcess() OVERRIDE;
|
||||
|
||||
// Process any pending tasks such as timeouts.
|
||||
virtual int32_t Process();
|
||||
virtual int32_t Process() OVERRIDE;
|
||||
|
||||
// Receiver part.
|
||||
|
||||
// Configure a timeout value.
|
||||
virtual int32_t SetPacketTimeout(const uint32_t rtp_timeout_ms,
|
||||
const uint32_t rtcp_timeout_ms);
|
||||
const uint32_t rtcp_timeout_ms) OVERRIDE;
|
||||
|
||||
// Set periodic dead or alive notification.
|
||||
virtual int32_t SetPeriodicDeadOrAliveStatus(
|
||||
const bool enable,
|
||||
const uint8_t sample_time_seconds);
|
||||
const uint8_t sample_time_seconds) OVERRIDE;
|
||||
|
||||
// Get periodic dead or alive notification status.
|
||||
virtual int32_t PeriodicDeadOrAliveStatus(
|
||||
bool& enable,
|
||||
uint8_t& sample_time_seconds);
|
||||
uint8_t& sample_time_seconds) OVERRIDE;
|
||||
|
||||
virtual int32_t RegisterReceivePayload(const CodecInst& voice_codec);
|
||||
virtual int32_t RegisterReceivePayload(const CodecInst& voice_codec) OVERRIDE;
|
||||
|
||||
virtual int32_t RegisterReceivePayload(const VideoCodec& video_codec);
|
||||
virtual int32_t RegisterReceivePayload(
|
||||
const VideoCodec& video_codec) OVERRIDE;
|
||||
|
||||
virtual int32_t ReceivePayloadType(const CodecInst& voice_codec,
|
||||
int8_t* pl_type);
|
||||
int8_t* pl_type) OVERRIDE;
|
||||
|
||||
virtual int32_t ReceivePayloadType(const VideoCodec& video_codec,
|
||||
int8_t* pl_type);
|
||||
int8_t* pl_type) OVERRIDE;
|
||||
|
||||
virtual int32_t DeRegisterReceivePayload(
|
||||
const int8_t payload_type);
|
||||
virtual int32_t DeRegisterReceivePayload(const int8_t payload_type) OVERRIDE;
|
||||
|
||||
// Get the currently configured SSRC filter.
|
||||
virtual int32_t SSRCFilter(uint32_t& allowed_ssrc) const;
|
||||
virtual int32_t SSRCFilter(uint32_t& allowed_ssrc) const OVERRIDE;
|
||||
|
||||
// Set a SSRC to be used as a filter for incoming RTP streams.
|
||||
virtual int32_t SetSSRCFilter(const bool enable,
|
||||
const uint32_t allowed_ssrc);
|
||||
const uint32_t allowed_ssrc) OVERRIDE;
|
||||
|
||||
// Get last received remote timestamp.
|
||||
virtual uint32_t RemoteTimestamp() const;
|
||||
virtual uint32_t RemoteTimestamp() const OVERRIDE;
|
||||
|
||||
// Get the local time of the last received remote timestamp.
|
||||
virtual int64_t LocalTimeOfRemoteTimeStamp() const;
|
||||
virtual int64_t LocalTimeOfRemoteTimeStamp() const OVERRIDE;
|
||||
|
||||
// Get the current estimated remote timestamp.
|
||||
virtual int32_t EstimatedRemoteTimeStamp(
|
||||
uint32_t& timestamp) const;
|
||||
virtual int32_t EstimatedRemoteTimeStamp(uint32_t& timestamp) const OVERRIDE;
|
||||
|
||||
virtual uint32_t RemoteSSRC() const;
|
||||
virtual uint32_t RemoteSSRC() const OVERRIDE;
|
||||
|
||||
virtual int32_t RemoteCSRCs(
|
||||
uint32_t arr_of_csrc[kRtpCsrcSize]) const;
|
||||
virtual int32_t RemoteCSRCs(uint32_t arr_of_csrc[kRtpCsrcSize]) const
|
||||
OVERRIDE;
|
||||
|
||||
virtual int32_t SetRTXReceiveStatus(const bool enable,
|
||||
const uint32_t ssrc);
|
||||
const uint32_t ssrc) OVERRIDE;
|
||||
|
||||
virtual int32_t RTXReceiveStatus(bool* enable, uint32_t* ssrc,
|
||||
int* payloadType) const;
|
||||
int* payloadType) const OVERRIDE;
|
||||
|
||||
virtual void SetRtxReceivePayloadType(int payload_type);
|
||||
virtual void SetRtxReceivePayloadType(int payload_type) OVERRIDE;
|
||||
|
||||
// Called when we receive an RTP packet.
|
||||
virtual int32_t IncomingRtpPacket(const uint8_t* incoming_packet,
|
||||
const uint16_t packet_length,
|
||||
const RTPHeader& parsed_rtp_header);
|
||||
virtual int32_t IncomingRtpPacket(
|
||||
const uint8_t* incoming_packet,
|
||||
const uint16_t packet_length,
|
||||
const RTPHeader& parsed_rtp_header) OVERRIDE;
|
||||
|
||||
// Called when we receive an RTCP packet.
|
||||
virtual int32_t IncomingRtcpPacket(const uint8_t* incoming_packet,
|
||||
uint16_t incoming_packet_length);
|
||||
uint16_t incoming_packet_length) OVERRIDE;
|
||||
|
||||
// Sender part.
|
||||
|
||||
virtual int32_t RegisterSendPayload(const CodecInst& voice_codec);
|
||||
virtual int32_t RegisterSendPayload(const CodecInst& voice_codec) OVERRIDE;
|
||||
|
||||
virtual int32_t RegisterSendPayload(const VideoCodec& video_codec);
|
||||
virtual int32_t RegisterSendPayload(const VideoCodec& video_codec) OVERRIDE;
|
||||
|
||||
virtual int32_t DeRegisterSendPayload(const int8_t payload_type);
|
||||
virtual int32_t DeRegisterSendPayload(const int8_t payload_type) OVERRIDE;
|
||||
|
||||
virtual int8_t SendPayloadType() const;
|
||||
|
||||
// Register RTP header extension.
|
||||
virtual int32_t RegisterSendRtpHeaderExtension(
|
||||
const RTPExtensionType type,
|
||||
const uint8_t id);
|
||||
const uint8_t id) OVERRIDE;
|
||||
|
||||
virtual int32_t DeregisterSendRtpHeaderExtension(
|
||||
const RTPExtensionType type);
|
||||
const RTPExtensionType type) OVERRIDE;
|
||||
|
||||
// Get start timestamp.
|
||||
virtual uint32_t StartTimestamp() const;
|
||||
virtual uint32_t StartTimestamp() const OVERRIDE;
|
||||
|
||||
// Configure start timestamp, default is a random number.
|
||||
virtual int32_t SetStartTimestamp(const uint32_t timestamp);
|
||||
virtual int32_t SetStartTimestamp(const uint32_t timestamp) OVERRIDE;
|
||||
|
||||
virtual uint16_t SequenceNumber() const;
|
||||
virtual uint16_t SequenceNumber() const OVERRIDE;
|
||||
|
||||
// Set SequenceNumber, default is a random number.
|
||||
virtual int32_t SetSequenceNumber(const uint16_t seq);
|
||||
virtual int32_t SetSequenceNumber(const uint16_t seq) OVERRIDE;
|
||||
|
||||
virtual uint32_t SSRC() const;
|
||||
virtual uint32_t SSRC() const OVERRIDE;
|
||||
|
||||
// Configure SSRC, default is a random number.
|
||||
virtual int32_t SetSSRC(const uint32_t ssrc);
|
||||
virtual int32_t SetSSRC(const uint32_t ssrc) OVERRIDE;
|
||||
|
||||
virtual int32_t CSRCs(uint32_t arr_of_csrc[kRtpCsrcSize]) const;
|
||||
virtual int32_t CSRCs(uint32_t arr_of_csrc[kRtpCsrcSize]) const OVERRIDE;
|
||||
|
||||
virtual int32_t SetCSRCs(const uint32_t arr_of_csrc[kRtpCsrcSize],
|
||||
const uint8_t arr_length);
|
||||
const uint8_t arr_length) OVERRIDE;
|
||||
|
||||
virtual int32_t SetCSRCStatus(const bool include);
|
||||
virtual int32_t SetCSRCStatus(const bool include) OVERRIDE;
|
||||
|
||||
virtual uint32_t PacketCountSent() const;
|
||||
|
||||
@ -158,23 +158,23 @@ class ModuleRtpRtcpImpl : public RtpRtcp {
|
||||
|
||||
virtual int32_t SetRTXSendStatus(const RtxMode mode,
|
||||
const bool set_ssrc,
|
||||
const uint32_t ssrc);
|
||||
const uint32_t ssrc) OVERRIDE;
|
||||
|
||||
virtual int32_t RTXSendStatus(RtxMode* mode, uint32_t* ssrc,
|
||||
int* payloadType) const;
|
||||
int* payloadType) const OVERRIDE;
|
||||
|
||||
|
||||
virtual void SetRtxSendPayloadType(int payload_type);
|
||||
virtual void SetRtxSendPayloadType(int payload_type) OVERRIDE;
|
||||
|
||||
// Sends kRtcpByeCode when going from true to false.
|
||||
virtual int32_t SetSendingStatus(const bool sending);
|
||||
virtual int32_t SetSendingStatus(const bool sending) OVERRIDE;
|
||||
|
||||
virtual bool Sending() const;
|
||||
virtual bool Sending() const OVERRIDE;
|
||||
|
||||
// Drops or relays media packets.
|
||||
virtual int32_t SetSendingMediaStatus(const bool sending);
|
||||
virtual int32_t SetSendingMediaStatus(const bool sending) OVERRIDE;
|
||||
|
||||
virtual bool SendingMedia() const;
|
||||
virtual bool SendingMedia() const OVERRIDE;
|
||||
|
||||
// Used by the codec module to deliver a video or audio frame for
|
||||
// packetization.
|
||||
@ -186,78 +186,78 @@ class ModuleRtpRtcpImpl : public RtpRtcp {
|
||||
const uint8_t* payload_data,
|
||||
const uint32_t payload_size,
|
||||
const RTPFragmentationHeader* fragmentation = NULL,
|
||||
const RTPVideoHeader* rtp_video_hdr = NULL);
|
||||
const RTPVideoHeader* rtp_video_hdr = NULL) OVERRIDE;
|
||||
|
||||
virtual bool TimeToSendPacket(uint32_t ssrc, uint16_t sequence_number,
|
||||
int64_t capture_time_ms);
|
||||
int64_t capture_time_ms) OVERRIDE;
|
||||
// Returns the number of padding bytes actually sent, which can be more or
|
||||
// less than |bytes|.
|
||||
virtual int TimeToSendPadding(int bytes);
|
||||
virtual int TimeToSendPadding(int bytes) OVERRIDE;
|
||||
// RTCP part.
|
||||
|
||||
// Get RTCP status.
|
||||
virtual RTCPMethod RTCP() const;
|
||||
virtual RTCPMethod RTCP() const OVERRIDE;
|
||||
|
||||
// Configure RTCP status i.e on/off.
|
||||
virtual int32_t SetRTCPStatus(const RTCPMethod method);
|
||||
virtual int32_t SetRTCPStatus(const RTCPMethod method) OVERRIDE;
|
||||
|
||||
// Set RTCP CName.
|
||||
virtual int32_t SetCNAME(const char c_name[RTCP_CNAME_SIZE]);
|
||||
virtual int32_t SetCNAME(const char c_name[RTCP_CNAME_SIZE]) OVERRIDE;
|
||||
|
||||
// Get RTCP CName.
|
||||
virtual int32_t CNAME(char c_name[RTCP_CNAME_SIZE]);
|
||||
virtual int32_t CNAME(char c_name[RTCP_CNAME_SIZE]) OVERRIDE;
|
||||
|
||||
// Get remote CName.
|
||||
virtual int32_t RemoteCNAME(const uint32_t remote_ssrc,
|
||||
char c_name[RTCP_CNAME_SIZE]) const;
|
||||
char c_name[RTCP_CNAME_SIZE]) const OVERRIDE;
|
||||
|
||||
// Get remote NTP.
|
||||
virtual int32_t RemoteNTP(uint32_t* received_ntp_secs,
|
||||
uint32_t* received_ntp_frac,
|
||||
uint32_t* rtcp_arrival_time_secs,
|
||||
uint32_t* rtcp_arrival_time_frac,
|
||||
uint32_t* rtcp_timestamp) const;
|
||||
uint32_t* rtcp_timestamp) const OVERRIDE;
|
||||
|
||||
virtual int32_t AddMixedCNAME(const uint32_t ssrc,
|
||||
const char c_name[RTCP_CNAME_SIZE]);
|
||||
const char c_name[RTCP_CNAME_SIZE]) OVERRIDE;
|
||||
|
||||
virtual int32_t RemoveMixedCNAME(const uint32_t ssrc);
|
||||
virtual int32_t RemoveMixedCNAME(const uint32_t ssrc) OVERRIDE;
|
||||
|
||||
// Get RoundTripTime.
|
||||
virtual int32_t RTT(const uint32_t remote_ssrc,
|
||||
uint16_t* rtt,
|
||||
uint16_t* avg_rtt,
|
||||
uint16_t* min_rtt,
|
||||
uint16_t* max_rtt) const;
|
||||
uint16_t* max_rtt) const OVERRIDE;
|
||||
|
||||
// Reset RoundTripTime statistics.
|
||||
virtual int32_t ResetRTT(const uint32_t remote_ssrc);
|
||||
virtual int32_t ResetRTT(const uint32_t remote_ssrc) OVERRIDE;
|
||||
|
||||
virtual void SetRtt(uint32_t rtt);
|
||||
virtual void SetRtt(uint32_t rtt) OVERRIDE;
|
||||
|
||||
// Force a send of an RTCP packet.
|
||||
// Normal SR and RR are triggered via the process function.
|
||||
virtual int32_t SendRTCP(uint32_t rtcp_packet_type = kRtcpReport);
|
||||
virtual int32_t SendRTCP(uint32_t rtcp_packet_type = kRtcpReport) OVERRIDE;
|
||||
|
||||
// Statistics of our locally created statistics of the received RTP stream.
|
||||
virtual int32_t StatisticsRTP(uint8_t* fraction_lost,
|
||||
uint32_t* cum_lost,
|
||||
uint32_t* ext_max,
|
||||
uint32_t* jitter,
|
||||
uint32_t* max_jitter = NULL) const;
|
||||
uint32_t* max_jitter = NULL) const OVERRIDE;
|
||||
|
||||
// Reset RTP statistics.
|
||||
virtual int32_t ResetStatisticsRTP();
|
||||
virtual int32_t ResetStatisticsRTP() OVERRIDE;
|
||||
|
||||
virtual int32_t ResetReceiveDataCountersRTP();
|
||||
virtual int32_t ResetReceiveDataCountersRTP() OVERRIDE;
|
||||
|
||||
virtual int32_t ResetSendDataCountersRTP();
|
||||
virtual int32_t ResetSendDataCountersRTP() OVERRIDE;
|
||||
|
||||
// Statistics of the amount of data sent and received.
|
||||
virtual int32_t DataCountersRTP(uint32_t* bytes_sent,
|
||||
uint32_t* packets_sent,
|
||||
uint32_t* bytes_received,
|
||||
uint32_t* packets_received) const;
|
||||
uint32_t* packets_received) const OVERRIDE;
|
||||
|
||||
virtual int32_t ReportBlockStatistics(
|
||||
uint8_t* fraction_lost,
|
||||
@ -267,118 +267,120 @@ class ModuleRtpRtcpImpl : public RtpRtcp {
|
||||
uint32_t* jitter_transmission_time_offset);
|
||||
|
||||
// Get received RTCP report, sender info.
|
||||
virtual int32_t RemoteRTCPStat(RTCPSenderInfo* sender_info);
|
||||
virtual int32_t RemoteRTCPStat(RTCPSenderInfo* sender_info) OVERRIDE;
|
||||
|
||||
// Get received RTCP report, report block.
|
||||
virtual int32_t RemoteRTCPStat(
|
||||
std::vector<RTCPReportBlock>* receive_blocks) const;
|
||||
std::vector<RTCPReportBlock>* receive_blocks) const OVERRIDE;
|
||||
|
||||
// Set received RTCP report block.
|
||||
virtual int32_t AddRTCPReportBlock(
|
||||
const uint32_t ssrc, const RTCPReportBlock* receive_block);
|
||||
const uint32_t ssrc, const RTCPReportBlock* receive_block) OVERRIDE;
|
||||
|
||||
virtual int32_t RemoveRTCPReportBlock(const uint32_t ssrc);
|
||||
virtual int32_t RemoveRTCPReportBlock(const uint32_t ssrc) OVERRIDE;
|
||||
|
||||
// (REMB) Receiver Estimated Max Bitrate.
|
||||
virtual bool REMB() const;
|
||||
virtual bool REMB() const OVERRIDE;
|
||||
|
||||
virtual int32_t SetREMBStatus(const bool enable);
|
||||
virtual int32_t SetREMBStatus(const bool enable) OVERRIDE;
|
||||
|
||||
virtual int32_t SetREMBData(const uint32_t bitrate,
|
||||
const uint8_t number_of_ssrc,
|
||||
const uint32_t* ssrc);
|
||||
const uint32_t* ssrc) OVERRIDE;
|
||||
|
||||
// (IJ) Extended jitter report.
|
||||
virtual bool IJ() const;
|
||||
virtual bool IJ() const OVERRIDE;
|
||||
|
||||
virtual int32_t SetIJStatus(const bool enable);
|
||||
virtual int32_t SetIJStatus(const bool enable) OVERRIDE;
|
||||
|
||||
// (TMMBR) Temporary Max Media Bit Rate.
|
||||
virtual bool TMMBR() const;
|
||||
virtual bool TMMBR() const OVERRIDE;
|
||||
|
||||
virtual int32_t SetTMMBRStatus(const bool enable);
|
||||
virtual int32_t SetTMMBRStatus(const bool enable) OVERRIDE;
|
||||
|
||||
int32_t SetTMMBN(const TMMBRSet* bounding_set);
|
||||
|
||||
virtual uint16_t MaxPayloadLength() const;
|
||||
virtual uint16_t MaxPayloadLength() const OVERRIDE;
|
||||
|
||||
virtual uint16_t MaxDataPayloadLength() const;
|
||||
virtual uint16_t MaxDataPayloadLength() const OVERRIDE;
|
||||
|
||||
virtual int32_t SetMaxTransferUnit(const uint16_t size);
|
||||
virtual int32_t SetMaxTransferUnit(const uint16_t size) OVERRIDE;
|
||||
|
||||
virtual int32_t SetTransportOverhead(
|
||||
const bool tcp,
|
||||
const bool ipv6,
|
||||
const uint8_t authentication_overhead = 0);
|
||||
const uint8_t authentication_overhead = 0) OVERRIDE;
|
||||
|
||||
// (NACK) Negative acknowledgment part.
|
||||
|
||||
// Is Negative acknowledgment requests on/off?
|
||||
virtual NACKMethod NACK() const;
|
||||
virtual NACKMethod NACK() const OVERRIDE;
|
||||
|
||||
// Turn negative acknowledgment requests on/off.
|
||||
virtual int32_t SetNACKStatus(const NACKMethod method,
|
||||
int max_reordering_threshold);
|
||||
int max_reordering_threshold) OVERRIDE;
|
||||
|
||||
virtual int SelectiveRetransmissions() const;
|
||||
virtual int SelectiveRetransmissions() const OVERRIDE;
|
||||
|
||||
virtual int SetSelectiveRetransmissions(uint8_t settings);
|
||||
virtual int SetSelectiveRetransmissions(uint8_t settings) OVERRIDE;
|
||||
|
||||
// Send a Negative acknowledgment packet.
|
||||
virtual int32_t SendNACK(const uint16_t* nack_list, const uint16_t size);
|
||||
virtual int32_t SendNACK(const uint16_t* nack_list,
|
||||
const uint16_t size) OVERRIDE;
|
||||
|
||||
// Store the sent packets, needed to answer to a negative acknowledgment
|
||||
// requests.
|
||||
virtual int32_t SetStorePacketsStatus(
|
||||
const bool enable, const uint16_t number_to_store);
|
||||
const bool enable, const uint16_t number_to_store) OVERRIDE;
|
||||
|
||||
// (APP) Application specific data.
|
||||
virtual int32_t SetRTCPApplicationSpecificData(
|
||||
const uint8_t sub_type,
|
||||
const uint32_t name,
|
||||
const uint8_t* data,
|
||||
const uint16_t length);
|
||||
const uint16_t length) OVERRIDE;
|
||||
|
||||
// (XR) VOIP metric.
|
||||
virtual int32_t SetRTCPVoIPMetrics(const RTCPVoIPMetric* VoIPMetric);
|
||||
virtual int32_t SetRTCPVoIPMetrics(const RTCPVoIPMetric* VoIPMetric) OVERRIDE;
|
||||
|
||||
// Audio part.
|
||||
|
||||
// Set audio packet size, used to determine when it's time to send a DTMF
|
||||
// packet in silence (CNG).
|
||||
virtual int32_t SetAudioPacketSize(
|
||||
const uint16_t packet_size_samples);
|
||||
const uint16_t packet_size_samples) OVERRIDE;
|
||||
|
||||
// Forward DTMFs to decoder for playout.
|
||||
virtual int SetTelephoneEventForwardToDecoder(bool forward_to_decoder);
|
||||
virtual int SetTelephoneEventForwardToDecoder(
|
||||
bool forward_to_decoder) OVERRIDE;
|
||||
|
||||
// Is forwarding of outband telephone events turned on/off?
|
||||
virtual bool TelephoneEventForwardToDecoder() const;
|
||||
virtual bool TelephoneEventForwardToDecoder() const OVERRIDE;
|
||||
|
||||
virtual bool SendTelephoneEventActive(int8_t& telephone_event) const;
|
||||
virtual bool SendTelephoneEventActive(int8_t& telephone_event) const OVERRIDE;
|
||||
|
||||
// Send a TelephoneEvent tone using RFC 2833 (4733).
|
||||
virtual int32_t SendTelephoneEventOutband(const uint8_t key,
|
||||
const uint16_t time_ms,
|
||||
const uint8_t level);
|
||||
const uint8_t level) OVERRIDE;
|
||||
|
||||
// Set payload type for Redundant Audio Data RFC 2198.
|
||||
virtual int32_t SetSendREDPayloadType(const int8_t payload_type);
|
||||
virtual int32_t SetSendREDPayloadType(const int8_t payload_type) OVERRIDE;
|
||||
|
||||
// Get payload type for Redundant Audio Data RFC 2198.
|
||||
virtual int32_t SendREDPayloadType(int8_t& payload_type) const;
|
||||
virtual int32_t SendREDPayloadType(int8_t& payload_type) const OVERRIDE;
|
||||
|
||||
// Set status and id for header-extension-for-audio-level-indication.
|
||||
virtual int32_t SetRTPAudioLevelIndicationStatus(
|
||||
const bool enable, const uint8_t id);
|
||||
const bool enable, const uint8_t id) OVERRIDE;
|
||||
|
||||
// Get status and id for header-extension-for-audio-level-indication.
|
||||
virtual int32_t GetRTPAudioLevelIndicationStatus(
|
||||
bool& enable, uint8_t& id) const;
|
||||
bool& enable, uint8_t& id) const OVERRIDE;
|
||||
|
||||
// Store the audio level in d_bov for header-extension-for-audio-level-
|
||||
// indication.
|
||||
virtual int32_t SetAudioLevel(const uint8_t level_d_bov);
|
||||
virtual int32_t SetAudioLevel(const uint8_t level_d_bov) OVERRIDE;
|
||||
|
||||
// Video part.
|
||||
|
||||
@ -387,32 +389,32 @@ class ModuleRtpRtcpImpl : public RtpRtcp {
|
||||
virtual RtpVideoCodecTypes SendVideoCodec() const;
|
||||
|
||||
virtual int32_t SendRTCPSliceLossIndication(
|
||||
const uint8_t picture_id);
|
||||
const uint8_t picture_id) OVERRIDE;
|
||||
|
||||
// Set method for requestion a new key frame.
|
||||
virtual int32_t SetKeyFrameRequestMethod(
|
||||
const KeyFrameRequestMethod method);
|
||||
const KeyFrameRequestMethod method) OVERRIDE;
|
||||
|
||||
// Send a request for a keyframe.
|
||||
virtual int32_t RequestKeyFrame();
|
||||
virtual int32_t RequestKeyFrame() OVERRIDE;
|
||||
|
||||
virtual int32_t SetCameraDelay(const int32_t delay_ms);
|
||||
virtual int32_t SetCameraDelay(const int32_t delay_ms) OVERRIDE;
|
||||
|
||||
virtual void SetTargetSendBitrate(const uint32_t bitrate);
|
||||
virtual void SetTargetSendBitrate(const uint32_t bitrate) OVERRIDE;
|
||||
|
||||
virtual int32_t SetGenericFECStatus(
|
||||
const bool enable,
|
||||
const uint8_t payload_type_red,
|
||||
const uint8_t payload_type_fec);
|
||||
const uint8_t payload_type_fec) OVERRIDE;
|
||||
|
||||
virtual int32_t GenericFECStatus(
|
||||
bool& enable,
|
||||
uint8_t& payload_type_red,
|
||||
uint8_t& payload_type_fec);
|
||||
uint8_t& payload_type_fec) OVERRIDE;
|
||||
|
||||
virtual int32_t SetFecParameters(
|
||||
const FecProtectionParams* delta_params,
|
||||
const FecProtectionParams* key_params);
|
||||
const FecProtectionParams* key_params) OVERRIDE;
|
||||
|
||||
virtual int32_t LastReceivedNTP(uint32_t& NTPsecs,
|
||||
uint32_t& NTPfrac,
|
||||
@ -423,7 +425,7 @@ class ModuleRtpRtcpImpl : public RtpRtcp {
|
||||
virtual void BitrateSent(uint32_t* total_rate,
|
||||
uint32_t* video_rate,
|
||||
uint32_t* fec_rate,
|
||||
uint32_t* nackRate) const;
|
||||
uint32_t* nackRate) const OVERRIDE;
|
||||
|
||||
virtual void SetRemoteSSRC(const uint32_t ssrc);
|
||||
|
||||
@ -431,7 +433,7 @@ class ModuleRtpRtcpImpl : public RtpRtcp {
|
||||
|
||||
// Good state of RTP receiver inform sender.
|
||||
virtual int32_t SendRTCPReferencePictureSelection(
|
||||
const uint64_t picture_id);
|
||||
const uint64_t picture_id) OVERRIDE;
|
||||
|
||||
void OnReceivedTMMBR();
|
||||
|
||||
|
@ -71,7 +71,7 @@ class RTPSender : public Bitrate, public RTPSenderInterface {
|
||||
|
||||
void ProcessBitrate();
|
||||
|
||||
uint16_t ActualSendBitrateKbit() const;
|
||||
virtual uint16_t ActualSendBitrateKbit() const OVERRIDE;
|
||||
|
||||
uint32_t VideoBitrateSent() const;
|
||||
uint32_t FecOverheadRate() const;
|
||||
@ -79,7 +79,8 @@ class RTPSender : public Bitrate, public RTPSenderInterface {
|
||||
|
||||
void SetTargetSendBitrate(const uint32_t bits);
|
||||
|
||||
uint16_t MaxDataPayloadLength() const; // with RTP and FEC headers.
|
||||
virtual uint16_t MaxDataPayloadLength() const
|
||||
OVERRIDE; // with RTP and FEC headers.
|
||||
|
||||
int32_t RegisterPayload(
|
||||
const char payload_name[RTP_PAYLOAD_NAME_SIZE],
|
||||
@ -111,7 +112,7 @@ class RTPSender : public Bitrate, public RTPSenderInterface {
|
||||
uint32_t GenerateNewSSRC();
|
||||
void SetSSRC(const uint32_t ssrc);
|
||||
|
||||
uint16_t SequenceNumber() const;
|
||||
virtual uint16_t SequenceNumber() const OVERRIDE;
|
||||
void SetSequenceNumber(uint16_t seq);
|
||||
|
||||
int32_t CSRCs(uint32_t arr_of_csrc[kRtpCsrcSize]) const;
|
||||
@ -196,21 +197,21 @@ class RTPSender : public Bitrate, public RTPSenderInterface {
|
||||
const bool marker_bit, const uint32_t capture_time_stamp,
|
||||
int64_t capture_time_ms,
|
||||
const bool time_stamp_provided = true,
|
||||
const bool inc_sequence_number = true);
|
||||
const bool inc_sequence_number = true) OVERRIDE;
|
||||
|
||||
virtual uint16_t RTPHeaderLength() const;
|
||||
virtual uint16_t IncrementSequenceNumber();
|
||||
virtual uint16_t MaxPayloadLength() const;
|
||||
virtual uint16_t PacketOverHead() const;
|
||||
virtual uint16_t RTPHeaderLength() const OVERRIDE;
|
||||
virtual uint16_t IncrementSequenceNumber() OVERRIDE;
|
||||
virtual uint16_t MaxPayloadLength() const OVERRIDE;
|
||||
virtual uint16_t PacketOverHead() const OVERRIDE;
|
||||
|
||||
// Current timestamp.
|
||||
virtual uint32_t Timestamp() const;
|
||||
virtual uint32_t SSRC() const;
|
||||
virtual uint32_t Timestamp() const OVERRIDE;
|
||||
virtual uint32_t SSRC() const OVERRIDE;
|
||||
|
||||
virtual int32_t SendToNetwork(
|
||||
uint8_t *data_buffer, int payload_length, int rtp_header_length,
|
||||
int64_t capture_time_ms, StorageType storage,
|
||||
PacedSender::Priority priority);
|
||||
PacedSender::Priority priority) OVERRIDE;
|
||||
|
||||
// Audio.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user