Reformatted rtp_sender: made lint clean.

TESTED=rtp_rtcp_unittests
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3412 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
phoglund@webrtc.org 2013-01-25 10:53:38 +00:00
parent 3e47a0a611
commit 43da54a458
4 changed files with 652 additions and 752 deletions

View File

@ -123,11 +123,10 @@ ModuleRtpRtcpImpl::ModuleRtpRtcpImpl(const Configuration& configuration)
simulcast_(false),
key_frame_req_method_(kKeyFrameReqFirRtp),
remote_bitrate_(configuration.remote_bitrate_estimator),
rtt_observer_(configuration.rtt_observer)
#ifdef MATLAB
, plot1_(NULL)
, plot1_(NULL),
#endif
{
rtt_observer_(configuration.rtt_observer) {
RTPReceiverStrategy* rtp_receiver_strategy;
if (configuration.audio) {
// If audio, we need to be able to handle telephone events too, so stash
@ -1645,7 +1644,7 @@ bool ModuleRtpRtcpImpl::SendTelephoneEventActive(
id_,
"SendTelephoneEventActive()");
return rtp_sender_.SendTelephoneEventActive(telephone_event);
return rtp_sender_.SendTelephoneEventActive(&telephone_event);
}
// Set audio packet size, used to determine when it's time to send a DTMF
@ -1689,7 +1688,7 @@ WebRtc_Word32 ModuleRtpRtcpImpl::GetRTPAudioLevelIndicationStatus(
kTraceRtpRtcp,
id_,
"GetRTPAudioLevelIndicationStatus()");
return rtp_sender_.AudioLevelIndicationStatus(enable, id);
return rtp_sender_.AudioLevelIndicationStatus(&enable, &id);
}
WebRtc_Word32 ModuleRtpRtcpImpl::SetAudioLevel(
@ -1719,7 +1718,7 @@ WebRtc_Word32 ModuleRtpRtcpImpl::SendREDPayloadType(
WebRtc_Word8& payload_type) const {
WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, id_, "SendREDPayloadType()");
return rtp_sender_.RED(payload_type);
return rtp_sender_.RED(&payload_type);
}
RtpVideoCodecTypes ModuleRtpRtcpImpl::ReceivedVideoCodec() const {
@ -1882,9 +1881,9 @@ WebRtc_Word32 ModuleRtpRtcpImpl::GenericFECStatus(
it++;
}
}
WebRtc_Word32 ret_val = rtp_sender_.GenericFECStatus(enable,
payload_type_red,
payload_type_fec);
WebRtc_Word32 ret_val = rtp_sender_.GenericFECStatus(&enable,
&payload_type_red,
&payload_type_fec);
if (child_enabled) {
// Returns true if enabled for any child module.
enable = child_enabled;
@ -2083,5 +2082,4 @@ int64_t ModuleRtpRtcpImpl::RtcpReportInterval() {
else
return RTCP_INTERVAL_VIDEO_MS;
}
} // Namespace webrtc

View File

@ -515,11 +515,11 @@ class ModuleRtpRtcpImpl : public RtpRtcp {
RemoteBitrateEstimator* remote_bitrate_;
RtcpRttObserver* rtt_observer_;
#ifdef MATLAB
MatlabPlot* plot1_;
#endif
RtcpRttObserver* rtt_observer_;
};
} // namespace webrtc

File diff suppressed because it is too large Load Diff

View File

