11312 Commits

Author SHA1 Message Date
andersc
732a3437da 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}
2017-07-13 15:59:07 +00:00
sprang
81d40ee149 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}
2017-07-13 14:09:39 +00:00
charujain
a117b04113 Revert of Make the default ctor of rtc::Thread, protected (patchset #3 id:40001 of https://codereview.webrtc.org/2981623002/ )
Reason for revert:
Break projects.

Original issue's description:
> Make the default ctor of rtc::Thread, protected.
> The goal is to force use of Thread::Create or Thread::CreateWithSocketServer.
>
> The default constructor constructs a 'default' socket server, which is usually a 'physical' socket server, but not always. Not every instance of Thread actually needs to have network support, so it's better to have this be explicit instead of unknowingly instantiate one.
>
> BUG=none
>
> Review-Url: https://codereview.webrtc.org/2981623002
> Cr-Commit-Position: refs/heads/master@{#19001}
> Committed: a8a3515997

TBR=kthelgason@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none

Review-Url: https://codereview.webrtc.org/2979963002
Cr-Commit-Position: refs/heads/master@{#19003}
2017-07-13 14:06:39 +00:00
Anders Carlsson
a5f1de1e65 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}
2017-07-13 14:03:58 +00:00
tommi
a8a3515997 Make the default ctor of rtc::Thread, protected.
The goal is to force use of Thread::Create or Thread::CreateWithSocketServer.

The default constructor constructs a 'default' socket server, which is usually a 'physical' socket server, but not always. Not every instance of Thread actually needs to have network support, so it's better to have this be explicit instead of unknowingly instantiate one.

BUG=none

Review-Url: https://codereview.webrtc.org/2981623002
Cr-Commit-Position: refs/heads/master@{#19001}
2017-07-13 12:47:25 +00:00
henrika
abcf112ae0 Adds sanity check for sample rate on iOS
BUG=b/62909493

Review-Url: https://codereview.webrtc.org/2978913002
Cr-Commit-Position: refs/heads/master@{#19000}
2017-07-13 11:42:50 +00:00
sprang
f03ea04176 Fix potential incorrect sync flags used with screenshare TL stream.
BUG=webrtc:7980

Review-Url: https://codereview.webrtc.org/2978743002
Cr-Commit-Position: refs/heads/master@{#18999}
2017-07-13 10:53:51 +00:00
tkchin
5e0ed36d74 iOS - Add iceRegatherIntervalRange.
BUG=webrtc:7969

Review-Url: https://codereview.webrtc.org/2976953002
Cr-Commit-Position: refs/heads/master@{#18997}
2017-07-13 09:17:43 +00:00
ilnik
9843695166 Add rtpdump and rtc log functionality to screenshare_loopback and video_loopback
BUG=none

Review-Url: https://codereview.webrtc.org/2974903002
Cr-Commit-Position: refs/heads/master@{#18996}
2017-07-13 07:47:03 +00:00
zijiehe
67e438ffe5 Fix http://crbug.com/741252
The root cause is when a DxgiContext is reseted, it has not been correctly
cleared from DxgiOutputDuplicator. So during next CaptureFrame() function call,
DxgiOutputDuplicator will spread the context change to a deleted instance.

BUG=741252

Review-Url: https://codereview.webrtc.org/2975103002
Cr-Commit-Position: refs/heads/master@{#18992}
2017-07-13 00:29:36 +00:00
hbos
7b0c6fa274 RTCStatsCollector: Get track IDs from senders/receivers instead of
streams.

When addTrack/removeTrack is used instead of addStream/removeStream
we an end up with tracks that are not contained within any local or
remote stream.

If all track IDs are not mapped when we produce RTCRTPStreamStats
we'll hit a DCHECK.

BUG=chromium:741638

Review-Url: https://codereview.webrtc.org/2978793002
Cr-Commit-Position: refs/heads/master@{#18991}
2017-07-12 23:22:34 +00:00
jianj
23173a372b vp9: Use 2 threads for 360p.
BUG=None

Review-Url: https://codereview.webrtc.org/2977843002
Cr-Commit-Position: refs/heads/master@{#18990}
2017-07-12 23:11:09 +00:00
jianj
822e593437 vp9: Turn off FRAME_PARALLEL_DECODING.
This is removed from libvpx.

BUG=None

Review-Url: https://codereview.webrtc.org/2975113002
Cr-Commit-Position: refs/heads/master@{#18989}
2017-07-12 23:09:58 +00:00
zstein
e8ab543589 Make BaseChannel::rtp_transport_ a unique_ptr.
This will eventually be a unique_ptr<RtpTransportInternal> so that we can choose to use an RtpTransport or SrtpTransport.

BUG=None

Review-Url: https://codereview.webrtc.org/2974903003
Cr-Commit-Position: refs/heads/master@{#18987}
2017-07-12 18:48:11 +00:00
minyue-webrtc
9c6430f950 Reland "Adding ANA config event to debug dump."
A revert of the CL was made in https://chromium-review.googlesource.com/c/559429/

Now upstream conflicts have been solved, and this is ready to reland.

TBR=ossu@webrtc.org, tschumim@webrtc.org

Bug: webrtc:7854
Change-Id: Idd08f28cf26036ad91eb7b7f73b2466dd9300f76
Reviewed-on: https://chromium-review.googlesource.com/565507
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18985}
2017-07-12 12:51:37 +00:00
saza
f91b0b49f9 Set memory to all-zero floats in ExtractExtendedBlock in AEC2 if buffer is empty.
This avoids a memcopy call which may corrupt audio handling and, in rare cases, crash WebRTC with a buffer over-read.

BUG=webrtc:7845

Review-Url: https://codereview.webrtc.org/2980723002
Cr-Commit-Position: refs/heads/master@{#18984}
2017-07-12 08:43:14 +00:00
saza
10b0d03673 Removes internal buffer memory check in AEC module.
The check triggered in 30 / 1000 cases of running PeerConnectionIntegrationTest.CallTransferredForCaller locally, far more often than expected.

It will soon be replaced by more graceful handling.

BUG=webrtc:7845

Review-Url: https://codereview.webrtc.org/2975043002
Cr-Commit-Position: refs/heads/master@{#18983}
2017-07-12 07:29:36 +00:00
deadbeef
be7e9c6047 Reland of Make "set_ignore_non_default_routes" actually use its argument. (patchset #1 id:1 of https://codereview.webrtc.org/2974193002/ )
Reason for revert:
Wasn't actually the source of the memcheck issue, so relanding.

Original issue's description:
> Revert of Make "set_ignore_non_default_routes" actually use its argument. (patchset #1 id:1 of https://codereview.webrtc.org/2974873002/ )
>
> Reason for revert:
> Breaks Linux memcheck bot.
> https://bugs.chromium.org/p/webrtc/issues/detail?id=7973
>
> Original issue's description:
> > Make "set_ignore_non_default_routes" actually use its argument.
> >
> > It takes a bool argument, but unconditionally sets the flag to "true".
> > Since no comment is left to offer an explanation, I'm assuming this was
> > an accident.
> >
> > BUG=webrtc:7716
> > TBR=pthatcher@webrtc.org
> >
> > Review-Url: https://codereview.webrtc.org/2974873002
> > Cr-Commit-Position: refs/heads/master@{#18959}
> > Committed: 05314c3252
>
> TBR=pthatcher@webrtc.org,pthatcher@google.com,deadbeef@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7716
>
> Review-Url: https://codereview.webrtc.org/2974193002
> Cr-Commit-Position: refs/heads/master@{#18964}
> Committed: 1e50748d47

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

Review-Url: https://codereview.webrtc.org/2979803002
Cr-Commit-Position: refs/heads/master@{#18982}
2017-07-12 03:07:37 +00:00
deadbeef
8290ddfbce Revert of Delete SignalThread class. (patchset #20 id:380001 of https://codereview.webrtc.org/2915253002/ )
Reason for revert:
Seems to be causing new crashes, possibly because of changes to the "Destroy(false)" behavior. Will re-land after investigating these crashes more and addressing the root cause.

Original issue's description:
> Delete SignalThread class.
>
> Rewrite AsyncResolver to use PlatformThread directly, not
> SignalThread, and update includes of peerconnection client to not
> depend on signalthread.h.
>
> BUG=webrtc:6424,webrtc:7723
>
> Review-Url: https://codereview.webrtc.org/2915253002
> Cr-Commit-Position: refs/heads/master@{#18833}
> Committed: bc8feda1db

TBR=tommi@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org
NOPRESUBMIT=true
NOTRY=true
BUG=webrtc:6424,webrtc:7723

Review-Url: https://codereview.webrtc.org/2979733002
Cr-Commit-Position: refs/heads/master@{#18980}
2017-07-11 23:56:05 +00:00
tkchin
1095ada7ad 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}
2017-07-11 22:46:31 +00:00
Steve Anton
aa41f0cfa6 API for periodically regathering ICE candidates
Adds to the RTCConfiguration `ice_regather_interval_range` which, when
set, specifies the randomized delay between automatic runs of ICE
regathering. The regathering will occur on all networks and re-use the
existing ICE ufrag/password. New connections are established once the
candidates come back and WebRTC will automatically switch to the new
connection that corresponds to the currently selected connection.

Bug: webrtc:7969
Change-Id: I6bbf5439a48e285f704aed9f408631cba038c82b
Reviewed-on: https://chromium-review.googlesource.com/562505
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18978}
2017-07-11 21:49:38 +00:00
Sylvain Defresne
b8e7a7d7df Use correct value for CFBundleExecutable and CFBundleName.
NOTRY=True
TBR=magjed@webrtc.org

Bug: chromium:740980
Change-Id: I017c1632bf58aecad03ca8fb47ca09616bcb90c3
Reviewed-on: https://chromium-review.googlesource.com/567150
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18976}
2017-07-11 19:12:57 +00:00
ossu
950c1c908c TransmitMixer: Check GetSendCodec return value.
BUG=b/62909493

Review-Url: https://codereview.webrtc.org/2973083002
Cr-Commit-Position: refs/heads/master@{#18975}
2017-07-11 15:19:31 +00:00
ilnik
29d0840b5c Reland of Refactor timing frame logic to work with encoders with internal sources (patchset #1 id:1 of https://codereview.webrtc.org/2980533002/ )
BUG=webrtc:7594,webrtc:7893

Review-Url: https://codereview.webrtc.org/2974893002
Cr-Commit-Position: refs/heads/master@{#18974}
2017-07-11 15:08:12 +00:00
tschumim
82c5593cb6 Let alr detector use a budged to detect underuse.
BUG=webrtc:7947

Review-Url: https://codereview.webrtc.org/2965233002
Cr-Commit-Position: refs/heads/master@{#18972}
2017-07-11 13:56:04 +00:00
Ingemar Ådahl
87b6ddb561 Suppress MissingPrefix using tools attribute
Suppressing lint errors using comments is an undocumented feature of the
linter, and suppressing using the tools:ignore attribute should be
preferred.

Suppressing using comments becomes a problem when using the manifest
merger introduced in
6ada47bc79
as it reformats the comments slightly:
  <!--suppress MissingPrefix -->
becomes
  <!-- supress MissingPrefix -->
which causes the linter to disregard the suppression.

Bug: 740657
Change-Id: I8e365744d089271c390254e7c958b24b81043766
Reviewed-on: https://chromium-review.googlesource.com/566860
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Ingemar Ådahl <ingemara@opera.com>
Cr-Commit-Position: refs/heads/master@{#18971}
2017-07-11 13:41:35 +00:00
jianjun.zhu
c024740b5e Use relative paths in GN files.
BUG=webrtc:7952
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2974863003
Cr-Commit-Position: refs/heads/master@{#18970}
2017-07-11 13:20:45 +00:00
tommi
c45d6d9c85 Remove dependency on rtc::Thread and rtc_base from audio_mixer_unittests.
Instead, use a TaskQueue in the only test that required it.

BUG=none

Review-Url: https://codereview.webrtc.org/2975883002
Cr-Commit-Position: refs/heads/master@{#18969}
2017-07-11 13:17:10 +00:00
peah
14c11a4712 Add adaptive notch filter to remove narrowband echo components in AEC3
This CL adds detection of components in the render signal that are of
strong narrowband nature and therefore may cause problems for the AEC.
This CL also adds functionality in the echo suppressor to suppress
these signals

BUG=webrtc:7967

Review-Url: https://codereview.webrtc.org/2980493002
Cr-Commit-Position: refs/heads/master@{#18968}
2017-07-11 13:13:43 +00:00
peah
5e6685ff35 Robustification of the AEC3 echo removal in the first part of the call
This CL robustifies the echo removal in AEC3 during the initial parts
of a call in two ways:
-By extending the period until which a headset is deemed to be used.
-By increasing the assumed echo path gain for unknown echo paths at
higher frequencies.

BUG=webrtc:7971

Review-Url: https://codereview.webrtc.org/2974883002
Cr-Commit-Position: refs/heads/master@{#18967}
2017-07-11 11:19:58 +00:00
sprang
c1abde7e8e Call should allow pass through of keep-alive packets.
Don't force requirement of media type for those packets.

BUG=webrtc:7964

Review-Url: https://codereview.webrtc.org/2973323002
Cr-Commit-Position: refs/heads/master@{#18966}
2017-07-11 10:56:21 +00:00
henrika
7fc3f15686 Now uses CallStaticObjectMethodV to an variable argument list argument
BUG=webrtc:7965

Review-Url: https://codereview.webrtc.org/2974913002
Cr-Commit-Position: refs/heads/master@{#18965}
2017-07-11 10:52:09 +00:00
sprang
1e50748d47 Revert of Make "set_ignore_non_default_routes" actually use its argument. (patchset #1 id:1 of https://codereview.webrtc.org/2974873002/ )
Reason for revert:
Breaks Linux memcheck bot.
https://bugs.chromium.org/p/webrtc/issues/detail?id=7973

Original issue's description:
> Make "set_ignore_non_default_routes" actually use its argument.
>
> It takes a bool argument, but unconditionally sets the flag to "true".
> Since no comment is left to offer an explanation, I'm assuming this was
> an accident.
>
> BUG=webrtc:7716
> TBR=pthatcher@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2974873002
> Cr-Commit-Position: refs/heads/master@{#18959}
> Committed: 05314c3252

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

Review-Url: https://codereview.webrtc.org/2974193002
Cr-Commit-Position: refs/heads/master@{#18964}
2017-07-11 10:45:59 +00:00
sprang
e5c4a810e2 Move RTP keep-alive config from VideoSendStream::Config to Call::Config
This makes more sense since logically it's a transport level feature,
not a media stream feature. Even if the implementation details forces it
to be an rtp stream detail, for the moment.

BUG=webrtc:7907

Review-Url: https://codereview.webrtc.org/2978503002
Cr-Commit-Position: refs/heads/master@{#18963}
2017-07-11 10:44:17 +00:00
peah
2910357621 Transparency improvements in the echo canceller 3
This CL adds two changes:
-Adaptive adjustment of the echo suppression to both cover the cases
when the echo path well covers the room, and when when it does not.
-Identification of the case when the echo is too low to be audible
and adaptive handling of this case in the echo suppression.

BUG=webrtc:7519, webrtc:7956,webrtc:7957

Review-Url: https://codereview.webrtc.org/2974583004
Cr-Commit-Position: refs/heads/master@{#18962}
2017-07-11 09:54:02 +00:00
ilnik
863f03ba38 Fix video_replay tool to respect RTX stream and fix default parameters.
Defaults are consistent with these used in CallTest.

BUG=none

Review-Url: https://codereview.webrtc.org/2972423002
Cr-Commit-Position: refs/heads/master@{#18961}
2017-07-11 09:38:36 +00:00
deadbeef
d8cf08f166 Don't call CreateDtlsTransport_n from non-network thread in WebRtcSession
I'm not sure if it's possible to hit this code any more, but better
safe than sorry.

BUG=webrtc:7714
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2978573002
Cr-Commit-Position: refs/heads/master@{#18960}
2017-07-11 03:06:59 +00:00
deadbeef
05314c3252 Make "set_ignore_non_default_routes" actually use its argument.
It takes a bool argument, but unconditionally sets the flag to "true".
Since no comment is left to offer an explanation, I'm assuming this was
an accident.

BUG=webrtc:7716
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2974873002
Cr-Commit-Position: refs/heads/master@{#18959}
2017-07-11 02:52:28 +00:00
eladalon
48956a195c Remove unused headers from remote_bitrate_estimator_single_stream.cc
BUG=None

Review-Url: https://codereview.webrtc.org/2980473003
Cr-Commit-Position: refs/heads/master@{#18958}
2017-07-10 19:46:25 +00:00
ilnik
0b1e2f3279 Revert of Refactor timing frame logic to work with encoders with internal sources (patchset #2 id:20001 of https://codereview.webrtc.org/2968153002/ )
Reason for revert:
Failing chromoting tests

Original issue's description:
> Refactor timing frame logic to work with encoders with internal sources
>
> BUG=webrtc:7594,webrtc:7893
>
> Review-Url: https://codereview.webrtc.org/2968153002
> Cr-Commit-Position: refs/heads/master@{#18955}
> Committed: a7a4535a35

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

Review-Url: https://codereview.webrtc.org/2980533002
Cr-Commit-Position: refs/heads/master@{#18957}
2017-07-10 19:25:29 +00:00
Noah Richards
bc8ee33658 Remove verbose logs from audio_coding_module.cc.
PlayoutFrequency(), at least, is called ~200 times a second. The others
appear to not be in practice, but it's unclear what value they serve.

They were traces before https://chromium-review.googlesource.com/c/518133/,
which was more reasonable, as you could enable them for just audio
coding traces. But now that they are just logs, they make all VERBOSE
logging unusable.

Bug: webrtc:7959
Change-Id: I190a61c8ff4c0f047798087e80adbb41d791fc29
Reviewed-on: https://chromium-review.googlesource.com/563881
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Noah Richards <noahric@chromium.org>
Cr-Commit-Position: refs/heads/master@{#18956}
2017-07-10 17:36:28 +00:00
ilnik
a7a4535a35 Refactor timing frame logic to work with encoders with internal sources
BUG=webrtc:7594,webrtc:7893

Review-Url: https://codereview.webrtc.org/2968153002
Cr-Commit-Position: refs/heads/master@{#18955}
2017-07-10 17:03:23 +00:00
sprang
d2702ef110 Fix flaky test VideoSendStreamTest.SendsKeepAlive
Since the keep-alive payload type is not registered in the payload type
map of FakeNetworkPipe, it will cause a DCHECK to trigger unless we're
able to destroy the call before that.

Just register it in the fake network as media type "any", it will be
discarded early on the receive side anyway.

BUG=webrt:7964

Review-Url: https://codereview.webrtc.org/2979543002
Cr-Commit-Position: refs/heads/master@{#18953}
2017-07-10 15:41:10 +00:00
ehmaldonado
370dd47973 Revert of Remove remains of webrtc/base (patchset #7 id:120001 of https://codereview.webrtc.org/2973183002/ )
Reason for revert:
Breaks lots of downstream projects.

Original issue's description:
> Remove remains of webrtc/base
>
> All downstream code have been updated to the new location.
>
> In PRESUBMIT.py:
> * Remove webrtc/rtc_base from CPP_BLACKLIST
> * Add webrtc/rtc_base to LEGACY_API_DIRS
>
> Fix some duplicated paths in
> webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn
>
> BUG=webrtc:7634
> TBR=kwiberg@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2973183002
> Cr-Commit-Position: refs/heads/master@{#18948}
> Committed:
9483b49baf

TBR=kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7634

Review-Url: https://codereview.webrtc.org/2976633002
Cr-Commit-Position: refs/heads/master@{#18949}
2017-07-10 12:58:42 +00:00
ehmaldonado
9483b49baf Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2973183002
Cr-Commit-Position: refs/heads/master@{#18948}
2017-07-10 11:50:54 +00:00
eladalon
6c9556e7f1 Prevent warnings in PacketRouterTest and PacketRouterRembTest
Change MockRtpRtcp to NiceMock<MockRtpRtcp> throughout PacketRouterTest and PacketRouterRembTest (12 tests in total), to suppress a large number of warnings which are currently ignored.

BUG=None

Review-Url: https://codereview.webrtc.org/2977533002
Cr-Commit-Position: refs/heads/master@{#18946}
2017-07-10 10:33:00 +00:00
magjed
6cc25614a9 Remove webrtc::VideoEncoderFactory
Replace the use of webrtc::VideoEncoderFactory with
cricket::WebRtcVideoEncoderFactory and remove the adapter classes
between these two factory types.

Some code changes were necessary in order to accomplish this:
 * Move SimulcastEncoderAdapter from
   webrtc/modules/video_coding/codecs/vp8 to webrtc/media/engine (that's
   where it's used).
 * Rename simulcast_unittest.h to simulcast_test_utility.h and make it
   into it's own target, because it's used from both
   simulcast_unittest.cc and simulcast_encoder_adapter_unittest.cc.
 * Remove ownership of the encoder factory from SimulcastEncoderAdapter,
   and make the necessary changes in surrounding code.

The goal with this CL is to clean up the code, and also to free up
the name webrtc::VideoEncoderFactory for future use.

BUG=webrtc:7925

Review-Url: https://codereview.webrtc.org/2964953002
Cr-Commit-Position: refs/heads/master@{#18945}
2017-07-10 10:26:36 +00:00
minyue-webrtc
c453b08f1e Adding log in OrtcFactoryIntegrationTest and fix a bug.
BUG=webrtc:7915

Change-Id: I89aa48d9a182cf86cf59dc438c9095eb8ab38c58
Reviewed-on: https://chromium-review.googlesource.com/558421
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18944}
2017-07-10 10:00:30 +00:00
minyue-webrtc
0b249c24bf Refactor gunit for synergy to gtest.
BUG=webrtc:7958

Change-Id: I83ff689cef022967e6c58df5eaee8de6fc5cdba8
Reviewed-on: https://chromium-review.googlesource.com/563311
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18943}
2017-07-10 10:00:30 +00:00
mbonadei
539d104e3e Revert of Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on wt (patchset #2 id:20001 of https://codereview.webrtc.org/2964863002/ )
Reason for revert:
It breaks a downstream project.

Original issue's description:
> Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on the worker thread.
>
> Added documentation of thread expectations for video tracks and sources to the API.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2964863002
> Cr-Commit-Position: refs/heads/master@{#18938}
> Committed: f1377f7222

TBR=deadbeef@webrtc.org,noahric@chromium.org,yujo@chromium.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=None

Review-Url: https://codereview.webrtc.org/2979493003
Cr-Commit-Position: refs/heads/master@{#18942}
2017-07-10 09:40:49 +00:00