Go to file
tommi@webrtc.org 0d5ea21325 Remove lock from Bitrate() and FrameRate() in VideoSender.
These methods are called on the VideoSender's construction thread, which is the same thread as modifies the value of _encoder.  It's therefore safe to not require a lock to access _encoder on this thread.

I'm making access to the rate variables from VCMGenericEncoder, thread safe, by using a lock that's not associated with the encoder.  There should be little to no contention there.  While modifying VCMGenericEncoder, I noticed that a couple of member variables weren't needed, so I removed them.

The reason for this change is that getStats is currently contending with the encoder when Bitrate() is called. On my machine, this means that getStats can take about 25-30ms instead of ~1ms.

Also adding some documentation for other methods and a suggestion for how we could avoid contention between the encoder and the network thread.

BUG=2822
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8631}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8631 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 12:21:41 +00:00
chromium Roll chromium_revision 9070a80..cd35af6 (313233:314322) 2015-02-03 15:24:22 +00:00
data audio_processing: Added a new AEC delay metric value that gives the amount of poor delays 2015-02-03 06:07:21 +00:00
resources Offline screenshare quality test, plus loopback. 2015-02-18 12:46:44 +00:00
talk Remove TextureVideoFrame 2015-03-06 10:41:47 +00:00
third_party Roll gtest-parallel. 2015-02-05 12:37:42 +00:00
tools Widening memcheck suppressions for libjingle_peerconnection_unittest 2015-03-06 07:16:46 +00:00
webrtc Remove lock from Bitrate() and FrameRate() in VideoSender. 2015-03-06 12:21:41 +00:00
.clang-format Style-option file for clang-format. 2013-11-25 15:30:37 +00:00
.gitignore Make Git ignore in resources more fine-grained 2015-02-11 09:59:19 +00:00
all.gyp Remove libjingle_root GYP variable 2015-03-06 08:03:47 +00:00
AUTHORS Re-land: Add API to get negotiated SSL ciphers 2015-02-11 22:35:30 +00:00
BUILD.gn Initial GN work for WebRTC 2014-06-17 08:54:03 +00:00
check_root_dir.py Remove root_dir variable from DEPS + enforce rename. 2014-10-09 09:11:27 +00:00
codereview.settings Adding TRYSERVER_PROJECT to codereview.settings. 2015-01-19 13:51:59 +00:00
COPYING Libjingle in webrtc needs updated AUTHORS, COPYING, LICENSE_THIRD_PARTY AND README. 2013-07-16 18:04:56 +00:00
DEPS Roll chromium_revision e144d30..e8ef1d1 (318658:319252) 2015-03-06 07:18:14 +00:00
drover.properties Add a drover.properties file for reference. 2013-05-30 18:15:54 +00:00
libvpx.mk Change android makefile to reflect recent file structure change 2011-07-13 17:49:49 +00:00
LICENSE Updated license path in LICENSE and LICENSE_THIRD_PARTY. 2012-11-22 12:06:21 +00:00
license_template.txt Update template to follow chromium copyright style 2013-04-24 01:01:28 +00:00
LICENSE_THIRD_PARTY Libjingle in webrtc needs updated AUTHORS, COPYING, LICENSE_THIRD_PARTY AND README. 2013-07-16 18:04:56 +00:00
OWNERS Add kjellander as PRESUBMIT.py OWNER 2014-11-04 17:06:31 +00:00
PATENTS Add references to src/ copies for LICENSE etc. 2011-10-26 01:05:07 +00:00
PRESUBMIT.py PRESUBMIT: Exclude overrides paths from source above GYP check. 2015-03-04 07:08:44 +00:00
setup_links.py Roll chromium_revision 9070a80..cd35af6 (313233:314322) 2015-02-03 15:24:22 +00:00
sync_chromium.py Print better information during Chromium sync. 2015-03-05 14:38:42 +00:00
WATCHLISTS Removing giles@mozilla.com from WebRTC watchlist. 2014-12-22 12:49:14 +00:00