| Index: webrtc/modules/rtp_rtcp/source/ssrc_database.h
|
| diff --git a/webrtc/modules/rtp_rtcp/source/ssrc_database.h b/webrtc/modules/rtp_rtcp/source/ssrc_database.h
|
| index 5e52f07528d085872f6585ca5e5162c7b0b429a8..7a3133638d7eb20e5e7cefb58e5f9fca027d0ae6 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/ssrc_database.h
|
| +++ b/webrtc/modules/rtp_rtcp/source/ssrc_database.h
|
| @@ -11,8 +11,10 @@
|
| #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_SSRC_DATABASE_H_
|
| #define WEBRTC_MODULES_RTP_RTCP_SOURCE_SSRC_DATABASE_H_
|
|
|
| -#include <map>
|
| +#include <set>
|
|
|
| +#include "webrtc/base/random.h"
|
| +#include "webrtc/base/scoped_ptr.h"
|
| #include "webrtc/system_wrappers/include/static_instance.h"
|
| #include "webrtc/typedefs.h"
|
|
|
| @@ -25,8 +27,8 @@ class SSRCDatabase {
|
| static void ReturnSSRCDatabase();
|
|
|
| uint32_t CreateSSRC();
|
| - int32_t RegisterSSRC(const uint32_t ssrc);
|
| - int32_t ReturnSSRC(const uint32_t ssrc);
|
| + void RegisterSSRC(uint32_t ssrc);
|
| + void ReturnSSRC(uint32_t ssrc);
|
|
|
| protected:
|
| SSRCDatabase();
|
| @@ -39,13 +41,10 @@ class SSRCDatabase {
|
| // template class.
|
| friend SSRCDatabase* GetStaticInstance<SSRCDatabase>(
|
| CountOperation count_operation);
|
| - static SSRCDatabase* StaticInstance(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
|
|
|
|
|