Cleanup RTCVideoRenderer interface.

RTCVideoRenderer should be a protocol not a class. This change includes
an adapter for use with the C++ apis. The video views have been refactored
to implement that protocol.

BUG=3795
R=glaznev@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7627 4adac7df-926f-26a2-2b94-8c16560cd09d
Revert 7625 "Don't use DCHECK when you need the side effects..."

Reverting since 7623 might depend on this one

> Don't use DCHECK when you need the side effects...
> 
> R=pbos@webrtc.org
> TBR=henrik.lundin@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/32369004

TBR=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7628 4adac7df-926f-26a2-2b94-8c16560cd09d
Revert 7623 "Remove the state_ member from AudioDecoder"

Breaks Chrome compile:
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(169) : error C3867: 'webrtc::NetEqImpl::GetAudioInternal': function call missing argument list; use '&webrtc::NetEqImpl::GetAudioInternal' to create a pointer to member
...

> Remove the state_ member from AudioDecoder
> 
> The subclasses that need a state pointer should declare them---with
> the right type, not void*, to get rid of all those casts.
> 
> Two small but not quite trivial cleanups are included because they
> blocked the state_ removal:
> 
>   - AudioDecoderG722Stereo now inherits directly from AudioDecoder
>     instead of being a subclass of AudioDecoderG722.
> 
>   - AudioDecoder now has a CngDecoderInstance member function, which
>     is implemented only by AudioDecoderCng. This replaces the previous
>     practice of calling AudioDecoder::state() and casting the result
>     to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
>     plainly visible in the AudioDecoder class declaration.
> 
> R=henrik.lundin@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/24169005

TBR=kwiberg@webrtc.org

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

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

BUG=
R=kjellander@webrtc.org, tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7630 4adac7df-926f-26a2-2b94-8c16560cd09d
Roll chromium_revision d3db2ff..375f736

Mainly to bring in https://codereview.chromium.org/636083002
updates to opus.

Relevant changes (https://chromium.googlesource.com/chromium/src/+/d3db2ff..375f736/DEPS)
* buildtools: 6bc51af..1ca1f25
* third_party/libsrtp: 98284c8..6446144
* tools/gyp: a61e860..b13d8f2
* tools/swarming_client: bcb3bc3..41036ec

Clang version was not updated in this roll.

BUG=
R=marpan@google.com

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

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