Split video_render_module implementation into default and internal implementation.
Targets must now link with implementation of their choice instead of at "gyp"-time.

Targets linking with libjingle_media:
- internal implementation when build_with_chromium=0, default otherwise.

Targets linking with default render implementation:
- video_engine_tests
- video_loopback
- video_replay
- anything dependent on webrtc_test_common

Targets linking with internal render implementation:
- vie_auto_test
- video_render_tests
- libwebrtcdemo-jni
- video_engine_core_unittests

GN changes:
- Not many since there is almost no test definitions.

Work-around for chromium:
- Until chromium has updated libpeerconnection to link with video_capture_impl and video_render_impl, webrtc target automatically depends on it. This should fix the FYI bots and not require a webrtc roll to fix.

Re-enable android tests by reverting 7026 (some tests left disabled).

TESTED: passes all the bots. If this inadvertently breaks a target please fix the linking rules so the target has the desired implementation linked in.
BUG=3770
R=kjellander@webrtc.org, pbos@webrtc.org
TBR=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn@7217 4adac7df-926f-26a2-2b94-8c16560cd09d
Add Analyze API to NS

This adds an empty API.
In a next CL I will separate the noise estimation from the Process API and fill this function.

BUG=webrtc:3811
R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn@7218 4adac7df-926f-26a2-2b94-8c16560cd09d
Fix proper deps in BUILD.gn files.
This should make Chrome GN bots happy.

R=kjellander@webrtc.org
TBR=kjellander@webrtc.org
BUG=3768, 3770

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

git-svn-id: http://webrtc.googlecode.com/svn@7219 4adac7df-926f-26a2-2b94-8c16560cd09d
Expose VP8/H264 defaults through video_encoder.h.

Reduces code duplication quite a bit, these identical defaults were set
in quite a few different places.

R=mflodman@webrtc.org, stefan@webrtc.org
BUG=3070

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

git-svn-id: http://webrtc.googlecode.com/svn@7220 4adac7df-926f-26a2-2b94-8c16560cd09d
Adds asan suppresions for rtc_unittests

BUG=N/A
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn@7221 4adac7df-926f-26a2-2b94-8c16560cd09d
Cleanup .gclient_entries to avoid sync problems.

The .gclient_entries file is written after a successful
gclient sync operation and contains paths mapped to URLs for
all DEPS entries that have been synced.
This has been causing problems for users when switching from
the legacy Subversion based checkouts to the new DEPS approach
using a Chromium Git checkout combined with symlinks.

Also it has been discovered that when entries have been
removed from the Chromium DEPS file, subsequent gclient sync
operations fail when it's trying to process those directories.

This CL changes so that .gclient_entries is wiped for the WebRTC
checkout when moving from the legacy SVN to Git.
It also wipes the chromium/.gclient_entries file when a new Chromium
revision is about to be synced, to avoid problems when DEPS entries
have been removed.

BUG=415219
R=agable@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn@7222 4adac7df-926f-26a2-2b94-8c16560cd09d
Trying to fix Chrome FYI bots.

BUG=3831
TBR=perkj

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

git-svn-id: http://webrtc.googlecode.com/svn@7223 4adac7df-926f-26a2-2b94-8c16560cd09d
Do not require synchronization access on the thread if called from rtc::Thread::WrapCurrent.
The synchronization access is unnecessary for rtc::Thread::WrapCurrent (called from JingleThreadWrapper) since JingleThreadWrapper never calls rtc::Thread::Stop or rtc::Thread::Join. Failing to get the access caused crashes in Chrome since rtc::Thread::Current will be NULL when rtc::Thread::WrapCurrent fails.

rtc::ThreadManager::WrapCurrentThread still requires the synchronization access, since I am not sure if the callers (e.g. the plugin) depends on it.

BUG=crbug/413853
R=juberti@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn@7224 4adac7df-926f-26a2-2b94-8c16560cd09d
Avoid writing a double/float to a string to avoid a crash.

BUG=crbug/367223
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn@7225 4adac7df-926f-26a2-2b94-8c16560cd09d
Remove the 'webrtc_test_video_render_dependencies' target.

This target is no longer needed and is causing linking errors on XCode.

R=andresp@webrtc.org, pbos@webrtc.org

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

Patch from Alexandre Gouaillard <agouaillard@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn@7226 4adac7df-926f-26a2-2b94-8c16560cd09d
(Auto)update libjingle 75818332-> 75837294

git-svn-id: http://webrtc.googlecode.com/svn@7227 4adac7df-926f-26a2-2b94-8c16560cd09d
Revert maximum video codec resolution on Android back to 720p again.

Some low end Android devices still have problems with 1080p support.

BUG=3757
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn@7228 4adac7df-926f-26a2-2b94-8c16560cd09d
Update iOS video capture to use non-deprecated APIs.

BUG=3626
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn@7229 4adac7df-926f-26a2-2b94-8c16560cd09d
A few fixes to avoid crash in HW codec on device orientation change.

- Fix video encoder Reset() function to avoid setting codec
resolution to zero.
- Follow SW codec implementation and do not crash when frame
with the resolution different from the encoder resolution arrives.
Instead wait for at least 3 frames with new resolution and
re-initialize the codec. HW codec reset may take much longer
than SW codec, so these 3 frames threshold avoids resetting
codec when outstanding camera frame captured from previous device
orientation arrives.
- Plus some minor changes to make encoder reset/release
implementation closer to decoder implementation.

BUG=
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn@7230 4adac7df-926f-26a2-2b94-8c16560cd09d