| 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); | 
| }; | 
|  |