# This file is used in addition to the one already maintained in Chrome.
# It acts as a place holder for future additions for WebRTC.
# It must exist for the Python wrapper script to work properly.

# There are two kinds of suppressions in this file.
# 1. webrtc stuff
#
# 2. libjingle stuff (talk folder)
#-----------------------------------------------------------------------

# 1. webrtc stuff
{
  bug_1205_33
  ThreadSanitizer:Race
  fun:webrtc::PeerConnectionProxy::~PeerConnectionProxy
  fun:rtc::RefCountedObject::~RefCountedObject
  fun:rtc::RefCountedObject::~RefCountedObject
  fun:rtc::RefCountedObject::Release
  fun:rtc::scoped_refptr::~scoped_refptr
  ...
}
{
  bug_1205_34
  ThreadSanitizer:Race
  fun:rtc::AtomicOps::Increment
  fun:rtc::RefCountedObject::AddRef
  fun:rtc::scoped_refptr::scoped_refptr
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  ...
}
{
  bug_1205_35
  ThreadSanitizer:Race
  fun:rtc::scoped_refptr::scoped_refptr
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  ...
}
{
  bug_1205_36
  ThreadSanitizer:Race
  fun:rtc::MessageHandler::~MessageHandler
  fun:FakeAudioCaptureModule::~FakeAudioCaptureModule
  ...
}
{
  bug_1205_39
  ThreadSanitizer:Race
  fun:rtc::Thread::Send
  fun:FakeAudioCaptureModule::UpdateProcessing
  fun:FakeAudioCaptureModule::StopRecording
  fun:webrtc::VoEBaseImpl::StopSend
  fun:webrtc::VoEBaseImpl::DeleteChannel
  fun:cricket::WebRtcVoiceMediaChannel::~WebRtcVoiceMediaChannel
  ...
}
{
  bug_1205_41
  ThreadSanitizer:Race
  fun:rtc::Thread::Send
  fun:FakeAudioCaptureModule::~FakeAudioCaptureModule
  ...
}
{
  bug_2078_2
  ThreadSanitizer:Race
  ...
  fun:rtc::MemoryStreamBase::Read
  ...
  fun:cricket::RtpDumpReader::ReadPacket
  ...
}
{
  bug_2078_3
  ThreadSanitizer:Race
  fun:cricket::RtpSenderReceiver::OnMessage
  fun:rtc::MessageQueue::Dispatch
  fun:rtc::Thread::ProcessMessages
  fun:rtc::Thread::Run
  fun:rtc::Thread::PreRun
}
{
  bug_2078_4
  ThreadSanitizer:Race
  fun:cricket::FileNetworkInterface::SendPacket
  fun:cricket::RtpSenderReceiver::SendRtpPacket
  fun:cricket::RtpSenderReceiver::OnMessage
  fun:rtc::MessageQueue::Dispatch
  fun:rtc::Thread::ProcessMessages
  fun:rtc::Thread::Run
  fun:rtc::Thread::PreRun
}
{
  bug_2078_7
  ThreadSanitizer:Race
  fun:rtc::MemoryStreamBase::~MemoryStreamBase
  fun:rtc::MemoryStream::~MemoryStream
  ...
}
{
  bug_2078_8
  ThreadSanitizer:Race
  fun:rtc::MemoryStreamBase::SetPosition
  fun:rtc::StreamInterface::Rewind
  fun:cricket::RtpTestUtility::VerifyTestPacketsFromStream
  ...
}
{
  bug_2078_13
  ThreadSanitizer:Race
  fun:std::_Vector_base::~_Vector_base
  fun:std::vector::~vector
  fun:cricket::RtpDumpPacket::~RtpDumpPacket
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:rtc::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_14
  ThreadSanitizer:Race
  fun:cricket::RtpDumpReader::~RtpDumpReader
  fun:cricket::RtpDumpLoopReader::~RtpDumpLoopReader
  fun:cricket::RtpDumpLoopReader::~RtpDumpLoopReader
  fun:rtc::scoped_ptr::~scoped_ptr
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:rtc::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_15
  ThreadSanitizer:Race
  fun:rtc::FileStream::Close
  fun:rtc::FileStream::~FileStream
  fun:rtc::FileStream::~FileStream
  fun:rtc::scoped_ptr::~scoped_ptr
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:rtc::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_16
  ThreadSanitizer:Race
  fun:rtc::StreamInterface::~StreamInterface
  fun:rtc::FileStream::~FileStream
  fun:rtc::FileStream::~FileStream
  fun:rtc::scoped_ptr::~scoped_ptr
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:rtc::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_18
  ThreadSanitizer:Race
  fun:rtc::MemoryStream::~MemoryStream
  ...
}
{
  bug_2078_22
  ThreadSanitizer:Race
  fun:rtc::MessageQueue::Quit
  fun:rtc::Thread::Stop
  ...
}
{
  bug_2078_23
  ThreadSanitizer:Race
  fun:::FileVideoCapturerTest::VideoCapturerListener::OnFrameCaptured
  fun:sigslot::_connection2::emit
  ...
  fun:cricket::FileVideoCapturer::ReadFrame
  fun:cricket::FileVideoCapturer::FileReadThread::OnMessage
  fun:rtc::MessageQueue::Dispatch
  fun:rtc::Thread::ProcessMessages
  fun:rtc::Thread::Run
  fun:cricket::FileVideoCapturer::FileReadThread::Run
  fun:rtc::Thread::PreRun
}
{
  bug_2078_24
  ThreadSanitizer:Race
  fun:rtc::MemoryStreamBase::SetPosition
  fun:rtc::StreamInterface::Rewind
  ...
}
{
  bug_2078_25
  ThreadSanitizer:Race
  fun:cricket::FileNetworkInterface::SendPacket
  fun:cricket::MediaChannel::DoSendPacket
  fun:cricket::MediaChannel::SendPacket
  fun:cricket::RtpSenderReceiver::SendRtpPacket
  fun:cricket::RtpSenderReceiver::OnMessage
  fun:rtc::MessageQueue::Dispatch
  fun:rtc::Thread::ProcessMessages
  fun:rtc::Thread::Run
  fun:rtc::Thread::PreRun
}
{
  bug_2079_1
  ThreadSanitizer:Race
  fun:rtc::VirtualSocketServer::AddPacketToNetwork
  fun:rtc::VirtualSocketServer::SendUdp
  fun:rtc::VirtualSocket::SendUdp
  fun:rtc::VirtualSocket::SendTo
  fun:rtc::AsyncUDPSocket::SendTo
  fun:cricket::StunServer::SendResponse
  fun:cricket::StunServer::OnBindingRequest
  fun:cricket::StunServer::OnPacket
  fun:sigslot::_connection4::emit
  ...
}
{
  bug_2079_5
  ThreadSanitizer:Race
  fun:rtc::Thread::Send
  fun:cricket::Transport::SetRole
  fun:cricket::BaseSession::GetOrCreateTransportProxy
  fun:cricket::BaseSession::CreateChannel
  fun:cricket::FakeSession::CreateChannel
  fun:cricket::VoiceChannel::Init
  fun:cricket::ChannelManager::CreateVoiceChannel_w
  ...
}
{
  bug_2079_6
  ThreadSanitizer:Race
  fun:rtc::Thread::ReceiveSends
  fun:rtc::Thread::Send
  fun:rtc::Thread::Invoke
  ...
}
{
  bug_2079_8
  ThreadSanitizer:Race
  fun:rtc::Thread::Invoke
  fun:cricket::ChannelManager::SetCaptureDevice
  ...
}
{
  bug_2079_9
  ThreadSanitizer:Race
  fun:rtc::Thread::Send
  fun:cricket::Transport::SetIceRole
  fun:cricket::BaseSession::GetOrCreateTransportProxy
  fun:cricket::BaseSession::CreateChannel
  fun:cricket::FakeSession::CreateChannel
  fun:cricket::VoiceChannel::Init
  fun:cricket::ChannelManager::CreateVoiceChannel_w
  ...
}
{
  bug_2080_1
  ThreadSanitizer:Race
  fun:rtc::MessageQueue::Quit
  fun:rtc::SignalThread::Destroy
  ...
}
{
  bug_2080_2
  ThreadSanitizer:Race
  fun:rtc::MessageQueue::Quit
  fun:rtc::AsyncHttpRequest::OnComplete
  fun:sigslot::_connection2::emit
  ...
}
{
  bug_2080_3
  ThreadSanitizer:Race
  fun:rtc::LogMessage::UpdateMinLogSeverity
  fun:rtc::LogMessage::AddLogToStream
  ...
}
{
  bug_2080_8
  ThreadSanitizer:Race
  ...
  fun:rtc::AsyncUDPSocket::OnReadEvent
  fun:sigslot::_connection1::emit
  ...
}
{
  bug_2080_9
  ThreadSanitizer:Race
  ...
  fun:rtc::AsyncUDPSocket::OnWriteEvent
  fun:sigslot::_connection1::emit
  ...
}
{
  bug_2080_14
  ThreadSanitizer:Race
  fun:rtc::IPAddress::IPAddress
  fun:rtc::SocketAddress::ToSockAddrStorage
  fun:rtc::PhysicalSocket::SendTo
  fun:rtc::AsyncUDPSocket::SendTo
  fun:rtc::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_16
  ThreadSanitizer:Race
  ...
  fun:rtc::IPAddress::operator<
  ...
}
{
  bug_2080_18
  ThreadSanitizer:Race
  fun:rtc::SocketAddress::port
  ...
}
{
  bug_2080_19
  ThreadSanitizer:Race
  fun:std::vector::_M_insert_aux
  fun:std::vector::push_back
  fun:rtc::TestClient::OnPacket
  ...
}
{
  bug_2080_20
  ThreadSanitizer:Race
  fun:rtc::VirtualSocketServer::AddPacketToNetwork
  fun:rtc::VirtualSocketServer::SendUdp
  fun:rtc::VirtualSocket::SendUdp
  fun:rtc::VirtualSocket::SendTo
  fun:rtc::AsyncUDPSocket::SendTo
  fun:rtc::TestClient::SendTo
  ...
}
{
  bug_2080_21
  ThreadSanitizer:Race
  fun:rtc::SharedExclusiveTask::waiting_time_in_ms
  ...
}
{
  bug_2080_22
  ThreadSanitizer:Race
  fun:rtc::SharedExclusiveTask::~SharedExclusiveTask
  fun:rtc::ReadTask::~ReadTask
  ...
}
{
  bug_2080_24
  ThreadSanitizer:Race
  ...
  fun:OwnerThread::Run
  fun:rtc::Thread::PreRun
}
{
  bug_2080_25
  ThreadSanitizer:Race
  fun:sigslot::has_slots::~has_slots
  fun:OwnerThread::~OwnerThread
  fun:OwnerThread::~OwnerThread
  fun:rtc::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2080_27
  ThreadSanitizer:Race
  ...
  fun:std::_Rb_tree::clear
  fun:std::_Rb_tree::_M_erase_aux
  fun:std::_Rb_tree::erase
  fun:std::set::erase
  fun:sigslot::has_slots::disconnect_all
  fun:sigslot::has_slots::~has_slots
  fun:OwnerThread::~OwnerThread
  fun:OwnerThread::~OwnerThread
  fun:rtc::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2080_29
  ThreadSanitizer:Race
  fun:rtc::Thread::Release
  fun:ThreadTest_Release_Test::TestBody
  ...
}
{
  bug_2080_30
  ThreadSanitizer:Race
  fun:rtc::Thread::Invoke
  fun:MessageQueueTest::IsLocked
  fun:DeletedLockChecker::~DeletedLockChecker
  ...
}
{
  bug_2080_31
  ThreadSanitizer:Race
  fun:rtc::MessageHandler::~MessageHandler
  fun:rtc::Thread::FunctorMessageHandler::~FunctorMessageHandler
  ...
}
{
  bug_2080_32
  ThreadSanitizer:Race
  fun:rtc::ReadTask::OnMessage
  fun:rtc::MessageQueue::Dispatch
  ...
}
{
  bug_2080_33
  ThreadSanitizer:Race
  fun:rtc::SharedExclusiveLockTest_TestSharedShared_Test::TestBody
  fun:testing::internal::HandleSehExceptionsInMethodIfSupported
}
{
  bug_2080_34
  ThreadSanitizer:Race
  fun:rtc::WriteTask::OnMessage
  fun:rtc::MessageQueue::Dispatch
  fun:rtc::Thread::ProcessMessages
  fun:rtc::Thread::Run
  fun:rtc::Thread::PreRun
}
{
  bug_2080_35
  ThreadSanitizer:UnlockNonLocked
  fun:pthread_mutex_unlock
  fun:rtc::CriticalSection::Leave
  fun:rtc::CritScope::~CritScope
  ...
  fun:rtc::AsyncFunctorMessageHandler::OnMessage
  fun:rtc::MessageQueue::Dispatch
  fun:rtc::Thread::ProcessMessages
  fun:rtc::Thread::Run
  fun:rtc::Thread::PreRun
}
{
  bug_2080_36
  ThreadSanitizer:Race
  ...
  fun:rtc::FunctorMessageHandler::OnMessage
  fun:rtc::MessageQueue::Dispatch
  fun:rtc::Thread::ProcessMessages
  fun:rtc::Thread::Run
  fun:rtc::Thread::PreRun
}
{
  bug_2931_1
  ThreadSanitizer:Race
  ...
  fun:rtc::FireAndForgetAsyncClosure::Execute
  fun:rtc::AsyncInvoker::OnMessage
  fun:rtc::MessageQueue::Dispatch
  fun:rtc::Thread::ProcessMessages
  fun:rtc::Thread::Run
  fun:rtc::Thread::PreRun
}
{
  bug_2931_2
  ThreadSanitizer:Race
  ...
  fun:rtc::Callback0::HelperImpl::~HelperImpl
  fun:rtc::RefCountedObject::~RefCountedObject
  fun:rtc::RefCountedObject::~RefCountedObject
  fun:rtc::RefCountedObject::Release
  fun:rtc::scoped_refptr::~scoped_refptr
  fun:rtc::Callback0::~Callback0
  fun:rtc::FireAndForgetAsyncClosure::~FireAndForgetAsyncClosure
  fun:rtc::RefCountedObject::~RefCountedObject
  fun:rtc::RefCountedObject::~RefCountedObject
  fun:rtc::RefCountedObject::Release
  fun:rtc::scoped_refptr::~scoped_refptr
  fun:rtc::AsyncInvoker::OnMessage
  fun:rtc::MessageQueue::Dispatch
  fun:rtc::Thread::ProcessMessages
  fun:AsyncInvokeTest_WithCallback_Test::TestBody
  ...
}
{
  bug_300
  ThreadSanitizer:Race
  fun:webrtc::TraceImpl::SetTraceCallbackImpl
  fun:webrtc::Trace::SetTraceCallback
  ...
}

