Add support for transport wide sequence numbers

Also refactor packet router to use a map rather than iterate over all
rtp modules for each packet sent.

BUG=webrtc:4311

Review URL: https://codereview.webrtc.org/1247293002

Cr-Commit-Position: refs/heads/master@{#9670}
This commit is contained in:
sprang
2015-08-03 04:38:41 -07:00
committed by Commit bot
parent d67a219bec
commit 867fb5224e
39 changed files with 818 additions and 334 deletions

View File

@ -20,9 +20,9 @@
#include <list>
#include <utility>
#include "webrtc/base/criticalsection.h"
#include "webrtc/base/scoped_ptr.h"
#include "webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.h"
#include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
namespace webrtc {
@ -64,22 +64,21 @@ class BitrateControllerImpl : public BitrateController {
void OnNetworkChanged(uint32_t bitrate,
uint8_t fraction_loss, // 0 - 255.
int64_t rtt)
EXCLUSIVE_LOCKS_REQUIRED(*critsect_);
int64_t rtt) EXCLUSIVE_LOCKS_REQUIRED(critsect_);
// Used by process thread.
Clock* clock_;
BitrateObserver* observer_;
int64_t last_bitrate_update_ms_;
const rtc::scoped_ptr<CriticalSectionWrapper> critsect_;
SendSideBandwidthEstimation bandwidth_estimation_ GUARDED_BY(*critsect_);
uint32_t reserved_bitrate_bps_ GUARDED_BY(*critsect_);
mutable rtc::CriticalSection critsect_;
SendSideBandwidthEstimation bandwidth_estimation_ GUARDED_BY(critsect_);
uint32_t reserved_bitrate_bps_ GUARDED_BY(critsect_);
uint32_t last_bitrate_bps_ GUARDED_BY(*critsect_);
uint8_t last_fraction_loss_ GUARDED_BY(*critsect_);
int64_t last_rtt_ms_ GUARDED_BY(*critsect_);
uint32_t last_reserved_bitrate_bps_ GUARDED_BY(*critsect_);
uint32_t last_bitrate_bps_ GUARDED_BY(critsect_);
uint8_t last_fraction_loss_ GUARDED_BY(critsect_);
int64_t last_rtt_ms_ GUARDED_BY(critsect_);
uint32_t last_reserved_bitrate_bps_ GUARDED_BY(critsect_);
DISALLOW_IMPLICIT_CONSTRUCTORS(BitrateControllerImpl);
};