Index: webrtc/modules/pacing/include/packet_router.h |
diff --git a/webrtc/modules/pacing/include/packet_router.h b/webrtc/modules/pacing/include/packet_router.h |
index c1b332a6bfc6b1ad6e7af0bea989b0803a648c89..e7d630eb2feecaa1943fdbffdf785110c359428b 100644 |
--- a/webrtc/modules/pacing/include/packet_router.h |
+++ b/webrtc/modules/pacing/include/packet_router.h |
@@ -14,6 +14,7 @@ |
#include <list> |
#include "webrtc/base/constructormagic.h" |
+#include "webrtc/base/criticalsection.h" |
#include "webrtc/base/scoped_ptr.h" |
#include "webrtc/base/thread_annotations.h" |
#include "webrtc/common_types.h" |
@@ -21,10 +22,7 @@ |
namespace webrtc { |
-class CriticalSectionWrapper; |
-class RTPFragmentationHeader; |
class RtpRtcp; |
-struct RTPVideoHeader; |
// PacketRouter routes outgoing data to the correct sending RTP module, based |
// on the simulcast layer in RTPVideoHeader. |
@@ -44,14 +42,15 @@ class PacketRouter : public PacedSender::Callback { |
size_t TimeToSendPadding(size_t bytes) override; |
- private: |
- // TODO(holmer): When the new video API has launched, remove crit_ and |
- // assume rtp_modules_ will never change during a call. We should then also |
- // switch rtp_modules_ to a map from ssrc to rtp module. |
- rtc::scoped_ptr<CriticalSectionWrapper> crit_; |
+ void SetTransportWideSequenceNumber(uint16_t sequence_number); |
+ uint16_t AllocateSequenceNumber(); |
+ private: |
+ rtc::CriticalSection modules_lock_; |
// Map from ssrc to sending rtp module. |
- std::list<RtpRtcp*> rtp_modules_ GUARDED_BY(crit_.get()); |
+ std::list<RtpRtcp*> rtp_modules_ GUARDED_BY(modules_lock_); |
+ |
+ volatile int transport_seq_; |
DISALLOW_COPY_AND_ASSIGN(PacketRouter); |
}; |