# Known bugs we don't care about / problems in third parties
{
  bug_884 (Wider timezone filter than Chromium's suppressions)
  ThreadSanitizer:Race
  ...
  fun:__tz*
}
{
  Don't care about issues in trace functions
  ThreadSanitizer:Race
  ...
  fun:webrtc::Trace::Add
  ...
}
{
  More not caring about issues in trace functions
  ThreadSanitizer:Race
  ...
  fun:webrtc::Trace::set_level_filter
  ...
}
{
  Trace related 1
  ThreadSanitizer:Race
  fun:webrtc::TraceImpl::WriteToFile
  fun:webrtc::TraceImpl::Process
  fun:webrtc::TraceImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  Trace related 2
  ThreadSanitizer:Race
  fun:cricket::WebRtcVideoEngine::~WebRtcVideoEngine
  fun:VideoEngineOverride::~VideoEngineOverride
  ...
}
{
  Test posix socket HasIncoming
  ThreadSanitizer:Race
  fun:webrtc::test::UdpSocketPosix::HasIncoming
  fun:webrtc::test::UdpSocketManagerPosixImpl::Process
  fun:webrtc::test::UdpSocketManagerPosixImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:webrtc::StartThread
}
{
  bug_2497
  ThreadSanitizer:Race
  fun:webrtc::VCMJitterBuffer::RecycleFramesUntilKeyFrame
  ...
}
{
  bug_2497_2
  ThreadSanitizer:Race
  fun:webrtc::VideoEngine::SetTraceFilter
  ...
}
{
  Benign TRACE_EVENT race (webrtc:3409)
  ThreadSanitizer:Race
  fun:webrtc::RTCPReceiver::HandleSenderReceiverReport
  fun:webrtc::RTCPReceiver::IncomingRTCPPacket
  ...
}

#-----------------------------------------------------------------------
# 2. libjingle stuff (talk folder)

{
  bug_1205_5
  ThreadSanitizer:Race
  fun:webrtc::RTPReceiver::ProcessBitrate
  fun:webrtc::ModuleRtpRtcpImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_7
  ThreadSanitizer:Race
  fun:webrtc::VCMJitterBuffer::RecycleFramesUntilKeyFrame
  fun:webrtc::VCMJitterBuffer::GetNackList
  fun:webrtc::VCMReceiver::NackList
  fun:webrtc::VideoCodingModuleImpl::NackList
  fun:webrtc::VideoCodingModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_8
  ThreadSanitizer:Race
  fun:webrtc::VideoCodingModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_9
  ThreadSanitizer:Race
  fun:webrtc::VCMJitterBuffer::IncomingRateStatistics
  fun:webrtc::VCMReceiver::ReceiveStatistics
  fun:webrtc::VideoCodingModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_10
  ThreadSanitizer:Race
  fun:webrtc::VCMJitterBuffer::NextMaybeIncompleteTimestamp
  fun:webrtc::VCMReceiver::FrameForDecoding
  fun:webrtc::VideoCodingModuleImpl::Decode
  fun:webrtc::ViEChannel::ChannelDecodeProcess
  fun:webrtc::ViEChannel::ChannelDecodeThreadFunction
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_11
  ThreadSanitizer:Race
  fun:webrtc::EventPosix::StartTimer
  fun:webrtc::IncomingVideoStream::IncomingVideoStreamProcess
  fun:webrtc::IncomingVideoStream::IncomingVideoStreamThreadFun
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_22
  ThreadSanitizer:Race
  fun:webrtc::EventPosix::Process
  fun:webrtc::EventPosix::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_26
  ThreadSanitizer:Race
  fun:webrtc::VCMJitterBuffer::CleanUpOldOrEmptyFrames
  fun:webrtc::VCMJitterBuffer::NextCompleteTimestamp
  fun:webrtc::VCMReceiver::FrameForDecoding
  fun:webrtc::VideoCodingModuleImpl::Decode
  fun:webrtc::ViEChannel::ChannelDecodeProcess
  fun:webrtc::ViEChannel::ChannelDecodeThreadFunction
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_27
  ThreadSanitizer:Race
  fun:webrtc::VCMJitterBuffer::NextCompleteTimestamp
  fun:webrtc::VCMReceiver::FrameForDecoding
  fun:webrtc::VideoCodingModuleImpl::Decode
  fun:webrtc::ViEChannel::ChannelDecodeProcess
  fun:webrtc::ViEChannel::ChannelDecodeThreadFunction
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_28
  ThreadSanitizer:Race
  fun:webrtc::VCMReceiver::FrameForDecoding
  fun:webrtc::VideoCodingModuleImpl::Decode
  fun:webrtc::ViEChannel::ChannelDecodeProcess
  fun:webrtc::ViEChannel::ChannelDecodeThreadFunction
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_29
  ThreadSanitizer:Race
  fun:webrtc::VideoCodingModuleImpl::Decode
  fun:webrtc::ViEChannel::ChannelDecodeProcess
  fun:webrtc::ViEChannel::ChannelDecodeThreadFunction
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_30
  ThreadSanitizer:Race
  fun:webrtc::FrameList::CleanUpOldOrEmptyFrames
  fun:webrtc::VCMJitterBuffer::CleanUpOldOrEmptyFrames
  fun:webrtc::VCMJitterBuffer::NextCompleteTimestamp
  fun:webrtc::VCMReceiver::FrameForDecoding
  fun:webrtc::VideoCodingModuleImpl::Decode
  fun:webrtc::ViEChannel::ChannelDecodeProcess
  fun:webrtc::ViEChannel::ChannelDecodeThreadFunction
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_31
  ThreadSanitizer:Race
  fun:webrtc::RTPSenderVideo::ProcessBitrate
  fun:webrtc::RTPSender::ProcessBitrate
  fun:webrtc::ModuleRtpRtcpImpl::Process
  ...
}
{
  bug_1205_33_tmp
  ThreadSanitizer:Race
  fun:webrtc::PeerConnectionProxy::~PeerConnectionProxy
  fun:talk_base::RefCountedObject::~RefCountedObject
  fun:talk_base::RefCountedObject::~RefCountedObject
  fun:talk_base::RefCountedObject::Release
  fun:talk_base::scoped_refptr::~scoped_refptr
  ...
}
{
  bug_1205_34_tmp
  ThreadSanitizer:Race
  fun:talk_base::AtomicOps::Increment
  fun:talk_base::RefCountedObject::AddRef
  fun:talk_base::scoped_refptr::scoped_refptr
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  ...
}
{
  bug_1205_35_tmp
  ThreadSanitizer:Race
  fun:talk_base::scoped_refptr::scoped_refptr
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  ...
}
{
  bug_1205_36_tmp
  ThreadSanitizer:Race
  fun:talk_base::MessageHandler::~MessageHandler
  fun:FakeAudioCaptureModule::~FakeAudioCaptureModule
  ...
}
{
  bug_1205_37
  ThreadSanitizer:Race
  fun:webrtc::Bitrate::Process
  fun:webrtc::RTPSenderVideo::ProcessBitrate
  fun:webrtc::RTPSender::ProcessBitrate
  fun:webrtc::ModuleRtpRtcpImpl::Process
  ...
}
{
  bug_1205_38
  ThreadSanitizer:Race
  fun:webrtc::VideoCodingModuleImpl::RegisterPacketRequestCallback
  fun:webrtc::ViEChannel::ProcessNACKRequest
  fun:webrtc::ViEChannel::SetNACKStatus
  fun:webrtc::ViERTP_RTCPImpl::SetNACKStatus
  fun:cricket::WebRtcVideoMediaChannel::SetNackFec
  ...
}
{
  bug_1205_39_tmp
  ThreadSanitizer:Race
  fun:talk_base::Thread::Send
  fun:FakeAudioCaptureModule::UpdateProcessing
  fun:FakeAudioCaptureModule::StopRecording
  fun:webrtc::VoEBaseImpl::StopSend
  fun:webrtc::VoEBaseImpl::DeleteChannel
  fun:cricket::WebRtcVoiceMediaChannel::~WebRtcVoiceMediaChannel
  ...
}
{
  bug_1205_40
  ThreadSanitizer:Race
  fun:cricket::WebRtcVideoEngine::Print
  ...
}
{
  bug_1205_41_tmp
  ThreadSanitizer:Race
  fun:talk_base::Thread::Send
  fun:FakeAudioCaptureModule::~FakeAudioCaptureModule
  ...
}
{
  bug_1205_42
  ThreadSanitizer:Race
  fun:webrtc::Bitrate::Process
  fun:webrtc::RTPSender::ProcessBitrate
  ...
}
{
  bug_1205_44
  ThreadSanitizer:Race
  fun:webrtc::VCMJitterBuffer::DecodeErrorMode
  fun:webrtc::VCMReceiver::SetDecodeErrorMode
  fun:webrtc::VideoCodingModuleImpl::SetVideoProtection
  fun:webrtc::ViEChannel::SetHybridNACKFECStatus
  fun:webrtc::ViERTP_RTCPImpl::SetHybridNACKFECStatus
  ...
}
{
  bug_1205_48
  ThreadSanitizer:Race
  fun:webrtc::Bitrate::BitrateLast
  ...
}
{
  bug_2078_2_tmp
  ThreadSanitizer:Race
  ...
  fun:talk_base::MemoryStreamBase::Read
  ...
  fun:cricket::RtpDumpReader::ReadPacket
  ...
}
{
  bug_2078_3_tmp
  ThreadSanitizer:Race
  fun:cricket::RtpSenderReceiver::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2078_4_tmp
  ThreadSanitizer:Race
  fun:cricket::FileNetworkInterface::SendPacket
  fun:cricket::RtpSenderReceiver::SendRtpPacket
  fun:cricket::RtpSenderReceiver::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2078_5
  ThreadSanitizer:Race
  fun:cricket::RtpSenderReceiver::SetSend
  fun:cricket::FileVoiceChannel::SetSend
  ...
}
{
  bug_2078_6
  ThreadSanitizer:Race
  fun:cricket::MediaChannel::NetworkInterface::~NetworkInterface
  fun:cricket::FileNetworkInterface::~FileNetworkInterface
  ...
}
{
  bug_2078_7_tmp
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::~MemoryStreamBase
  fun:talk_base::MemoryStream::~MemoryStream
  ...
}
{
  bug_2078_8_tmp
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::SetPosition
  fun:talk_base::StreamInterface::Rewind
  fun:cricket::RtpTestUtility::VerifyTestPacketsFromStream
  ...
}
{
  bug_2078_13_tmp
  ThreadSanitizer:Race
  fun:std::_Vector_base::~_Vector_base
  fun:std::vector::~vector
  fun:cricket::RtpDumpPacket::~RtpDumpPacket
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_14_tmp
  ThreadSanitizer:Race
  fun:cricket::RtpDumpReader::~RtpDumpReader
  fun:cricket::RtpDumpLoopReader::~RtpDumpLoopReader
  fun:cricket::RtpDumpLoopReader::~RtpDumpLoopReader
  fun:talk_base::scoped_ptr::~scoped_ptr
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_15_tmp
  ThreadSanitizer:Race
  fun:talk_base::FileStream::Close
  fun:talk_base::FileStream::~FileStream
  fun:talk_base::FileStream::~FileStream
  fun:talk_base::scoped_ptr::~scoped_ptr
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_16_tmp
  ThreadSanitizer:Race
  fun:talk_base::StreamInterface::~StreamInterface
  fun:talk_base::FileStream::~FileStream
  fun:talk_base::FileStream::~FileStream
  fun:talk_base::scoped_ptr::~scoped_ptr
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_18_tmp
  ThreadSanitizer:Race
  fun:talk_base::MemoryStream::~MemoryStream
  ...
}
{
  bug_2078_21
  ThreadSanitizer:Race
  fun:::FileVideoCapturerTest::VideoCapturerListener::frame_count
  ...
}
{
  bug_2078_22_tmp
  ThreadSanitizer:Race
  fun:talk_base::MessageQueue::Quit
  fun:talk_base::Thread::Stop
  ...
}
{
  bug_2078_23_tmp
  ThreadSanitizer:Race
  fun:::FileVideoCapturerTest::VideoCapturerListener::OnFrameCaptured
  fun:sigslot::_connection2::emit
  ...
  fun:cricket::FileVideoCapturer::ReadFrame
  fun:cricket::FileVideoCapturer::FileReadThread::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:cricket::FileVideoCapturer::FileReadThread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2078_24_tmp
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::SetPosition
  fun:talk_base::StreamInterface::Rewind
  ...
}
{
  bug_2078_25_tmp
  ThreadSanitizer:Race
  fun:cricket::FileNetworkInterface::SendPacket
  fun:cricket::MediaChannel::DoSendPacket
  fun:cricket::MediaChannel::SendPacket
  fun:cricket::RtpSenderReceiver::SendRtpPacket
  fun:cricket::RtpSenderReceiver::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2079_1_tmp
  ThreadSanitizer:Race
  fun:talk_base::VirtualSocketServer::AddPacketToNetwork
  fun:talk_base::VirtualSocketServer::SendUdp
  fun:talk_base::VirtualSocket::SendUdp
  fun:talk_base::VirtualSocket::SendTo
  fun:talk_base::AsyncUDPSocket::SendTo
  fun:cricket::StunServer::SendResponse
  fun:cricket::StunServer::OnBindingRequest
  fun:cricket::StunServer::OnPacket
  fun:sigslot::_connection4::emit
  ...
}
{
  bug_2079_3
  ThreadSanitizer:Race
  fun:ChannelTest::SendRtpToRtpOnThread
  ...
}
{
  bug_2079_5_tmp
  ThreadSanitizer:Race
  fun:talk_base::Thread::Send
  fun:cricket::Transport::SetRole
  fun:cricket::BaseSession::GetOrCreateTransportProxy
  fun:cricket::BaseSession::CreateChannel
  fun:cricket::FakeSession::CreateChannel
  fun:cricket::VoiceChannel::Init
  fun:cricket::ChannelManager::CreateVoiceChannel_w
  ...
}
{
  bug_2079_6_tmp
  ThreadSanitizer:Race
  fun:talk_base::Thread::ReceiveSends
  fun:talk_base::Thread::Send
  fun:talk_base::Thread::Invoke
  ...
}
{
  bug_2079_7
  ThreadSanitizer:Race
  fun:ChannelTest::SendSrtpToSrtpOnThread
  ...
}
{
  bug_2079_8_tmp
  ThreadSanitizer:Race
  fun:talk_base::Thread::Invoke
  fun:cricket::ChannelManager::SetCaptureDevice
  ...
}
{
  bug_2079_9_tmp
  ThreadSanitizer:Race
  fun:talk_base::Thread::Send
  fun:cricket::Transport::SetIceRole
  fun:cricket::BaseSession::GetOrCreateTransportProxy
  fun:cricket::BaseSession::CreateChannel
  fun:cricket::FakeSession::CreateChannel
  fun:cricket::VoiceChannel::Init
  fun:cricket::ChannelManager::CreateVoiceChannel_w
  ...
}
{
  bug_2080_1_tmp
  ThreadSanitizer:Race
  fun:talk_base::MessageQueue::Quit
  fun:talk_base::SignalThread::Destroy
  ...
}
{
  bug_2080_2_tmp
  ThreadSanitizer:Race
  fun:talk_base::MessageQueue::Quit
  fun:talk_base::AsyncHttpRequest::OnComplete
  fun:sigslot::_connection2::emit
  ...
}
{
  bug_2080_3_tmp
  ThreadSanitizer:Race
  fun:talk_base::LogMessage::UpdateMinLogSeverity
  fun:talk_base::LogMessage::AddLogToStream
  ...
}
{
  bug_2080_8_tmp
  ThreadSanitizer:Race
  ...
  fun:talk_base::AsyncUDPSocket::OnReadEvent
  fun:sigslot::_connection1::emit
  ...
}
{
  bug_2080_9_tmp
  ThreadSanitizer:Race
  ...
  fun:talk_base::AsyncUDPSocket::OnWriteEvent
  fun:sigslot::_connection1::emit
  ...
}
{
  bug_2080_10
  ThreadSanitizer:Race
  fun:sigslot::_connection4::emit
  ...
}
{
  bug_2080_14_tmp
  ThreadSanitizer:Race
  fun:talk_base::IPAddress::IPAddress
  fun:talk_base::SocketAddress::ToSockAddrStorage
  fun:talk_base::PhysicalSocket::SendTo
  fun:talk_base::AsyncUDPSocket::SendTo
  fun:talk_base::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_16_tmp
  ThreadSanitizer:Race
  ...
  fun:talk_base::IPAddress::operator<
  ...
}
{
  bug_2080_18_tmp
  ThreadSanitizer:Race
  fun:talk_base::SocketAddress::port
  ...
}
{
  bug_2080_19_tmp
  ThreadSanitizer:Race
  fun:std::vector::_M_insert_aux
  fun:std::vector::push_back
  fun:talk_base::TestClient::OnPacket
  ...
}
{
  bug_2080_20_tmp
  ThreadSanitizer:Race
  fun:talk_base::VirtualSocketServer::AddPacketToNetwork
  fun:talk_base::VirtualSocketServer::SendUdp
  fun:talk_base::VirtualSocket::SendUdp
  fun:talk_base::VirtualSocket::SendTo
  fun:talk_base::AsyncUDPSocket::SendTo
  fun:talk_base::TestClient::SendTo
  ...
}
{
  bug_2080_21_tmp
  ThreadSanitizer:Race
  fun:talk_base::SharedExclusiveTask::waiting_time_in_ms
  ...
}
{
  bug_2080_22_tmp
  ThreadSanitizer:Race
  fun:talk_base::SharedExclusiveTask::~SharedExclusiveTask
  fun:talk_base::ReadTask::~ReadTask
  ...
}
{
  bug_2080_23
  ThreadSanitizer:Race
  fun:testing::internal::CmpHelperEQ
  fun:testing::internal::EqHelper::Compare
  ...
}
{
  bug_2080_24_tmp
  ThreadSanitizer:Race
  ...
  fun:OwnerThread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2080_25_tmp
  ThreadSanitizer:Race
  fun:sigslot::has_slots::~has_slots
  fun:OwnerThread::~OwnerThread
  fun:OwnerThread::~OwnerThread
  fun:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2080_26
  ThreadSanitizer:Race
  fun:std::_Rb_tree::begin
  fun:std::set::begin
  fun:sigslot::has_slots::disconnect_all
  fun:sigslot::has_slots::~has_slots
  ...
}
{
  bug_2080_27_tmp
  ThreadSanitizer:Race
  ...
  fun:std::_Rb_tree::clear
  fun:std::_Rb_tree::_M_erase_aux
  fun:std::_Rb_tree::erase
  fun:std::set::erase
  fun:sigslot::has_slots::disconnect_all
  fun:sigslot::has_slots::~has_slots
  fun:OwnerThread::~OwnerThread
  fun:OwnerThread::~OwnerThread
  fun:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2080_29_tmp
  ThreadSanitizer:Race
  fun:talk_base::Thread::Release
  fun:ThreadTest_Release_Test::TestBody
  ...
}
{
  bug_2080_30_tmp
  ThreadSanitizer:Race
  fun:talk_base::Thread::Invoke
  fun:MessageQueueTest::IsLocked
  fun:DeletedLockChecker::~DeletedLockChecker
  ...
}
{
  bug_2080_31_tmp
  ThreadSanitizer:Race
  fun:talk_base::MessageHandler::~MessageHandler
  fun:talk_base::Thread::FunctorMessageHandler::~FunctorMessageHandler
  ...
}
{
  bug_2080_32_tmp
  ThreadSanitizer:Race
  fun:talk_base::ReadTask::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  ...
}
{
  bug_2080_33_tmp
  ThreadSanitizer:Race
  fun:talk_base::SharedExclusiveLockTest_TestSharedShared_Test::TestBody
  fun:testing::internal::HandleSehExceptionsInMethodIfSupported
}
{
  bug_2080_34_tmp
  ThreadSanitizer:Race
  fun:talk_base::WriteTask::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2080_35_tmp
  ThreadSanitizer:UnlockNonLocked
  fun:pthread_mutex_unlock
  fun:talk_base::CriticalSection::Leave
  fun:talk_base::CritScope::~CritScope
  ...
  fun:talk_base::AsyncFunctorMessageHandler::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2080_36_tmp
  ThreadSanitizer:Race
  ...
  fun:talk_base::FunctorMessageHandler::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2931_1_tmp
  ThreadSanitizer:Race
  ...
  fun:talk_base::FireAndForgetAsyncClosure::Execute
  fun:talk_base::AsyncInvoker::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2931_2_tmp
  ThreadSanitizer:Race
  ...
  fun:talk_base::Callback0::HelperImpl::~HelperImpl
  fun:talk_base::RefCountedObject::~RefCountedObject
  fun:talk_base::RefCountedObject::~RefCountedObject
  fun:talk_base::RefCountedObject::Release
  fun:talk_base::scoped_refptr::~scoped_refptr
  fun:talk_base::Callback0::~Callback0
  fun:talk_base::FireAndForgetAsyncClosure::~FireAndForgetAsyncClosure
  fun:talk_base::RefCountedObject::~RefCountedObject
  fun:talk_base::RefCountedObject::~RefCountedObject
  fun:talk_base::RefCountedObject::Release
  fun:talk_base::scoped_refptr::~scoped_refptr
  fun:talk_base::AsyncInvoker::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:AsyncInvokeTest_WithCallback_Test::TestBody
  ...
}
{
  bug_3372_1
  ThreadSanitizer:Race
  fun:talk_base::LogMessage::Loggable
  fun:cricket::WebRtcVideoEngine::Print
  fun:webrtc::TraceImpl::WriteToFile
  fun:webrtc::TraceImpl::Process
  fun:webrtc::TraceImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_3372_2
  ThreadSanitizer:Race
  fun:std::string::find
  fun:WebRtcVideoEngineTest_WebRtcShouldNotLog_Test::TestBody
  fun:testing::internal::HandleSehExceptionsInMethodIfSupported
}
