commit | 2fc52544b02aab6a206ae76dc220e7c8409c9b31 | [log] [tgz] |
---|---|---|
author | kthelgason <kthelgason@webrtc.org> | Fri Mar 03 08:24:41 2017 |
committer | Commit bot <commit-bot@chromium.org> | Fri Mar 03 08:24:41 2017 |
tree | 25ae2c503f37db2cc07e09909614b07dfc6e3661 | |
parent | e7b8c3759b6865e1dec3bef84a6d82362ea9d855 [diff] |
Fix flaky ViEEncoder tests. This CL fixes two issues. The first is a tsan complaint about a data race. The test had a fix to make it deterministic but the race still existed, so this adds locks around the critical section to appease the sanitizer. The second, more annoying issue, is that occasionally the test would start before the encoder had been configured, as this happens asynchronously on a task queue. This would cause frames to be queued up and dropped, but not where we expected them to be dropped. This was causing some tests to fail very occasionally. I've added a synchronisation mechanism by posting a barrier task on the queue and not proceeding with the tests until it finishes. BUG=webrtc:7217, webrtc:7232, webrtc:7260 Review-Url: https://codereview.webrtc.org/2722183004 Cr-Commit-Position: refs/heads/master@{#16995}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.