Implement the proper peer connection audio sink adapter.

This CL also implements AddSink()/RemoveSink() interface for the AudioTrackInterface interface, and it will create one PeerConnectionAudioSinkAdapter per each peer connection and pass the data to peer connection sink in libjingle. 

And this code does not run in production until we enable the APM in chrome.


BUG=334273
TEST=content_unittests --gtest_filter="*WebRtcLocalAudioTrackAdapter*"

Review URL: https://codereview.chromium.org/163913008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253400 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253400
Implement MediaStreamVideoSource using video capturerers in Chrome.

This cl deprecates the use of the old RTCVideoCapturer that inherits cricket::VideoCapturer from libjingle and moves the constraints parsing of video resolution from libjingle to Chrome in MediaStreamVideoSource. Other, none standard,  constraints such as CPU adaptation etc are still parsed in libjingle.

Note that we still rely on the libjingle video track implementation to forward frames from the source to all its sinks. WebRtcVideoCapturerAdapter is added that implements cricket::VideoCapturer and this is currently used to forward video frames from MediaStreamVideoSource to the libjingle MediaStreamVideoTracks. 


Before this change a video frame was delivered to a PeerConnection via
RtcVideoCaptureDelegate-> RtcVideoCapturer(cricket::VideoCapturer>->WebRtcVideoEngineChannel(in libjingle)
After this change:
VideoCaptureDelegate->MediaStreamVideoSource->WebRtcVideoCaptureAdapter(cricket::VideoCapturer)->WebRtcVideoEngineChannel(in libjingle)

MediaStreamVideoSource is intended to be a generic source implementation that can be used for local video capture, remote video sources and Nacl. The reason to have constraints parsing in MediaStreamVideoSource is because we can then implement scaling/cropping etc for different tracks regardless of the source type. ie- it would be possible to crop video data from a remote video track if so is requested.

Adding tbr jam for gypi changes.
TBR=jam

BUG=247937

Review URL: https://codereview.chromium.org/144083002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253401 0039d316-1c4b-4281-b951-d872f2087c98
Trigger use of CoreAnimation at startup

Request that the new tab button have a layer. This will trigger the
initialization of CoreAnimation when the browser is displayed, without
pulling in any of the new CoreAnimation codepaths.

The effect that this has on performance likely represents the
unavoidable cost of using CoreAnimation.

Once we have decided what to do with with this performance change, we
can pull in the code that actually uses CoreAnimation to draw tab
contents.

BUG=245900
NOTRY=True (mac_chromium_rel is bogus)

Review URL: https://codereview.chromium.org/179213002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253402 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253401
SVN changes up to revision 253402