Report total bitrate for all streams in GetStats.

This regression wasn't caught because I accidentally disabled multiple
streams for EndToEndTest.GetStats in a refactoring.

R=stefan@webrtc.org, xians@webrtc.org
BUG=1667

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7701 4adac7df-926f-26a2-2b94-8c16560cd09d
cricket::VideoAdapter: Drop frames before spending time converting/scaling, not after.

In VideoCapturer::OnFrameCaptured, we currently convert cricket::CapturedFrame to cricket::VideoFrame and then send that to VideoAdapter::AdaptFrame. AdaptFrame may then decide to drop the frame. It would be faster to drop the frame before converting to cricket::VideoFrame.

This CL refactors VideoAdapter with a new function AdaptFrameResolution that takes captured resolution as input and output adapted resolution, or 0x0 if the frame should be dropped. Using that function, frames can be dropped before any conversion takes place.

R=fbarchard@google.com, perkj@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7702 4adac7df-926f-26a2-2b94-8c16560cd09d
Revert 7702 "cricket::VideoAdapter: Drop frames before spending ..."

Rease for revert: failed internal test cases

> cricket::VideoAdapter: Drop frames before spending time converting/scaling, not after.
> 
> In VideoCapturer::OnFrameCaptured, we currently convert cricket::CapturedFrame to cricket::VideoFrame and then send that to VideoAdapter::AdaptFrame. AdaptFrame may then decide to drop the frame. It would be faster to drop the frame before converting to cricket::VideoFrame.
> 
> This CL refactors VideoAdapter with a new function AdaptFrameResolution that takes captured resolution as input and output adapted resolution, or 0x0 if the frame should be dropped. Using that function, frames can be dropped before any conversion takes place.
> 
> R=fbarchard@google.com, perkj@webrtc.org, tommi@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/29949004

TBR=magjed@webrtc.org

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

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

Looks like this test exposes a bug in jitter buffer after enabling
multiple streams. Will disable to be able to debug it in peace and not
have to revert.

TBR=stefan@webrtc.org
BUG=4014

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7704 4adac7df-926f-26a2-2b94-8c16560cd09d
Wrap the splitting filter in its own class

This doesn't change the behavior at all.
The logic behind this is having one class which manages all the splitting filters, because in the future we plan to add a 3 band one for 48kHz support.
It also breaks the dependency of the AudioBuffer with the filter states of these filters (which are going to be different for the 3 band one). The AudioBuffer is complicated enough and is going to need changes to support 3 bands in the future, so any simplification is a good idea.
On top of that it eliminates repeated code in the APM (now only iterating over channels, but then also deciding in how many bands to split). This should be managed by the AudioBuffer directly.

BUG=webrtc:3146
R=bjornv@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7705 4adac7df-926f-26a2-2b94-8c16560cd09d
Revert 7693 "Add jmi field for packets discarded due to network error" breaks chromium's webrtc_cases.

TBR=guoweis@webrtc.org

BUG=N/A

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

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