@ -23,9 +23,10 @@
#include "webrtc/modules/rtp_rtcp/source/ssrc_database.h"
#include "webrtc/modules/rtp_rtcp/source/video_codec_information.h"
#define MAX_INIT_RTP_SEQ_NUMBER 32767 // 2^15 -1
#define MAX_INIT_RTP_SEQ_NUMBER 32767 // 2^15 -1.
namespace webrtc {
class CriticalSectionWrapper;
class PacedSender;
class RTPPacketHistory;
@ -40,36 +41,30 @@ class RTPSenderInterface {
virtual WebRtc_UWord32 SSRC() const = 0;
virtual WebRtc_UWord32 Timestamp() const = 0;
virtual WebRtc_Word32 BuildRTPheader(WebRtc_UWord8* dataBuffer,
const WebRtc_Word8 payloadType,
const bool markerBit,
const WebRtc_UWord32 captureTimeStamp,
const bool timeStampProvided = true,
const bool incSequenceNumber = true) = 0;
virtual WebRtc_Word32 BuildRTPheader(
WebRtc_UWord8 *data_buffer, const WebRtc_Word8 payload_type,
const bool marker_bit, const WebRtc_UWord32 capture_time_stamp,
const bool time_stamp_provided = true,
const bool inc_sequence_number = true) = 0;
virtual WebRtc_UWord16 RTPHeaderLength() const = 0;
virtual WebRtc_UWord16 IncrementSequenceNumber() = 0;
virtual WebRtc_UWord16 SequenceNumber() const = 0;
virtual WebRtc_UWord16 SequenceNumber() const = 0;
virtual WebRtc_UWord16 MaxPayloadLength() const = 0;
virtual WebRtc_UWord16 MaxDataPayloadLength() const = 0;
virtual WebRtc_UWord16 PacketOverHead() const = 0;
virtual WebRtc_UWord16 ActualSendBitrateKbit() const = 0;
virtual WebRtc_Word32 SendToNetwork(uint8_t* data_buffer,
int payload_length,
int rtp_header_length,
int64_t capture_time_ms,
StorageType storage) = 0;
virtual WebRtc_Word32 SendToNetwork(
uint8_t *data_buffer, int payload_length, int rtp_header_length,
int64_t capture_time_ms, StorageType storage) = 0;
};
class RTPSender : public Bitrate, public RTPSenderInterface {
public:
RTPSender(const WebRtc_Word32 id,
const bool audio,
Clock* clock,
Transport* transport,
RtpAudioFeedback* audio_feedback,
PacedSender* paced_sender);
RTPSender(const WebRtc_Word32 id, const bool audio, Clock *clock,
Transport *transport, RtpAudioFeedback *audio_feedback,
PacedSender *paced_sender);
virtual ~RTPSender();
void ProcessBitrate();
@ -82,16 +77,14 @@ class RTPSender : public Bitrate, public RTPSenderInterface {
void SetTargetSendBitrate(const WebRtc_UWord32 bits);
WebRtc_UWord16 MaxDataPayloadLength() const; // with RTP and FEC headers
WebRtc_UWord16 MaxDataPayloadLength() const; // with RTP and FEC headers.
WebRtc_Word32 RegisterPayload(
const char payloadName[RTP_PAYLOAD_NAME_SIZE],
const WebRtc_Word8 payloadType,
const WebRtc_UWord32 frequency,
const WebRtc_UWord8 channels,
const WebRtc_UWord32 rate);
const char payload_name[RTP_PAYLOAD_NAME_SIZE],
const WebRtc_Word8 payload_type, const WebRtc_UWord32 frequency,
const WebRtc_UWord8 channels, const WebRtc_UWord32 rate);
WebRtc_Word32 DeRegisterSendPayload(const WebRtc_Word8 payloadType);
WebRtc_Word32 DeRegisterSendPayload(const WebRtc_Word8 payload_type);
WebRtc_Word8 SendPayloadType() const;
@ -102,10 +95,10 @@ class RTPSender : public Bitrate, public RTPSenderInterface {
void SetSendingMediaStatus(const bool enabled);
bool SendingMedia() const;
// number of sent RTP packets
// Number of sent RTP packets.
WebRtc_UWord32 Packets() const;
// number of sent RTP bytes
// Number of sent RTP bytes.
WebRtc_UWord32 Bytes() const;
void ResetDataCounters();
@ -119,35 +112,30 @@ class RTPSender : public Bitrate, public RTPSenderInterface {
WebRtc_UWord16 SequenceNumber() const;
void SetSequenceNumber(WebRtc_UWord16 seq);
WebRtc_Word32 CSRCs(WebRtc_UWord32 arrOfCSRC[kRtpCsrcSize]) const;
WebRtc_Word32 CSRCs(WebRtc_UWord32 arr_of_csrc[kRtpCsrcSize]) const;
void SetCSRCStatus(const bool include);
void SetCSRCs(const WebRtc_UWord32 arrOfCSRC[kRtpCsrcSize],
const WebRtc_UWord8 arrLength);
void SetCSRCs(const WebRtc_UWord32 arr_of_csrc[kRtpCsrcSize],
const WebRtc_UWord8 arr_length);
WebRtc_Word32 SetMaxPayloadLength(const WebRtc_UWord16 length,
const WebRtc_UWord16 packetOverHead);
const WebRtc_UWord16 packet_over_head);
WebRtc_Word32 SendOutgoingData(const FrameType frameType,
const WebRtc_Word8 payloadType,
const WebRtc_UWord32 timeStamp,
int64_t capture_time_ms,
const WebRtc_UWord8* payloadData,
const WebRtc_UWord32 payloadSize,
const RTPFragmentationHeader* fragmentation,
VideoCodecInformation* codecInfo = NULL,
const RTPVideoTypeHeader* rtpTypeHdr = NULL);
WebRtc_Word32 SendOutgoingData(
const FrameType frame_type, const WebRtc_Word8 payload_type,
const WebRtc_UWord32 time_stamp, int64_t capture_time_ms,
const WebRtc_UWord8 *payload_data, const WebRtc_UWord32 payload_size,
const RTPFragmentationHeader *fragmentation,
VideoCodecInformation *codec_info = NULL,
const RTPVideoTypeHeader * rtp_type_hdr = NULL);
WebRtc_Word32 SendPadData(WebRtc_Word8 payload_type,
WebRtc_UWord32 capture_timestamp,
int64_t capture_time_ms,
WebRtc_Word32 bytes);
/*
* RTP header extension
*/
int64_t capture_time_ms, WebRtc_Word32 bytes);
// RTP header extension
WebRtc_Word32 SetTransmissionTimeOffset(
const WebRtc_Word32 transmissionTimeOffset);
const WebRtc_Word32 transmission_time_offset);
WebRtc_Word32 RegisterRtpHeaderExtension(const RTPExtensionType type,
const WebRtc_UWord8 id);
@ -156,109 +144,97 @@ class RTPSender : public Bitrate, public RTPSenderInterface {
WebRtc_UWord16 RtpHeaderExtensionTotalLength() const;
WebRtc_UWord16 BuildRTPHeaderExtension(WebRtc_UWord8* dataBuffer) const;
WebRtc_UWord16 BuildRTPHeaderExtension(WebRtc_UWord8 *data_buffer) const;
WebRtc_UWord8 BuildTransmissionTimeOffsetExtension(
WebRtc_UWord8* dataBuffer) const;
WebRtc_UWord8 *data_buffer) const;
bool UpdateTransmissionTimeOffset(WebRtc_UWord8* rtp_packet,
bool UpdateTransmissionTimeOffset(WebRtc_UWord8 *rtp_packet,
const WebRtc_UWord16 rtp_packet_length,
const WebRtcRTPHeader& rtp_header,
const WebRtcRTPHeader &rtp_header,
const WebRtc_Word64 time_diff_ms) const;
void TimeToSendPacket(uint16_t sequence_number, int64_t capture_time_ms);
/*
* NACK
*/
// NACK.
int SelectiveRetransmissions() const;
int SetSelectiveRetransmissions(uint8_t settings);
void OnReceivedNACK(const WebRtc_UWord16 nackSequenceNumbersLength,
const WebRtc_UWord16* nackSequenceNumbers,
const WebRtc_UWord16 avgRTT);
void OnReceivedNACK(const WebRtc_UWord16 nack_sequence_numbers_length,
const WebRtc_UWord16 *nack_sequence_numbers,
const WebRtc_UWord16 avg_rtt);
void SetStorePacketsStatus(const bool enable,
const WebRtc_UWord16 numberToStore);
const WebRtc_UWord16 number_to_store);
bool StorePackets() const;
WebRtc_Word32 ReSendPacket(WebRtc_UWord16 packet_id,
WebRtc_UWord32 min_resend_time = 0);
WebRtc_Word32 ReSendToNetwork(const WebRtc_UWord8* packet,
WebRtc_Word32 ReSendToNetwork(const WebRtc_UWord8 *packet,
const WebRtc_UWord32 size);
bool ProcessNACKBitRate(const WebRtc_UWord32 now);
/*
* RTX
*/
void SetRTXStatus(const bool enable,
const bool setSSRC,
// RTX.
void SetRTXStatus(const bool enable, const bool set_ssrc,
const WebRtc_UWord32 SSRC);
void RTXStatus(bool* enable, WebRtc_UWord32* SSRC) const;
void RTXStatus(bool *enable, WebRtc_UWord32 *SSRC) const;
/*
* Functions wrapping RTPSenderInterface
*/
virtual WebRtc_Word32 BuildRTPheader(WebRtc_UWord8* dataBuffer,
const WebRtc_Word8 payloadType,
const bool markerBit,
const WebRtc_UWord32 captureTimeStamp,
const bool timeStampProvided = true,
const bool incSequenceNumber = true);
// Functions wrapping RTPSenderInterface.
virtual WebRtc_Word32 BuildRTPheader(
WebRtc_UWord8 *data_buffer, const WebRtc_Word8 payload_type,
const bool marker_bit, const WebRtc_UWord32 capture_time_stamp,
const bool time_stamp_provided = true,
const bool inc_sequence_number = true);
virtual WebRtc_UWord16 RTPHeaderLength() const ;
virtual WebRtc_UWord16 RTPHeaderLength() const;
virtual WebRtc_UWord16 IncrementSequenceNumber();
virtual WebRtc_UWord16 MaxPayloadLength() const;
virtual WebRtc_UWord16 PacketOverHead() const;
// current timestamp
// Current timestamp.
virtual WebRtc_UWord32 Timestamp() const;
virtual WebRtc_UWord32 SSRC() const;
virtual WebRtc_Word32 SendToNetwork(uint8_t* data_buffer,
int payload_length,
int rtp_header_length,
int64_t capture_time_ms,
StorageType storage);
/*
* Audio
*/
// Send a DTMF tone using RFC 2833 (4733)
virtual WebRtc_Word32 SendToNetwork(
uint8_t *data_buffer, int payload_length, int rtp_header_length,
int64_t capture_time_ms, StorageType storage);
// Audio.
// Send a DTMF tone using RFC 2833 (4733).
WebRtc_Word32 SendTelephoneEvent(const WebRtc_UWord8 key,
const WebRtc_UWord16 time_ms,
const WebRtc_UWord8 level);
bool SendTelephoneEventActive(WebRtc_Word8& telephoneEvent) const;
bool SendTelephoneEventActive(WebRtc_Word8 *telephone_event) const;
// Set audio packet size, used to determine when it's time to send a DTMF
// packet in silence (CNG)
WebRtc_Word32 SetAudioPacketSize(const WebRtc_UWord16 packetSizeSamples);
// packet in silence (CNG).
WebRtc_Word32 SetAudioPacketSize(const WebRtc_UWord16 packet_size_samples);
// Set status and ID for header-extension-for-audio-level-indication.
WebRtc_Word32 SetAudioLevelIndicationStatus(const bool enable,
const WebRtc_UWord8 ID);
// Get status and ID for header-extension-for-audio-level-indication.
WebRtc_Word32 AudioLevelIndicationStatus(bool& enable,
WebRtc_UWord8& ID) const;
WebRtc_Word32 AudioLevelIndicationStatus(bool *enable,
WebRtc_UWord8 *id) const;
// Store the audio level in dBov for
// Store the audio level in d_bov for
// header-extension-for-audio-level-indication.
WebRtc_Word32 SetAudioLevel(const WebRtc_UWord8 level_dBov);
WebRtc_Word32 SetAudioLevel(const WebRtc_UWord8 level_d_bov);
// Set payload type for Redundant Audio Data RFC 2198
WebRtc_Word32 SetRED(const WebRtc_Word8 payloadType);
// Set payload type for Redundant Audio Data RFC 2198.
WebRtc_Word32 SetRED(const WebRtc_Word8 payload_type);
// Get payload type for Redundant Audio Data RFC 2198
WebRtc_Word32 RED(WebRtc_Word8& payloadType) const;
// Get payload type for Redundant Audio Data RFC 2198.
WebRtc_Word32 RED(WebRtc_Word8 *payload_type) const;
/*
* Video
*/
VideoCodecInformation* CodecInformationVideo();
// Video.
VideoCodecInformation *CodecInformationVideo();
RtpVideoCodecTypes VideoCodecType() const;
@ -266,81 +242,78 @@ class RTPSender : public Bitrate, public RTPSenderInterface {
WebRtc_Word32 SendRTPIntraRequest();
// FEC
// FEC.
WebRtc_Word32 SetGenericFECStatus(const bool enable,
const WebRtc_UWord8 payloadTypeRED,
const WebRtc_UWord8 payloadTypeFEC);
const WebRtc_UWord8 payload_type_red,
const WebRtc_UWord8 payload_type_fec);
WebRtc_Word32 GenericFECStatus(bool& enable,
WebRtc_UWord8& payloadTypeRED,
WebRtc_UWord8& payloadTypeFEC) const;
WebRtc_Word32 GenericFECStatus(bool *enable, WebRtc_UWord8 *payload_type_red,
WebRtc_UWord8 *payload_type_fec) const;
WebRtc_Word32 SetFecParameters(
const FecProtectionParams* delta_params,
const FecProtectionParams* key_params);
WebRtc_Word32 SetFecParameters(const FecProtectionParams *delta_params,
const FecProtectionParams *key_params);
protected:
WebRtc_Word32 CheckPayloadType(const WebRtc_Word8 payloadType,
RtpVideoCodecTypes& videoType);
WebRtc_Word32 CheckPayloadType(const WebRtc_Word8 payload_type,
RtpVideoCodecTypes *video_type);
private:
void UpdateNACKBitRate(const WebRtc_UWord32 bytes,
const WebRtc_UWord32 now);
void UpdateNACKBitRate(const WebRtc_UWord32 bytes, const WebRtc_UWord32 now);
WebRtc_Word32 SendPaddingAccordingToBitrate(
WebRtc_Word8 payload_type,
WebRtc_UWord32 capture_timestamp,
int64_t capture_time_ms);
WebRtc_Word32 SendPaddingAccordingToBitrate(WebRtc_Word8 payload_type,
WebRtc_UWord32 capture_timestamp,
int64_t capture_time_ms);
WebRtc_Word32 _id;
const bool _audioConfigured;
RTPSenderAudio* _audio;
RTPSenderVideo* _video;
WebRtc_Word32 id_;
const bool audio_configured_;
RTPSenderAudio *audio_;
RTPSenderVideo *video_;
PacedSender* paced_sender_;
CriticalSectionWrapper* _sendCritsect;
PacedSender *paced_sender_;
CriticalSectionWrapper *send_critsect_;
Transport* _transport;
bool _sendingMedia;
Transport *transport_;
bool sending_media_;
WebRtc_UWord16 _maxPayloadLength;
WebRtc_UWord16 _targetSendBitrate;
WebRtc_UWord16 _packetOverHead;
WebRtc_UWord16 max_payload_length_;
WebRtc_UWord16 target_send_bitrate_;
WebRtc_UWord16 packet_over_head_;
WebRtc_Word8 _payloadType;
std::map<WebRtc_Word8, ModuleRTPUtility::Payload*> _payloadTypeMap;
WebRtc_Word8 payload_type_;
std::map<WebRtc_Word8, ModuleRTPUtility::Payload *> payload_type_map_;
RtpHeaderExtensionMap _rtpHeaderExtensionMap;
WebRtc_Word32 _transmissionTimeOffset;
RtpHeaderExtensionMap rtp_header_extension_map_;
WebRtc_Word32 transmission_time_offset_;
// NACK
WebRtc_UWord32 _nackByteCountTimes[NACK_BYTECOUNT_SIZE];
WebRtc_Word32 _nackByteCount[NACK_BYTECOUNT_SIZE];
Bitrate _nackBitrate;
WebRtc_UWord32 nack_byte_count_times_[NACK_BYTECOUNT_SIZE];
WebRtc_Word32 nack_byte_count_[NACK_BYTECOUNT_SIZE];
Bitrate nack_bitrate_;
RTPPacketHistory* _packetHistory;
RTPPacketHistory *packet_history_;
// Statistics
WebRtc_UWord32 _packetsSent;
WebRtc_UWord32 _payloadBytesSent;
WebRtc_UWord32 packets_sent_;
WebRtc_UWord32 payload_bytes_sent_;
// RTP variables
bool _startTimeStampForced;
WebRtc_UWord32 _startTimeStamp;
SSRCDatabase& _ssrcDB;
WebRtc_UWord32 _remoteSSRC;
bool _sequenceNumberForced;
WebRtc_UWord16 _sequenceNumber;
WebRtc_UWord16 _sequenceNumberRTX;
bool _ssrcForced;
WebRtc_UWord32 _ssrc;
WebRtc_UWord32 _timeStamp;
WebRtc_UWord8 _CSRCs;
WebRtc_UWord32 _CSRC[kRtpCsrcSize];
bool _includeCSRCs;
bool _RTX;
WebRtc_UWord32 _ssrcRTX;
bool start_time_stamp_forced_;
WebRtc_UWord32 start_time_stamp_;
SSRCDatabase &ssrc_db_;
WebRtc_UWord32 remote_ssrc_;
bool sequence_number_forced_;
WebRtc_UWord16 sequence_number_;
WebRtc_UWord16 sequence_number_rtx_;
bool ssrc_forced_;
WebRtc_UWord32 ssrc_;
WebRtc_UWord32 time_stamp_;
WebRtc_UWord8 csrcs_;
WebRtc_UWord32 csrc_[kRtpCsrcSize];
bool include_csrcs_;
bool rtx_;
WebRtc_UWord32 ssrc_rtx_;
};
} // namespace webrtc
#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_H_
} // namespace webrtc
#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_H_