Reason for revert:
Broke the Windows build:
[226/365] LINK_EMBED cc_perftests.exe
FAILED: ninja -t msvc -e environment.x86 -- E:\b\build\goma/gomacc "E:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\remoting\protocol\remoting_unittests.channel_socket_adapter_unittest.obj.rsp /c ..\..\remoting\protocol\channel_socket_adapter_unittest.cc /Foobj\remoting\protocol\remoting_unittests.channel_socket_adapter_unittest.obj /Fdobj\remoting\remoting_unittests.cc.pdb
e:\b\build\slave\win\build\src\remoting\protocol\channel_socket_adapter_unittest.cc(36) : error C3861: 'set_readable': identifier not found
ninja: build stopped: subcommand failed.
Original issue's description:
> Replace readable with receiving where receiving means receiving anything (stun ping, response or data packet).
> If a connection does not receive for 30 seconds, it will be deleted.
> BUG=
>
> Committed: https://crrev.com/ae16f8547d3b447f62f6660f13688585c6c3de15
> Cr-Commit-Position: refs/heads/master@{#10001}
TBR=pthatcher@webrtc.org,honghaiz@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.webrtc.org/1356103002
Cr-Commit-Position: refs/heads/master@{#10002}
If a connection does not receive for 30 seconds, it will be deleted.
BUG=
Review URL: https://codereview.webrtc.org/1351673003
Cr-Commit-Position: refs/heads/master@{#10001}
The Android camera api requires a surface to be set in order work. In https://codereview.webrtc.org/1354683004/ this surfaceTexture was removed as a member but it turns out that can lead to camera freezes when the device is rotated. This cl re-adds the surface as a member.
BUG= webrtc:5021, webrtc:5003
R=magjed@webrtc.org
Review URL: https://codereview.webrtc.org/1349433003 .
Cr-Commit-Position: refs/heads/master@{#9999}
This change the PeerConnectionTest.doTest wait for at least one ice candidate and also make sure the list of candidates in gotIceCandidates is synchronized.
BUG=webrtc:5010
Review URL: https://codereview.webrtc.org/1354913002
Cr-Commit-Position: refs/heads/master@{#9997}
Video capture for android is now implemented in talk/app/webrtc/androidvideocapturer.h
BUG=webrtc:4475
Review URL: https://codereview.webrtc.org/1347083003
Cr-Commit-Position: refs/heads/master@{#9995}
Getting rid of TransportProxy, and in its place adding a
TransportController class which will facilitate access to and manage
the lifetimes of Transports. These Transports will now be accessed
solely from the worker thread, simplifying their implementation.
This refactoring also pulls Transport-related code out of BaseSession.
Which means that BaseChannels will now rely on the TransportController
interface to create channels, rather than BaseSession.
This CL also adds some unit tests, and does some renaming.
For example, from "CandidateReady" to "CandidateGathered".
Review URL: https://codereview.webrtc.org/1246913005
Cr-Commit-Position: refs/heads/master@{#9993}
To make this possible padding only packets will have the same timestamp
as the previously sent media packet, as long as RTX is not enabled. This
has the side effect that if we send only padding for a long time without
sending media, a receive-side jitter buffer could potentially overflow.
In practice this shouldn't be an issue, partly because RTX is recommended and
used by default, but also because padding typically is terminated before being
received by a client. It is also not an issue for bandwidth estimation as long
as abs-send-time is used instead of toffset.
BUG=chromium:425925
R=mflodman@webrtc.org, sprang@webrtc.org, tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1327933003 .
Cr-Commit-Position: refs/heads/master@{#9984}
Starts by removing channel/engine id from ViEChannel which propagates
down to the RTP/RTCP module as well as the transport class.
IncomingVideoStream::RenderFrame() is untouched for now but receives a
fake id instead of the previous channel id. Added a TODO to remove it
later but the RenderFrame call is implemented in a lot of
platform-dependent files and should probably remove the "manager" aspect
of renderers, so preferring to do it separately
BUG=webrtc:1695
R=henrika@webrtc.org, mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1335353005 .
Cr-Commit-Position: refs/heads/master@{#9978}
WebRtcPassthroughRender has been dead since webrtcvideoengine.cc was
removed, FakeExternalTransport has probably been unused for a long time.
BUG=webrtc:1695
R=henrika@webrtc.org
Review URL: https://codereview.webrtc.org/1343393003 .
Cr-Commit-Position: refs/heads/master@{#9968}
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.
Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.
BUG=chromium:468375
NOTRY=true
Review URL: https://codereview.webrtc.org/1335923002
Cr-Commit-Position: refs/heads/master@{#9964}
Part of work removing dependency on Chromium's base.
Only adds "= delete". From https://codereview.chromium.org/1151443003 :
"This will guarantee the error to be at compile time, and not rely on the call visibility (private)."
In consequence of that change, fixed an illegal copy and removed a bunch of unused variables.
Depends on https://codereview.webrtc.org/1345433002/
BUG=chromium:468375
(in particular comment #37)
NOTRY=true
Review URL: https://codereview.webrtc.org/1342543004
Cr-Commit-Position: refs/heads/master@{#9954}
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.
* DISALLOW_ASSIGN -> RTC_DISALLOW_ASSIGN
* DISALLOW_COPY_AND_ASSIGN -> RTC_DISALLOW_COPY_AND_ASSIGN
* DISALLOW_IMPLICIT_CONSTRUCTORS -> RTC_DISALLOW_IMPLICIT_CONSTRUCTORS
Related CL: https://codereview.webrtc.org/1335923002/
BUG=chromium:468375
NOTRY=true
Review URL: https://codereview.webrtc.org/1345433002
Cr-Commit-Position: refs/heads/master@{#9953}
This CL should not do any functional changes. It removes some redundant arguments and unnecessary error checking.
BUG=webrtc:4993
R=glaznev@webrtc.org
Review URL: https://codereview.webrtc.org/1338943003 .
Cr-Commit-Position: refs/heads/master@{#9950}
Reason for revert:
Breaks goma (??!??!?)
Original issue's description:
> Bailing out if pc factory fails to get created.
>
> This prevents us from continuing if we fail initialization.
> The failure will happen closer to its source, rather than
> when we try to create the first peer connection.
>
> BUG=None
> R=glaznev@webrtc.org
>
> Committed: https://crrev.com/6eb75d9e67f02c256436eb96f3c77026486561a1
> Cr-Commit-Position: refs/heads/master@{#9948}
TBR=glaznev@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None
Review URL: https://codereview.webrtc.org/1344363002
Cr-Commit-Position: refs/heads/master@{#9949}
This prevents us from continuing if we fail initialization.
The failure will happen closer to its source, rather than
when we try to create the first peer connection.
BUG=None
R=glaznev@webrtc.org
Review URL: https://codereview.webrtc.org/1339923004 .
Cr-Commit-Position: refs/heads/master@{#9948}
Need to figure out the best way to initialize native logging system
while peer connection factory is not created yet.
R=jiayl@webrtc.org
Review URL: https://codereview.webrtc.org/1343163003 .
Cr-Commit-Position: refs/heads/master@{#9947}
Currently disposing Java peer connection object will result in auto
release of media streams and media tracks added to peer connection.
Add an option to allow application to own video track so it can be
kept after peer connection is destroyed.
R=jiayl@webrtc.org, wzh@webrtc.org
Review URL: https://codereview.webrtc.org/1333363002 .
Cr-Commit-Position: refs/heads/master@{#9946}
I'm not super happy with the GetVoE() function added on MediaEngineInterface, but this will eventually be gone, once webrtc::Call owns the shared VoE state (or initially, maps ADM* to an implicitly created VoE).
BUG=webrtc:4690
R=pbos@webrtc.org, pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1269863005 .
Cr-Commit-Position: refs/heads/master@{#9939}
Add new helper class to create and synchronize access to SurfaceTextures. The plan is replace the SurfaceTexture in MediaCodecVideoDecoder in a follow-up CL and remove the SurfaceTexture.updateTexImage() call in VideoRendererGui.
BUG=webrtc:4993
R=hbos@webrtc.org
Review URL: https://codereview.webrtc.org/1342713003 .
Cr-Commit-Position: refs/heads/master@{#9938}
Future log messages should all be sent to org.webrtc.Logging as well.
BUG=
Review URL: https://codereview.webrtc.org/1338033003
Cr-Commit-Position: refs/heads/master@{#9936}
Incoming frames usually have an epoch of time since the capturer was
created or similar, not any fixed-time epoch. As such, setting a new
capturer resulted in delivering frames with older timestamps which
caused these frames to be dropped before encoding.
BUG=webrtc:4994
R=stefan@webrtc.orgTBR=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1345473002
Cr-Commit-Position: refs/heads/master@{#9934}
It is possible that cameraThreadHandler is null upon calling
switchCamera(). This CL adds a guard against that.
Review URL: https://codereview.webrtc.org/1325333003
Cr-Commit-Position: refs/heads/master@{#9925}
Part of work removing dependency on Chromium's base.
Only adds "= delete". From https://codereview.chromium.org/1151443003 :
"This will guarantee the error to be at compile time, and not rely on the call visibility (private)."
In consequence of that change, fixed an illegal copy and removed a bunch of unused variables.
BUG=chromium:468375 (in particular comment #37)
NOTRY=true
Review URL: https://codereview.webrtc.org/1316363005
Cr-Commit-Position: refs/heads/master@{#9913}
These were accidentally disabled due to checking ssrcs_.size() (which
includes RTX SSRCs) instead of rtp.ssrcs.size() to determine whether a
stream is simulcast or not.
BUG=webrtc:4965
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1318193003 .
Cr-Commit-Position: refs/heads/master@{#9907}
An option was added to voe_cmd_test to make a RtcEventLog dump.
BUG=webrtc:4741
Review URL: https://codereview.webrtc.org/1267683002
Cr-Commit-Position: refs/heads/master@{#9901}