AudioBuffer: Optimize const accesses to arrays that autoconvert int16<->float

Specifically, when someone asks for a const pointer to the int16
version of the array, there's no need to invalidate the float version
of that array, and vice versa. (But obviously, invalidation still has
to happen when someone asks for a non-const pointer.)

R=aluebs@webrtc.org, andrew@webrtc.org, minyue@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6726 4adac7df-926f-26a2-2b94-8c16560cd09d
Restart VideoReceiveStreams in WebRtcVideoEngine2.

Puts VideoReceiveStreams in a wrapper, WebRtcVideoReceiveStream that
contain their state (configs). WebRtcVideoRenderer (the wrapper between
webrtc::VideoRenderer and cricket::VideoRenderer) has also been merged
into WebRtcVideoReceiveStream.

Implements and tests setting codecs with new FEC settings as well as RTP
header extensions on already existing receive streams.

BUG=1788
R=pthatcher@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6727 4adac7df-926f-26a2-2b94-8c16560cd09d
Sleep in ThreadTest thread functions.

Prevents busy loops that really mess up Valgrind's thread scheduling,
this brings runtimes from up to minutes down to milliseconds.

BUG=
R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6728 4adac7df-926f-26a2-2b94-8c16560cd09d
Initial WebRtcVideoEngine2::GetStats().

Also forward-declaring and moving WebRtcVideoRenderer out of header.

BUG=1788
R=pthatcher@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6729 4adac7df-926f-26a2-2b94-8c16560cd09d
This is related to an earlier CL of enabling Opus 48 kHz.
https://webrtc-codereview.appspot.com/16619005/

It was reverted due to a build bot error, which this CL is to fix. The problem was that when audio conference mixer receives audio frames all at 48 kHz and mixed them, it uses Audio Processing Module (APM) to do a post-processing. However the APM cannot handle 48 kHz input. The current solution is not to allow the mixer to output 48 kHz.

TEST=locally solved https://webrtc-codereview.appspot.com/16619005/

BUG=
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6730 4adac7df-926f-26a2-2b94-8c16560cd09d
Disable GetStats on DrMemory.

Flakes/fails on DrMemory Full just like the implementation in
webrtcvideoengine.cc.

BUG=3482
R=sprang@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6731 4adac7df-926f-26a2-2b94-8c16560cd09d
Fix crash in AudioDeviceUtilityIOS::~AudioDeviceUtilityIOS.

BUG=3581
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6732 4adac7df-926f-26a2-2b94-8c16560cd09d
Runtime guard for iOS7 property.

BUG=3487
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6733 4adac7df-926f-26a2-2b94-8c16560cd09d
Creates the default track if the remote media content is send-only and there is no stream in the SDP.

BUG=2628
R=wu@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6735 4adac7df-926f-26a2-2b94-8c16560cd09d
This is to re-open an earlier CL

https://webrtc-codereview.appspot.com/16619005/

which is reverted due to an issue in audio conference mixer.

This issue has been solved in
https://webrtc-codereview.appspot.com/20779004/

BUG=webrtc:3155
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6736 4adac7df-926f-26a2-2b94-8c16560cd09d
Reland r6707 with the fix for callclient.cc.

TBR=mallinath@webrtc.org
BUG=3310

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6739 4adac7df-926f-26a2-2b94-8c16560cd09d
Revert "Reland r6707 with the fix for callclient.cc."

Breaking pulse build again.
This reverts commit 3e0bb9b5bf7f616000399e24f1d9622ad6b612f9.

TBR=wu@webrtc.org
BUG=3310

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6741 4adac7df-926f-26a2-2b94-8c16560cd09d
Ignore empty data in DataChannel::Send to match FF's behavior.

BUG=crbug/395205
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6742 4adac7df-926f-26a2-2b94-8c16560cd09d
Implement Base::ConstrainNewCodec2.

BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6743 4adac7df-926f-26a2-2b94-8c16560cd09d
Check before send/receive rtp header extensions.

BUG=1788
R=pbos@webrtc.org, tommi@webrtc.org, wu@webrtc.org

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

Patch from Changbin Shao <changbin.shao@intel.com>.

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