Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: webrtc/modules/pacing/packet_router.h

Issue 1628683002: Use separate rtp module lists for send and receive in PacketRouter. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Comments addressed. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/call/congestion_controller.cc ('k') | webrtc/modules/pacing/packet_router.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/pacing/packet_router.h
diff --git a/webrtc/modules/pacing/packet_router.h b/webrtc/modules/pacing/packet_router.h
index edef1aa9b3f89618b6c33625487225aebac26c88..dd58faf4ea513b0c8b900509abd72e9e03d26a97 100644
--- a/webrtc/modules/pacing/packet_router.h
+++ b/webrtc/modules/pacing/packet_router.h
@@ -17,6 +17,7 @@
#include "webrtc/base/criticalsection.h"
#include "webrtc/base/scoped_ptr.h"
#include "webrtc/base/thread_annotations.h"
+#include "webrtc/base/thread_checker.h"
#include "webrtc/common_types.h"
#include "webrtc/modules/pacing/paced_sender.h"
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
@@ -36,8 +37,8 @@ class PacketRouter : public PacedSender::Callback,
PacketRouter();
virtual ~PacketRouter();
- void AddRtpModule(RtpRtcp* rtp_module);
- void RemoveRtpModule(RtpRtcp* rtp_module);
+ void AddRtpModule(RtpRtcp* rtp_module, bool sender);
+ void RemoveRtpModule(RtpRtcp* rtp_module, bool sender);
// Implements PacedSender::Callback.
bool TimeToSendPacket(uint32_t ssrc,
@@ -54,9 +55,10 @@ class PacketRouter : public PacedSender::Callback,
virtual bool SendFeedback(rtcp::TransportFeedback* packet);
private:
- rtc::CriticalSection modules_lock_;
- // Map from ssrc to sending rtp module.
- std::list<RtpRtcp*> rtp_modules_ GUARDED_BY(modules_lock_);
+ rtc::ThreadChecker pacer_thread_checker_;
+ rtc::CriticalSection modules_crit_;
+ std::list<RtpRtcp*> send_rtp_modules_ GUARDED_BY(modules_crit_);
+ std::list<RtpRtcp*> recv_rtp_modules_ GUARDED_BY(modules_crit_);
volatile int transport_seq_;
« no previous file with comments | « webrtc/call/congestion_controller.cc ('k') | webrtc/modules/pacing/packet_router.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698