diff options
Diffstat (limited to 'chromium/third_party/webrtc/modules/rtp_rtcp/source/ssrc_database.h')
-rw-r--r-- | chromium/third_party/webrtc/modules/rtp_rtcp/source/ssrc_database.h | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/chromium/third_party/webrtc/modules/rtp_rtcp/source/ssrc_database.h b/chromium/third_party/webrtc/modules/rtp_rtcp/source/ssrc_database.h index 2d4932afa7f..7a3133638d7 100644 --- a/chromium/third_party/webrtc/modules/rtp_rtcp/source/ssrc_database.h +++ b/chromium/third_party/webrtc/modules/rtp_rtcp/source/ssrc_database.h @@ -11,43 +11,41 @@ #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_SSRC_DATABASE_H_ #define WEBRTC_MODULES_RTP_RTCP_SOURCE_SSRC_DATABASE_H_ -#include <map> +#include <set> -#include "webrtc/system_wrappers/interface/static_instance.h" +#include "webrtc/base/random.h" +#include "webrtc/base/scoped_ptr.h" +#include "webrtc/system_wrappers/include/static_instance.h" #include "webrtc/typedefs.h" namespace webrtc { class CriticalSectionWrapper; -class SSRCDatabase -{ -public: - static SSRCDatabase* GetSSRCDatabase(); - static void ReturnSSRCDatabase(); +class SSRCDatabase { + public: + static SSRCDatabase* GetSSRCDatabase(); + static void ReturnSSRCDatabase(); - uint32_t CreateSSRC(); - int32_t RegisterSSRC(const uint32_t ssrc); - int32_t ReturnSSRC(const uint32_t ssrc); + uint32_t CreateSSRC(); + void RegisterSSRC(uint32_t ssrc); + void ReturnSSRC(uint32_t ssrc); -protected: - SSRCDatabase(); - virtual ~SSRCDatabase(); + protected: + SSRCDatabase(); + virtual ~SSRCDatabase(); - static SSRCDatabase* CreateInstance() { return new SSRCDatabase(); } + static SSRCDatabase* CreateInstance() { return new SSRCDatabase(); } -private: - // Friend function to allow the SSRC destructor to be accessed from the - // template class. - friend SSRCDatabase* GetStaticInstance<SSRCDatabase>( - CountOperation count_operation); - static SSRCDatabase* StaticInstance(CountOperation count_operation); + private: + // Friend function to allow the SSRC destructor to be accessed from the + // template class. + friend SSRCDatabase* GetStaticInstance<SSRCDatabase>( + CountOperation count_operation); - uint32_t GenerateRandom(); - - std::map<uint32_t, uint32_t> _ssrcMap; - - CriticalSectionWrapper* _critSect; + rtc::scoped_ptr<CriticalSectionWrapper> crit_; + Random random_ GUARDED_BY(crit_); + std::set<uint32_t> ssrcs_ GUARDED_BY(crit_); }; } // namespace webrtc -#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_SSRC_DATABASE_H_ +#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_SSRC_DATABASE_H_ |