| 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 7a3133638d7eb20e5e7cefb58e5f9fca027d0ae6..8c19f7e78dd1c10e409d0830ab664d5e390598e0 100644 | 
| --- a/webrtc/modules/rtp_rtcp/source/ssrc_database.h | 
| +++ b/webrtc/modules/rtp_rtcp/source/ssrc_database.h | 
| @@ -13,13 +13,13 @@ | 
|  | 
| #include <set> | 
|  | 
| +#include "webrtc/base/criticalsection.h" | 
| #include "webrtc/base/random.h" | 
| -#include "webrtc/base/scoped_ptr.h" | 
| +#include "webrtc/base/thread_annotations.h" | 
| #include "webrtc/system_wrappers/include/static_instance.h" | 
| #include "webrtc/typedefs.h" | 
|  | 
| namespace webrtc { | 
| -class CriticalSectionWrapper; | 
|  | 
| class SSRCDatabase { | 
| public: | 
| @@ -32,19 +32,23 @@ class SSRCDatabase { | 
|  | 
| protected: | 
| SSRCDatabase(); | 
| -  virtual ~SSRCDatabase(); | 
| +  ~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); | 
|  | 
| -  rtc::scoped_ptr<CriticalSectionWrapper> crit_; | 
| + private: | 
| +  rtc::CriticalSection crit_; | 
| Random random_ GUARDED_BY(crit_); | 
| std::set<uint32_t> ssrcs_ GUARDED_BY(crit_); | 
| +  // TODO(tommi): Use a thread checker to ensure the object is created and | 
| +  // deleted on the same thread.  At the moment this isn't possible due to | 
| +  // voe::ChannelOwner in voice engine.  To reproduce, run: | 
| +  // voe_auto_test --automated --gtest_filter=*MixManyChannelsForStressOpus | 
| }; | 
| }  // namespace webrtc | 
|  | 
|  |