Commit Graph

18491 Commits

Author SHA1 Message Date
3427f538de Relanding: Move "max IPv6 networks" logic to BasicPortAllocator, and fix sorting.
Relanding because the broken chromium test has been fixed:
https://chromium-review.googlesource.com/582196

This CL moves the responsibility for restricting the number of IPv6
interfaces used for ICE to BasicPortAllocator. This is the right place
to do it in the first place; it's where all the rest of the filtering
occurs. And NetworkManager shouldn't need to know about ICE limitations;
only the ICE classes should.

Part of the reason I'm doing this is that I want to add a
"max_ipv6_networks" API to RTCConfiguration, so that applications can
override the default easily (see linked bug). But that means that
PeerConnection would need to be able to call "set_max_ipv6_networks" on
the underlying object that does the filtering, and that method isn't
available on the "NetworkManager" base class. So rather than adding
another method to a place it doesn't belong, I'm moving it to the place
it does belong.

In the process, I noticed that "CompareNetworks" is inconsistent with
"SortNetworks"; the former orders interfaces alphabetically, and the
latter reverse-alphabetically. I believe this was unintentional, and
results in undesirable behavior (like "eth1" being preferred over
"eth0"), so I'm fixing it and adding a test.

BUG=webrtc:7703

Review-Url: https://codereview.webrtc.org/2983213002
Cr-Original-Commit-Position: refs/heads/master@{#19112}
Committed: ad9561404c
Review-Url: https://codereview.webrtc.org/2983213002
Cr-Commit-Position: refs/heads/master@{#19159}
2017-07-26 23:09:33 +00:00
58f1725ff1 Add gn dependency between ana_debug_dump_proto and ana_config_proto.
BUG=chromium:746106

Review-Url: https://codereview.webrtc.org/2985853002
Cr-Commit-Position: refs/heads/master@{#19158}
2017-07-26 21:49:20 +00:00
74544f9d1b Return translated position in MouseCursorMonitor
This change returns translated position in the newly added overload
MouseCursorMonitor::Callback::OnMouseCursorPosition(DesktopVector) callback.

Meanwhile it also reduces the duplicate logic in Windows capturer
implementations. So except for the deprecated logic in MouseCursorMonitorWin,
all GetSystemMetrics() function calls are merged into GetScreenRect(),
GetFullscreenRect() and GetFullscreenTopLeft() functions.

Bug: webrtc:7950
Change-Id: Ic2a85a80b6947367bdd20d8f96f11e0f5c269006
Reviewed-on: https://chromium-review.googlesource.com/581951
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19157}
2017-07-26 20:38:14 +00:00
54c721541d Fix issues with NetworkMonitor singleton when used by multiple clients.
When you create multiple "PeerConnectionFactory"s, they end up using
the same NetworkMonitor singleton. But the second one's
"AndroidNetworkMonitor" class (in C++) wasn't getting the expected
network list update, and as a result it wasn't binding sockets to
networks successfully, acting as if the networks didn't exist.

The solution is just to move "updateActiveNetworkList" to
"startMonitoring". This CL also does some other minor
cleanup/refactoring, and fixes a more corner-casey issue where, if the
first PeerConnection is destroyed, the second one would stop receiving
network updates.

BUG=webrtc:7946

Review-Url: https://codereview.webrtc.org/2990693002
Cr-Commit-Position: refs/heads/master@{#19156}
2017-07-26 18:56:49 +00:00
8e245561f2 Disable SeqNumUnwrapper death tests to avoid breaking downstream builds.
BUG=None
TBR=stefan@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2985083002
Cr-Commit-Position: refs/heads/master@{#19155}
2017-07-26 15:43:53 +00:00
7956c0f2f6 Implemented a new sequence number unwrapper in sequence_number_util.h.
There is already an Unwrapper in webrtc/modules/include/module_common_types.h,
but we reimplemented it in sequence_number_util.h for a few reasons:
 - Such a class belongs in sequence_number_util.h.
 - It is a cleaner implementation since we can use the rest of
   sequence_number_util.h functionality.
 - You can choose at which number the unwrapped sequence should start,
   which is used to avoid the edge case when a backward wrap can happen
   as the first few numbers are unwrapped.
 - This unwrapper can unwrap numbers that does not wrap 8/16/32 bits.

BUG=None

Review-Url: https://codereview.webrtc.org/2977603002
Cr-Commit-Position: refs/heads/master@{#19154}
2017-07-26 14:48:15 +00:00
8de1826b6d Reland "Allow AudioSendStream to reconfig AudioNetworkAdaptor"
BUG=b/63898232, b/64053465

Originally Reviewed-on: https://chromium-review.googlesource.com/584707

Reverted-on: https://chromium-review.googlesource.com/586268
Change-Id: I212b0c1e81a6ccd73b051e6728e601a8641463b8
Reviewed-on: https://chromium-review.googlesource.com/586328
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Michael T <tschumim@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19153}
2017-07-26 14:28:51 +00:00
edd6cec1c4 Roll chromium_revision 4dc4bd62ba..1236993289 (489546:489596)
Change log: 4dc4bd62ba..1236993289
Full diff: 4dc4bd62ba..1236993289

Changed dependencies:
* src/base: dcd053913c..44c5e75972
* src/ios: db015c6d0b..9048d6dfd6
* src/third_party: 164b8e8343..578852cd3e
* src/tools: f8483e6ed1..f414f8a210
DEPS diff: 4dc4bd62ba..1236993289/DEPS

No update to Clang.

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2992513002
Cr-Commit-Position: refs/heads/master@{#19152}
2017-07-26 10:40:33 +00:00
7df370b69c Revert "Allow AudioSendStream to reconfig AudioNetworkAdaptor"
This reverts commit 4a88120e9568e48ba6e9b12045d56d745da2f34a.

Reason for revert: Found a mistake.

Original change's description:
> Allow AudioSendStream to reconfig AudioNetworkAdaptor
> 
> Bug: b/63898232, b/64053465
> Change-Id: I3485c35c0b74c0e2d654f8d70de0238a617a0ddc
> Reviewed-on: https://chromium-review.googlesource.com/584707
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Michael T <tschumim@webrtc.org>
> Commit-Queue: Minyue Li <minyue@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#19150}

TBR=minyue@webrtc.org,solenberg@webrtc.org,tschumim@webrtc.org

Change-Id: I7f6fdefac91bb119f528f117cb6ab6569202ee9a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/63898232, b/64053465
Reviewed-on: https://chromium-review.googlesource.com/586268
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19151}
2017-07-26 10:01:50 +00:00
4a88120e95 Allow AudioSendStream to reconfig AudioNetworkAdaptor
Bug: b/63898232, b/64053465
Change-Id: I3485c35c0b74c0e2d654f8d70de0238a617a0ddc
Reviewed-on: https://chromium-review.googlesource.com/584707
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Michael T <tschumim@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19150}
2017-07-26 09:48:59 +00:00
abbc430ea0 Make ~webrtc::AudioSendStream public, and s/config()/GetConfig(), as well as make public.
BUG=None

Review-Url: https://codereview.webrtc.org/2987763003
Cr-Commit-Position: refs/heads/master@{#19149}
2017-07-26 09:09:44 +00:00
22d162dc61 Roll chromium_revision 226fdf1148..4dc4bd62ba (489501:489546)
Change log: 226fdf1148..4dc4bd62ba
Full diff: 226fdf1148..4dc4bd62ba

Changed dependencies:
* src/base: 6ca1b700b8..dcd053913c
* src/ios: ad9e4232a1..db015c6d0b
* src/testing: 2ddf53c7d8..8aa4104160
* src/third_party: 491dc3b005..164b8e8343
* src/tools: 41dc6844a9..f8483e6ed1
DEPS diff: 226fdf1148..4dc4bd62ba/DEPS

No update to Clang.

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2987903002
Cr-Commit-Position: refs/heads/master@{#19148}
2017-07-26 04:27:23 +00:00
bc88531e38 Roll chromium_revision c92ec9bd3c..226fdf1148 (489455:489501)
Change log: c92ec9bd3c..226fdf1148
Full diff: c92ec9bd3c..226fdf1148

Changed dependencies:
* src/base: 9bf8bad57b..6ca1b700b8
* src/ios: f663fb4b6a..ad9e4232a1
* src/third_party: 0973dec63f..491dc3b005
* src/tools: d48747a333..41dc6844a9
DEPS diff: c92ec9bd3c..226fdf1148/DEPS

No update to Clang.

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2988843002
Cr-Commit-Position: refs/heads/master@{#19147}
2017-07-26 02:07:54 +00:00
b38f38662f Update native plugin dll for turn servers and video.
This CL was modified from work of sharifferdous@ (intern supervised by lliuu@)

BUG=webrtc:7389

Review-Url: https://codereview.webrtc.org/2987723002
Cr-Commit-Position: refs/heads/master@{#19146}
2017-07-25 23:04:31 +00:00
3b673c66a4 Removed file RTCCameraVideoCapturer.mm that isn't needed
Also added post commit review changes.

BUG=webrtc:7898

Review-Url: https://codereview.webrtc.org/2988783002
Cr-Commit-Position: refs/heads/master@{#19145}
2017-07-25 22:48:39 +00:00
b1c9d1de36 Avoid that previous settings in APM are overwritten by WebRtcVoiceEngine
This CL ensures that any previously set nondefault settings in the
audio processing module are not overwritten by the ApplyOptions
method in WebRtcVoiceEngine

BUG=webrtc:8018

Review-Url: https://codereview.webrtc.org/2985633002
Cr-Commit-Position: refs/heads/master@{#19144}
2017-07-25 22:45:24 +00:00
0748277005 Roll chromium_revision f470dd6dfd..c92ec9bd3c (489395:489455)
Change log: f470dd6dfd..c92ec9bd3c
Full diff: f470dd6dfd..c92ec9bd3c

Changed dependencies:
* src/base: eb872ca51d..9bf8bad57b
* src/build: 15b41f4835..b77c52d5dc
* src/ios: 7739ac994d..f663fb4b6a
* src/testing: d0c979542b..2ddf53c7d8
* src/third_party: 1df9ca7902..0973dec63f
* src/third_party/libyuv: d8136924bd..56022ef77f
* src/tools: a211f5ad2b..d48747a333
DEPS diff: f470dd6dfd..c92ec9bd3c/DEPS

No update to Clang.

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2990653002
Cr-Commit-Position: refs/heads/master@{#19143}
2017-07-25 22:22:45 +00:00
d1d6c5a31b Add jamiewalch to OWNERS.
BUG=None

Review-Url: https://codereview.webrtc.org/2989653002
Cr-Commit-Position: refs/heads/master@{#19142}
2017-07-25 21:37:07 +00:00
dba4f946d0 Roll chromium_revision 88beb225b9..f470dd6dfd (489316:489395)
Change log: 88beb225b9..f470dd6dfd
Full diff: 88beb225b9..f470dd6dfd

Changed dependencies:
* src/base: d2ecf406e2..eb872ca51d
* src/build: e8cacac814..15b41f4835
* src/ios: 27e843acc9..7739ac994d
* src/third_party: 51e1c40544..1df9ca7902
* src/tools: a765124b08..a211f5ad2b
DEPS diff: 88beb225b9..f470dd6dfd/DEPS

No update to Clang.

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2988793002
Cr-Commit-Position: refs/heads/master@{#19141}
2017-07-25 19:56:54 +00:00
2f0803cbf2 Roll chromium_revision fd8f995919..88beb225b9 (488572:489316)
Change log: fd8f995919..88beb225b9
Full diff: fd8f995919..88beb225b9

Changed dependencies:
* src/base: ff92886fed..d2ecf406e2
* src/build: 995d75919a..e8cacac814
* src/ios: d8aae3bcad..27e843acc9
* src/testing: 639e83fbfc..d0c979542b
* src/third_party: 6fc19207c5..51e1c40544
* src/third_party/catapult: e11a4d0d82..b5d2ffa3c5
* src/third_party/libyuv: 7bffe5e1c5..d8136924bd
* src/third_party/robolectric/robolectric: 2a0b6ba221..0ccaf33cf6
* src/tools: 50cda24eac..a765124b08
* src/tools/gyp: eb296f67da..d61a9397e6
DEPS diff: fd8f995919..88beb225b9/DEPS

Clang version changed 307486:308728
Details: fd8f995919..88beb225b9/tools/clang/scripts/update.py

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2985843002
Cr-Commit-Position: refs/heads/master@{#19140}
2017-07-25 18:40:43 +00:00
61b0ed039d [iOS] Fix incorrectly oriented frames when rapidly switching between cameras.
During a call, with both phones in horizontal or landscape mode, rapidly switching between the front and back camera sometimes causes the remote video to be shown upside down.

There seems to be a race condition when setting the rotation based on the orientation of the device and which camera we're using.

So use the active input's camera to check instead of the client state.

BUG=webrtc:7898

Review-Url: https://codereview.webrtc.org/2964703002
Cr-Commit-Position: refs/heads/master@{#19139}
2017-07-25 16:35:55 +00:00
96b69bdbee Refactor composing report blocks for rtcp Sender/Receiver reports.
Compose them while creating sr/rr instead of presaving in temporary
member variable

BUG=webrtc:5565, webrtc:8016

Review-Url: https://codereview.webrtc.org/2979413002
Cr-Commit-Position: refs/heads/master@{#19138}
2017-07-25 16:15:14 +00:00
7fb11d7376 Shrink critical-section scope in ReceiveStatisticsImpl::GetActiveStatisticians()
The critical-section's scope can be shrunk (we can hold the lock for a shorter time).

BUG=None

Review-Url: https://codereview.webrtc.org/2984973002
Cr-Commit-Position: refs/heads/master@{#19137}
2017-07-25 15:25:23 +00:00
6209dcdeb1 Add SetReportBlocks to rtcp Sender/Receive Report classes.
BUG=None

Review-Url: https://codereview.webrtc.org/2991623002
Cr-Commit-Position: refs/heads/master@{#19136}
2017-07-25 15:07:13 +00:00
fb143127d7 Reland of Injectable Obj-C video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2980173002/ )
Reason for revert:
Relanding after fixing issues with no video.

Original issue's description:
> Revert of Injectable Obj-C video codecs (patchset #2 id:370001 of https://codereview.webrtc.org/2979983002/ )
>
> Reason for revert:
> Still having problems with no video. Reverting.
> Once no video is visible, no video is available from then on even if the callee app is in the foreground.
>
>
> Original issue's description:
> > Reland of Injectable Obj-C video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2979973002/ )
> >
> > Reason for revert:
> > Fix the broken build file
> >
> > Original issue's description:
> > > Revert of Injectable Obj-C video codecs (patchset #3 id:400001 of https://codereview.webrtc.org/2981583002/ )
> > >
> > > Reason for revert:
> > > Breaks bots. Build file incorrect.
> > >
> > > Original issue's description:
> > > > Reland of Injectable Obj-C video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2975963002/ )
> > > >
> > > > Reason for revert:
> > > > New CL for fixing the issues
> > > >
> > > > Original issue's description:
> > > > > Revert of Injectable Obj-C video codecs (patchset #8 id:140001 of https://codereview.webrtc.org/2966023002/ )
> > > > >
> > > > > Reason for revert:
> > > > > Causes no video in certain scenarios. Please come up with a test plan or unit test to prevent such problems in the future.
> > > > >
> > > > > Original issue's description:
> > > > > > Injectable Obj-C video codecs
> > > > > >
> > > > > > Initial CL for this effort, with a working RTCVideoEncoder/Decoder for H264
> > > > > > (wrapping the VideoToolbox codec).
> > > > > >
> > > > > > Some notes / things left to do:
> > > > > >   - There are some hard-coded references to codec types that are supported by
> > > > > >     webrtc::VideoCodec, cricket::VideoCodec, webrtc::CodecSpecificInfo etc
> > > > > >     since we need to convert to/from these types in ObjCVideoEncoder/Decoder.
> > > > > >     These types would need to be more codec agnostic to avoid this.
> > > > > >   - Most interfaces are borrowed from the design document for injectable
> > > > > >     codecs in Android. Some data in the corresponding C++ classes is discarded
> > > > > >     when converting to the Obj-C version, since it has fewer fields. I have not
> > > > > >     verified whether all data that we do keep is needed, or whether we might be
> > > > > >     losing anything useful in these conversions.
> > > > > >   - Implement the VideoToolbox codec code directly in the RTCVideoEncoderH264
> > > > > >     classes, instead of wrapping webrtc::H264VideoToolboxEncoder / decoder.
> > > > > >     Eliminates converting between ObjC/C++ types outside the ObjCVideoEncoder/
> > > > > >     Decoder wrapper classes.
> > > > > >   - List the injected codec factory's supported codecs in the list of codecs in
> > > > > >     AppRTCMobile.
> > > > > >
> > > > > > BUG=webrtc:7924
> > > > > > R=magjed@webrtc.org
> > > > > >
> > > > > > Review-Url: https://codereview.webrtc.org/2966023002 .
> > > > > > Cr-Commit-Position: refs/heads/master@{#18928}
> > > > > > Committed: a0349c138d
> > > > >
> > > > > TBR=magjed@webrtc.org,andersc@webrtc.org
> > > > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > > > BUG=webrtc:7924
> > > > > NOTRY=true
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2975963002
> > > > > Cr-Commit-Position: refs/heads/master@{#18979}
> > > > > Committed: 1095ada7ad
> > > >
> > > > R=magjed@webrtc.org
> > > > TBR=tkchin@webrtc.org
> > > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > > NOPRESUBMIT=true
> > > > NOTREECHECKS=true
> > > > NOTRY=true
> > > > BUG=webrtc:7924
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2981583002 .
> > > > Cr-Commit-Position: refs/heads/master@{#19002}
> > > > Committed: a5f1de1e65
> > >
> > > TBR=magjed@webrtc.org,tkchin@webrtc.org,jtteh@webrtc.org,andersc@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:7924
> > >
> > > Review-Url: https://codereview.webrtc.org/2979973002
> > > Cr-Commit-Position: refs/heads/master@{#19004}
> > > Committed: 81d40ee149
> >
> > TBR=magjed@webrtc.org,tkchin@webrtc.org,jtteh@webrtc.org,sprang@webrtc.org
> > BUG=webrtc:7924
> >
> > Review-Url: https://codereview.webrtc.org/2979983002
> > Cr-Commit-Position: refs/heads/master@{#19005}
> > Committed: 732a3437da
>
> TBR=magjed@webrtc.org,tkchin@webrtc.org,sprang@webrtc.org,haysc@webrtc.org,andersc@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7924
>
> Review-Url: https://codereview.webrtc.org/2980173002
> Cr-Commit-Position: refs/heads/master@{#19036}
> Committed: 860f729816

TBR=magjed@webrtc.org,tkchin@webrtc.org,sprang@webrtc.org,haysc@webrtc.org,andersc@webrtc.org,jtteh@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7924

Review-Url: https://codereview.webrtc.org/2977213002
Cr-Commit-Position: refs/heads/master@{#19135}
2017-07-25 14:55:58 +00:00
83377270dc Remove deprecated RtpRtcp::SetAudioPacketSize
was deprecated in https://codereview.webrtc.org/2545753002

BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2986793002
Cr-Commit-Position: refs/heads/master@{#19134}
2017-07-25 14:46:54 +00:00
e264a9ee9c Rename isolated_output to test_output and add a method to get the test_output directory.
BUG=none

TBR=kjellander@webrtc.org

patch from issue 2990533002 at patchset 1 (http://crrev.com/2990533002#ps1)
Already lgtm'ed in original issue. This only fixes trivial compilation errors.

Review-Url: https://codereview.webrtc.org/2989613002
Cr-Commit-Position: refs/heads/master@{#19133}
2017-07-25 14:31:18 +00:00
d5e3d0f958 Creating a more generic memcheck suppression
Chromium roll into WebRTC is failing because of a memcheck error.
The tool suggests to add this suppression:

{
   <insert_a_suppression_name_here>
   Memcheck:Uninitialized
   fun:vfprintf
   fun:vsnprintf
   fun:snprintf
   fun:_ZN7testing9internal220PrintBytesInObjectToEPKhmPSo
   fun:_ZN7testing8internal14Default...
   fun:_ZN7testing8internal20MatchPrint...
   fun:_ZNK7testing8internal29Predicate...
}

This CL tries to remove some duplication using a more generic pattern.

BUG=webrtc:6773
NOTRY=True

Review-Url: https://codereview.webrtc.org/2991643002
Cr-Commit-Position: refs/heads/master@{#19132}
2017-07-25 14:30:06 +00:00
42f44f9cf6 Get rid of unnecessary cast of FlexfecReceiveStreamImpl to FlexfecReceiveStream
BUG=None

Review-Url: https://codereview.webrtc.org/2967913002
Cr-Commit-Position: refs/heads/master@{#19131}
2017-07-25 13:40:06 +00:00
59cac99c9a Report minimum PSNR in VideoQualityTest and save corresponding frame to file
BUG=none

Review-Url: https://codereview.webrtc.org/2976373002
Cr-Commit-Position: refs/heads/master@{#19130}
2017-07-25 12:45:03 +00:00
d3f3c3497b Remove NullObjectReceiveStatistics() in rtp_rtcp module
use (already supported) nullptr as indication for no statistics

BUG=webrtc:8016

Review-Url: https://codereview.webrtc.org/2983363002
Cr-Commit-Position: refs/heads/master@{#19129}
2017-07-25 11:20:12 +00:00
a04d9c31a0 Remove RtpRtcp::RemoteRTCPStat(RTCPSenderInfo*) as unused
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2986543002
Cr-Commit-Position: refs/heads/master@{#19128}
2017-07-25 11:03:39 +00:00
d0727bfd45 Fix NSInteger formatting warning from clang 6
"error: values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead"
Casting to long is already a common practice in the code base.

This has been blocking the Chromium roll which contains an update to clang 6.0.0

BUG=None

Review-Url: https://codereview.webrtc.org/2987693002
Cr-Commit-Position: refs/heads/master@{#19127}
2017-07-25 09:04:58 +00:00
1e64cfae53 Fix autoroller in accordance to upstream change
This broke WebRTC's presubmit
e79ddeaabf%5E%21/

GClientKeywords has been removed and replaced with a more direct substitution.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2989603002
Cr-Commit-Position: refs/heads/master@{#19126}
2017-07-25 08:57:17 +00:00
ec390b5dfb When a track is added/removed directly to MediaStream notify observer->OnRenegotionNeeded
There is an inconsistency in behavior of PeerConnection.
When I remove track from PeerConnection observer->OnRenegotiationNeeded is called, however if I remove track from MediaStream then there is no notification to renegotiate.
This patch adds missing OnRenegotiationNeeded calls.

BUG=webrtc:7966

Review-Url: https://codereview.webrtc.org/2977493002
Cr-Commit-Position: refs/heads/master@{#19125}
2017-07-25 00:00:25 +00:00
d083e851f6 Remove traces from {send,receive}_statistics_proxy.cc
These traces will be traced instead when getStats()
is called by JavaScript.

BUG=chromium:653087

Review-Url: https://codereview.webrtc.org/2972393002
Cr-Commit-Position: refs/heads/master@{#19124}
2017-07-24 16:00:13 +00:00
65e1f9476a Throttle log message in FrameBuffer.
BUG=webrtc:7551

Review-Url: https://codereview.webrtc.org/2987673002
Cr-Commit-Position: refs/heads/master@{#19123}
2017-07-24 15:26:53 +00:00
c43d565873 Remove setting configuration parameter to itself.
when creating RtpRtcp module for video send stream.

BUG=webrtc:8016

Review-Url: https://codereview.webrtc.org/2979363002
Cr-Commit-Position: refs/heads/master@{#19122}
2017-07-24 15:13:34 +00:00
cc8b906467 iOS AppRTCMobile: Close peerconnection when disconnecting
We currently don't close the peerconnection before deallocing. That
could potentially cause race conditions if it's still being processed on
other threads.

BUG=webrtc:7976

Review-Url: https://codereview.webrtc.org/2976983002
Cr-Commit-Position: refs/heads/master@{#19121}
2017-07-24 14:32:33 +00:00
e029d99f19 Integer overflow bug in low_cut_filter.
A multiplication result doesn't fit in an int32_t type. This change
rewrites the code to avoid the overflowing multiplication.

Here y[0], y[1] are int16 numbers containing the (truncated) topmost
18 and (scaled Q2 to use the full int16) the least significant 13
bits of a 32-bit value. The change makes y[1] to be calculated 
directly instead of using y[0] as an intermediate value. 

TESTED=this change passes the bit exactness tests, and has also been 
running on the audio_processing fuzzer with a CHECK comparing the
old and new value.

Bug: chromium:747202
Change-Id: Iafc69eb7391d494afdadf65f5b7f399a57bbe9a8
Reviewed-on: https://chromium-review.googlesource.com/580907
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19120}
2017-07-24 11:03:46 +00:00
fe43df155c Ignore NewApi Android Lint warning + Roll chromium_revision
Ignore NewApi and InlinedApi Android Lint warnings.
They will be enabled once platform-tools is rolled. See crbug.com/739746.

This is needed because of 6e3237729a

Roll chromium_revision 1238950005..fd8f995919 (488218:488572)

Change log: 1238950005..fd8f995919
Full diff: 1238950005..fd8f995919

Changed dependencies:
* src/base: 9590d17c3d..ff92886fed
* src/build: 36a077c7b3..995d75919a
* src/ios: 342e327240..d8aae3bcad
* src/testing: 718dcd6f4b..639e83fbfc
* src/third_party: 8ac1939776..6fc19207c5
* src/third_party/catapult: c7c5420fbc..e11a4d0d82
* src/third_party/ffmpeg: d19b0ad9b2..97ebed6795
* src/tools: 030de9aca2..50cda24eac
DEPS diff: 1238950005..fd8f995919/DEPS

No update to Clang.

TBR=
NOTRY=True
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2986603002
Cr-Commit-Position: refs/heads/master@{#19119}
2017-07-24 09:51:58 +00:00
bf8202185c Disable some Opus tests pending an update
These tests will be reenabled and updated after Opus has been updated in
Chromium and rolled into WebRTC.

BUG=737323, webrtc:8024

Review-Url: https://codereview.webrtc.org/2963673002
Cr-Commit-Position: refs/heads/master@{#19118}
2017-07-24 09:17:38 +00:00
f3a48ab6dc Delete unused field from AndroidVideoTrackSource
BUG=None

Review-Url: https://codereview.webrtc.org/2974713002
Cr-Commit-Position: refs/heads/master@{#19117}
2017-07-24 08:06:39 +00:00
48e4d6d609 Add zijiehe@chromium.org as OWNERS in WebRTC DesktopCapturer related logic
Bug: chromium:747738
Change-Id: Iff83e89862ee190d0442cb3463c1dea0b87eb4b4
Reviewed-on: https://chromium-review.googlesource.com/582028
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19116}
2017-07-23 21:37:59 +00:00
cd66a771ed Create new constructors and fields to support a better mouse cursor monitor
Current implementation requires MouseCursorMonitor to understand the SourceId of
a DesktopCapturer implementation. But SourceId has different meanings across
various DesktopCapturer implementations. So this change decouples the
MouseCursorMonitor from DesktopCapturer, i.e. it does not need to know
DesktopCapturer anymore, instead it always returns the absolute position of the
mouse cursor. In DesktopAndCursorComposer, it can use the newly added
DesktopFrame::top_left() to decide the relative position of mouse cursor and the
DesktopFrame.

Bug: webrtc:7950
Change-Id: Idfbde5cb0f79ff0acf4ad1e9a0ac5126f1bb2e98
Reviewed-on: https://chromium-review.googlesource.com/575315
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19115}
2017-07-21 22:13:35 +00:00
817c8af52a Revert of Move "max IPv6 networks" logic to BasicPortAllocator, and fix sorting. (patchset #2 id:20001 of https://codereview.webrtc.org/2983213002/ )
Reason for revert:
Breaks IpcNetworkManagerTest.TestMergeNetworkList, because it has built-in assumptions about network ordering that it shouldn't have. Will reland after fixing that test.

Original issue's description:
> Move "max IPv6 networks" logic to BasicPortAllocator, and fix sorting.
>
> This CL moves the responsibility for restricting the number of IPv6
> interfaces used for ICE to BasicPortAllocator. This is the right place
> to do it in the first place; it's where all the rest of the filtering
> occurs. And NetworkManager shouldn't need to know about ICE limitations;
> only the ICE classes should.
>
> Part of the reason I'm doing this is that I want to add a
> "max_ipv6_networks" API to RTCConfiguration, so that applications can
> override the default easily (see linked bug). But that means that
> PeerConnection would need to be able to call "set_max_ipv6_networks" on
> the underlying object that does the filtering, and that method isn't
> available on the "NetworkManager" base class. So rather than adding
> another method to a place it doesn't belong, I'm moving it to the place
> it does belong.
>
> In the process, I noticed that "CompareNetworks" is inconsistent with
> "SortNetworks"; the former orders interfaces alphabetically, and the
> latter reverse-alphabetically. I believe this was unintentional, and
> results in undesirable behavior (like "eth1" being preferred over
> "eth0"), so I'm fixing it and adding a test.
>
> BUG=webrtc:7703
>
> Review-Url: https://codereview.webrtc.org/2983213002
> Cr-Commit-Position: refs/heads/master@{#19112}
> Committed: ad9561404c

TBR=zhihuang@webrtc.org,pthatcher@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7703

Review-Url: https://codereview.webrtc.org/2984853002
Cr-Commit-Position: refs/heads/master@{#19114}
2017-07-21 19:59:46 +00:00
d14d9f7414 Use array declaration for extension URIs.
Allows using sizeof() on the class constants and reduces space usage by
a pointer.

Bug: None
Change-Id: Ie919b13094903d50bdadc92b23a5aa5b6cc100ec
Reviewed-on: https://chromium-review.googlesource.com/581878
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19113}
2017-07-21 19:36:14 +00:00
ad9561404c Move "max IPv6 networks" logic to BasicPortAllocator, and fix sorting.
This CL moves the responsibility for restricting the number of IPv6
interfaces used for ICE to BasicPortAllocator. This is the right place
to do it in the first place; it's where all the rest of the filtering
occurs. And NetworkManager shouldn't need to know about ICE limitations;
only the ICE classes should.

Part of the reason I'm doing this is that I want to add a
"max_ipv6_networks" API to RTCConfiguration, so that applications can
override the default easily (see linked bug). But that means that
PeerConnection would need to be able to call "set_max_ipv6_networks" on
the underlying object that does the filtering, and that method isn't
available on the "NetworkManager" base class. So rather than adding
another method to a place it doesn't belong, I'm moving it to the place
it does belong.

In the process, I noticed that "CompareNetworks" is inconsistent with
"SortNetworks"; the former orders interfaces alphabetically, and the
latter reverse-alphabetically. I believe this was unintentional, and
results in undesirable behavior (like "eth1" being preferred over
"eth0"), so I'm fixing it and adding a test.

BUG=webrtc:7703

Review-Url: https://codereview.webrtc.org/2983213002
Cr-Commit-Position: refs/heads/master@{#19112}
2017-07-21 18:03:53 +00:00
a3251dd83f Add parsing/serializing for MID RTP header extension.
This is the first in a series of CLs to add support for media
identification as part of unified plan SDP.

Bug: webrtc:4050
Change-Id: I0eb5639d240a9a1412c2b047a33d5112e4901f26
Reviewed-on: https://chromium-review.googlesource.com/576374
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19111}
2017-07-21 17:33:25 +00:00
3296256f0e Fixing lint issue
NOTRY=TRUE
BUG=NONE

Review-Url: https://codereview.webrtc.org/2988533002
Cr-Commit-Position: refs/heads/master@{#19110}
2017-07-21 14:28:41 +00:00