The IceEndpointType has the format of <local_endpoint>_<remote_endpoint>. It is recorded on the BestConnection when we have the first OnTransportCompleted signaled.
BUG=webrtc:4918
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1277263002 .
Cr-Commit-Position: refs/heads/master@{#9737}
Adapter enumeration disable should be a concept from Network. Network will be hooked up with media permission (mic/camera) to check whether gathering local address is allowed.
BUG=crbug.com/520101
R=juberti@webrtc.org, pthatcher@webrtc.org
Committed: ba9ab4cd8d
Review URL: https://codereview.webrtc.org/1284113003 .
Cr-Commit-Position: refs/heads/master@{#9735}
This is more a formality than anything since scoped_ptr.h is already being included from rtc_base_approved code.
BUG=
R=magjed@webrtc.org
Review URL: https://codereview.webrtc.org/1287203007 .
Cr-Commit-Position: refs/heads/master@{#9732}
This CL adds calculation and logging of average excess buffer delay
and number of delayed packet outage events per minute.
The first is the average of time spent in the packet buffer for all
packets. The average is calculated for intervals of one minute, and
the result is logged to the UMA stat
WebRTC.Audio.AverageExcessBufferDelayMs.
The second is a counter of delayed packet outage events that is
restarted every minute, and the result is logged to the UMA stat
WebRTC.Audio.DelayedPacketOutageEventsPerMinute. For a description of
delayed packet outages, see previous CL implementing a duration log
for these events.
BUG=webrtc:4915, chromium:488124
R=minyue@webrtc.org
Review URL: https://codereview.webrtc.org/1287333005 .
Cr-Commit-Position: refs/heads/master@{#9731}
This reverts commit 0a2955f227666efd87b2a303a69c083ef801c528.
Revert "In the past, P2PPortAllocator.enable_multiple_routes is the indicator whether we should bind to the any address. It's easy to translate that into a port allocator flag in P2PPortAllocator's ctor. Going forward, we have to depend on an asynchronous permission check to determine whether gathering local address is allowed or not, hence the current way of passing it through constructor approach won't work any more. The asynchronous check will trigger SignalNetowrksChanged so we could only check that inside DoAllocate."
This reverts commit ba9ab4cd8d2e8fbc068dc36b5e6f6331d7deeccf.
TBR=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1288843003 .
Cr-Commit-Position: refs/heads/master@{#9729}
Adapter enumeration disable should be a concept from Network. Network will be hooked up with media permission (mic/camera) to check whether gathering local address is allowed.
BUG=crbug.com/520101
R=juberti@webrtc.org, pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1284113003 .
Cr-Commit-Position: refs/heads/master@{#9728}
Measures the duration of each packet loss concealment (a.k.a. expand)
event that is not followed by a merge operation.
Having decoded and played packet m−1, the next expected packet is
m. If packet m arrives after some time of packet loss concealment, we
have a delayed packet outage event. However, if instead packet n>m
arrives, we have a lost packet outage event. In NetEq, the two outage
types results in different operations. Both types start with expand
operations to generate audio to play while the buffer is empty. When a
lost packet outage happens, the expand operation(s) are followed by
one merge operation. For delayed packet outages, merge is not done,
and the expand operations are immediately followed by normal
operations.
This change also includes unit tests for the new statistics.
BUG=webrtc:4915, chromium:488124
R=minyue@webrtc.org
Review URL: https://codereview.webrtc.org/1290113002 .
Cr-Commit-Position: refs/heads/master@{#9725}
This change relates to the matlab tool rtpAnalyze. With this change,
RTP packets with payload types 72 through 76 are removed. In IETF
RFC3551, section "Payload Type Definitions", this range is marked as
reserved so that RTCP and RTP packets can be reliably distinguished.
BUG=webrtc:2692
TBR=tina.legrand@webrtc.org
NOTRY=true
Review URL: https://codereview.webrtc.org/1284423006
Cr-Commit-Position: refs/heads/master@{#9724}
LTO was disabled due to a GCC compiler bug that does not affect LLVM.
This fixes the build in the cfi_vptr==1 configuration, which requires LLVM LTO.
TBR=pcc@google.com
BUG=chromium:469376
patch from issue 1295663002 at patchset 1 (http://crrev.com/1295663002#ps1)
Review URL: https://codereview.webrtc.org/1294293003 .
Patch from Peter Collingbourne <pcc@google.com>.
Cr-Commit-Position: refs/heads/master@{#9721}
Bug 4865: even without STUN/TURN, as long as the peer is on the open internet, the connectivity should work. This is actually a regression even for hangouts.
We need to issue the 0.0.0.0 candidate into Port::candidates_ and filter it out later. The reason is that when we create connection, we need a local candidate to match the remote candidate.
The same connection later will be updated with the prflx local candidate once the STUN ping response is received.
BUG=webrtc:4865
R=juberti@webrtc.org
Committed: 38f8893235
Review URL: https://codereview.webrtc.org/1274013002 .
Cr-Commit-Position: refs/heads/master@{#9717}
Add events to Android VideoRendererGui implementation to
optionally report first rendered frame and video frame
dimension changes.
R=wzh@webrtc.org
Review URL: https://codereview.webrtc.org/1292293002 .
Cr-Commit-Position: refs/heads/master@{#9715}
- Integrates intelligibility into audio_processing.
- Allows modification of reverse stream if intelligibility enabled.
- Makes intelligibility available in audioproc_float test.
- Adds reverse stream processing to audioproc_float.
- (removed) Makes intelligibility toggleable in real time in voe_cmd_test.
- Cleans up intelligibility construction, parameters, constants and dead code.
TBR=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1234463003
Cr-Commit-Position: refs/heads/master@{#9713}
There is currently no way to dispose VideoRendererGui or VideoRendererGui.YuvImageRenderer. This CL adds functions to do so.
BUG=webrtc:4892
Review URL: https://codereview.webrtc.org/1273803002
Cr-Commit-Position: refs/heads/master@{#9710}
Bug 4865: even without STUN/TURN, as long as the peer is on the open internet, the connectivity should work. This is actually a regression even for hangouts.
We need to issue the 0.0.0.0 candidate into Port::candidates_ and filter it out later. The reason is that when we create connection, we need a local candidate to match the remote candidate.
The same connection later will be updated with the prflx local candidate once the STUN ping response is received.
BUG=webrtc:4865
R=juberti@webrtc.org
Review URL: https://codereview.webrtc.org/1274013002 .
Cr-Commit-Position: refs/heads/master@{#9708}
This will prevent it from blocking network input when it falls behind,
which is happening when running with ThreadSanitizer.
BUG=webrtc:4663
Review URL: https://codereview.webrtc.org/1236023010
Cr-Commit-Position: refs/heads/master@{#9707}
Some members are accessed from the video processing thread for the
VoEVideoSync interface, and thus need to be protected. This is a
problem that TSan sometimes reports.
Also moved UpdatePlayoutTimestamp to private section since
it's only needed internally. And renamed least_required_delay_ms
to LeastRequiredDelayMs, since it no longer just returns a cached
value.
BUG=webrtc:4663
Review URL: https://codereview.webrtc.org/1263223002
Cr-Commit-Position: refs/heads/master@{#9706}
Reason for revert:
AppRTCDemo often crashes in loopback mode and incorrect layout when connection is established
BUG=webrtc:4909,webrtc:4910
Original issue's description:
> AppRTCDemo: Render each video in a separate SurfaceView
>
> This CL introduces a new org.webrtc.VideoRenderer.Callbacks implementation called SurfaceViewRenderer that renders each video stream in its own SurfaceView. AppRTCDemo is updated to use this new rendering.
>
> This CL also does the following changes:
> * Make the VideoRenderer.Callbacks interface asynchronous and require that renderFrameDone() is called for every renderFrame(). In JNI, this is implemented with cricket::VideoFrame::Copy()/delete.
> * Make public static helper functions: convertScalingTypeToVisibleFraction(), getDisplaySize(), and getTextureMatrix().
> * Introduces new helper functions surfaceWidth()/surfaceHeight() in EGlBase that allows to query the surface size.
> * Introduce PercentFrameLayout that implements the percentage layout that is used by AppRTCDemo.
>
> BUG=webrtc:4742
>
> Committed: https://crrev.com/05bfbe47ef6bcc9ca731c0fa0d5cd15a4f21e93f
> Cr-Commit-Position: refs/heads/master@{#9699}
TBR=glaznev@webrtc.org,wzh@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4742
Review URL: https://codereview.webrtc.org/1286133002
Cr-Commit-Position: refs/heads/master@{#9703}
It should work now as the packet limit in the jitter buffer has been increased.
BUG=webrtc:4889
Review URL: https://codereview.webrtc.org/1272153002
Cr-Commit-Position: refs/heads/master@{#9700}
This CL introduces a new org.webrtc.VideoRenderer.Callbacks implementation called SurfaceViewRenderer that renders each video stream in its own SurfaceView. AppRTCDemo is updated to use this new rendering.
This CL also does the following changes:
* Make the VideoRenderer.Callbacks interface asynchronous and require that renderFrameDone() is called for every renderFrame(). In JNI, this is implemented with cricket::VideoFrame::Copy()/delete.
* Make public static helper functions: convertScalingTypeToVisibleFraction(), getDisplaySize(), and getTextureMatrix().
* Introduces new helper functions surfaceWidth()/surfaceHeight() in EGlBase that allows to query the surface size.
* Introduce PercentFrameLayout that implements the percentage layout that is used by AppRTCDemo.
BUG=webrtc:4742
Review URL: https://codereview.webrtc.org/1257043004
Cr-Commit-Position: refs/heads/master@{#9699}
DtlsIdentityStoreImpl is updated to take KeyType into account, something which will be relevant after this CL lands:
https://codereview.webrtc.org/1189583002
The DtlsIdentityService[Interface] classes are about to be removed (to be removed when Chromium no longer implements and uses the interface). This was an unnecessary layer of complexity. The FakeIdentityService is now instead a FakeDtlsIdentityStore.
Where a service was previously passed around, a store is now passed around.
Identity generation is now commonly performed using DtlsIdentityStoreInterface. Previously, if a service was not specified, WebRtcSessionDescriptionFactory could fall back on its own generation code. Now, a store has to be provided for generation to occur.
For more information about the steps being taken to land this without breaking Chromium, see referenced bug.
BUG=webrtc:4899
R=magjed@webrtc.org, tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1176383004 .
Cr-Commit-Position: refs/heads/master@{#9696}
This CL makes sure the methods are always called on the correct thread.
Review URL: https://codereview.webrtc.org/1235263003
Cr-Commit-Position: refs/heads/master@{#9688}