tommi@webrtc.org fbef5c6293 Remove lock in ViEFrameProviderBase::IsFrameCallbackRegistered.
After looking at how this class is used I discovered that the threading model isn't completely crazy and that we can remove a lock from a method that's causing the most contention in getStats right now (and probably many other places).  IsFrameCallbackRegistered() looks innocent enough, but it contented with the frame encoder, which can make it wait for tens of milliseconds, unnecessarily.

In addition to removing the lock, I:

* Documented the threading model
* Added checks to guard against regressions
* Reduced lock scope in the Deregister function (not calling out to the notification while holding the lock).
*  made virtual functions non-virtual (since they're not really being overriden) and removed unnecessary method that, if called by other threads than the ctor thread, returned a value that wasn't necessarily correct.

BUG=2822
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/40859004

Cr-Commit-Position: refs/heads/master@{#8531}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8531 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 15:43:23 +00:00
2015-02-05 12:37:42 +00:00
2015-02-26 11:14:25 +00:00
2014-12-15 07:03:04 +00:00
2014-06-17 08:54:03 +00:00
2014-11-04 17:06:31 +00:00
Description
No description provided
108 MiB
Languages
C++ 76%
C 16%
Python 2.3%
Java 2.1%
Objective-C++ 1.5%
Other 1.9%