864 Commits

Author SHA1 Message Date
kjellander
e40a7ee007 GN: Exclude suppressions of Chromium Clang warnings for Chromium builds.
These suppressions are causing GN errors when Chromium targets are depending
directly on WebRTC targets (needed for https://codereview.chromium.org/2413103004)

BUG=webrtc:4256
NOTRY=True

Review-Url: https://codereview.webrtc.org/2408133008
Cr-Commit-Position: refs/heads/master@{#14644}
2016-10-17 06:56:20 +00:00
erikchen
e606a172d4 Remove deprecated Gestalt methods.
Gestalt has been deprecated since macOS 10.8, and it's always been overkill for
finding the macOS version anyways. uname works fine.

BUG=webrtc:6027

Review-Url: https://codereview.webrtc.org/2391633004
Cr-Commit-Position: refs/heads/master@{#14589}
2016-10-10 18:19:22 +00:00
nisse
c7901c6491 Delete macsocketserver.h and related files.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2369013002
Cr-Commit-Position: refs/heads/master@{#14571}
2016-10-07 12:57:26 +00:00
ehmaldonado
2334b70851 Add support for component builds on Windows Swarming. Attempt 2
Some run time dependencies on MSVC were missing and had to be added to rtc_base_approved.

TBR=kjellander@webrtc.org
BUG=chromium:497757
NOTRY=True

Review-Url: https://codereview.webrtc.org/2402613002
Cr-Commit-Position: refs/heads/master@{#14566}
2016-10-07 09:47:45 +00:00
ehmaldonado
23345594e0 Revert of Add support for component builds on Windows Swarming. (patchset #2 id:100001 of https://codereview.webrtc.org/2389133002/ )
Reason for revert:
Causes compile errors.
https://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/8646/steps/generate_build_files/logs/stdio

Original issue's description:
> Add support for component builds on Windows Swarming.
>
> Some runtime dependencies on MSVC were missing and had to be added to rtc_base_approved.
>
> BUG=chromium:497757
> NOTRY=True
>
> Committed: https://crrev.com/66d4ce93244d17eb52a409dde036fe9114937651
> Cr-Commit-Position: refs/heads/master@{#14562}

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:497757

Review-Url: https://codereview.webrtc.org/2400953002
Cr-Commit-Position: refs/heads/master@{#14563}
2016-10-07 07:32:02 +00:00
ehmaldonado
66d4ce9324 Add support for component builds on Windows Swarming.
Some runtime dependencies on MSVC were missing and had to be added to rtc_base_approved.

BUG=chromium:497757
NOTRY=True

Review-Url: https://codereview.webrtc.org/2389133002
Cr-Commit-Position: refs/heads/master@{#14562}
2016-10-07 07:27:13 +00:00
nisse
8e7577c468 Revert of Delete transformadapter.cc and transformadapter.h. (patchset #2 id:20001 of https://codereview.webrtc.org/2368243002/ )
Reason for revert:
This change broke a downstream application.

Original issue's description:
> Delete transformadapter.cc and transformadapter.h.
>
> BUG=webrtc:6424
>
> Committed: https://crrev.com/2c3c3e27321e4b616bd1222857b2882befc485e3
> Cr-Commit-Position: refs/heads/master@{#14541}

TBR=perkj@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:6424

Review-Url: https://codereview.webrtc.org/2400443003
Cr-Commit-Position: refs/heads/master@{#14543}
2016-10-06 08:37:42 +00:00
nisse
2c3c3e2732 Delete transformadapter.cc and transformadapter.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2368243002
Cr-Commit-Position: refs/heads/master@{#14541}
2016-10-06 08:23:17 +00:00
erikchen
2ca8d5c430 Remove deprecated FSRef-manipulation methods.
The replacement methods had already been added to applefilesystem.mm, they just
weren't being used on macOS.

BUG=webrtc:6028

Review-Url: https://codereview.webrtc.org/2395593002
Cr-Commit-Position: refs/heads/master@{#14535}
2016-10-05 23:04:39 +00:00
skvlad
efc5ae94f9 Fixed flaky SharedExclusiveLock tests.
These tests were checking the behavior of thread synchronization
primitives using nothing but carefully timed sleeps. This was very
unreliable and prone to flakes.

This CL replaces the sleeps with waiting on synchronization events.
There is still the need to wait for timeouts when testing for negative
outcomes, but it's greatly reduced. I've run these tests for thousands
of iterations on MSan without a single failure.

BUG=webrtc:5824
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2393023002 .

Cr-Commit-Position: refs/heads/master@{#14534}
2016-10-05 22:58:18 +00:00
Magnus Jedvert
62b1c35d30 Android: Move layout measure code from SurfaceViewRenderer to RendererCommon
BUG=webrtc:6470
R=sakal@webrtc.org

Review URL: https://codereview.webrtc.org/2386253003 .

Cr-Commit-Position: refs/heads/master@{#14526}
2016-10-05 13:56:17 +00:00
ivoc
1f5a368978 Readded a check to see if STRICT_HTTP_ERROR is defined before using it's value.
NOTRY=true
BUG=webrtc:6424
TBR=perkj@webrtc.org,pthatcher@webrtc.org,nisse@webrtc.org

Review-Url: https://codereview.webrtc.org/2391133003
Cr-Commit-Position: refs/heads/master@{#14521}
2016-10-05 08:58:19 +00:00
nisse
81e007aee9 Delete profiler.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2374033002
Cr-Commit-Position: refs/heads/master@{#14519}
2016-10-05 08:45:59 +00:00
ivoc
3324cf751a Revert of Delete unused code httprequest, httpclient, and socketpool. (patchset #3 id:40001 of https://codereview.webrtc.org/2366333002/ )
Reason for revert:
This CL breaks some downstream dependencies (contact me for more info).

Original issue's description:
> Delete unused code httprequest, httpclient, and socketpool.
>
> BUG=webrtc:6424
>
> Committed: https://crrev.com/4a255be3790a040cae2f6182ed70b7dd38c6839e
> Cr-Commit-Position: refs/heads/master@{#14514}

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

Review-Url: https://codereview.webrtc.org/2397673002
Cr-Commit-Position: refs/heads/master@{#14518}
2016-10-05 08:23:21 +00:00
nisse
8a72369c2a Delete multipart.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2374013003
Cr-Commit-Position: refs/heads/master@{#14517}
2016-10-05 08:16:34 +00:00
nisse
4a255be379 Delete unused code httprequest, httpclient, and socketpool.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2366333002
Cr-Commit-Position: refs/heads/master@{#14514}
2016-10-05 06:29:55 +00:00
nisse
91e1a1abef Delete winfirewall.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2365363003
Cr-Commit-Position: refs/heads/master@{#14511}
2016-10-05 06:26:31 +00:00
nisse
2de66fe1c9 Delete unused file versionparsing.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2373003002
Cr-Commit-Position: refs/heads/master@{#14510}
2016-10-05 06:25:05 +00:00
kwiberg
5377bc77cc Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere
The former is always defined (by webrtc/base/checks.h) to either 0 or
1, whereas the latter isn't necessarily defined.

This is a re-land of https://codereview.webrtc.org/2384693002, which
broke Chromium. We re-land without changing this CL at all, because
the thing that needed fixing was in Chromium:
https://codereview.chromium.org/2384263004.

NOTRY=true
TBR=ossu@webrtc.org
BUG=webrtc:6451

Review-Url: https://codereview.webrtc.org/2389943003
Cr-Commit-Position: refs/heads/master@{#14508}
2016-10-04 20:47:02 +00:00
skvlad
cd97b2b943 Switched flaky ProfilerTest to use fake clock
The test was heavily dependent on wall clock timing, so it ended up
being disabled in some build configurations. This CL switches it to use
a fake clock instead.

BUG=webrtc:5947

Review-Url: https://codereview.webrtc.org/2392613003
Cr-Commit-Position: refs/heads/master@{#14507}
2016-10-04 19:33:00 +00:00
nisse
409f573f8e Delete posix.h (RunAsDaemon).
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2367403002
Cr-Commit-Position: refs/heads/master@{#14502}
2016-10-04 14:52:02 +00:00
nisse
cacee524c1 Delete referencecountedsingletonfactory.h.
Unused since cl https://codereview.webrtc.org/1715043002

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2368123003
Cr-Commit-Position: refs/heads/master@{#14501}
2016-10-04 14:21:56 +00:00
nisse
085ec0e4b1 Delete sec_buffer.h.
Unused since cl https://codereview.webrtc.org/1383253002

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2373483002
Cr-Commit-Position: refs/heads/master@{#14500}
2016-10-04 13:46:00 +00:00
nisse
038a0851df Delete unused base/worker.{cc,h}.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2370793002
Cr-Commit-Position: refs/heads/master@{#14499}
2016-10-04 13:16:36 +00:00
nisse
312303340c Delete bandwidthsmoother.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2367213004
Cr-Commit-Position: refs/heads/master@{#14498}
2016-10-04 12:58:35 +00:00
kwiberg
607d9d7f60 rtc::FunctionView improvements: accept function pointers and nullptr
BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/2375023004
Cr-Commit-Position: refs/heads/master@{#14483}
2016-10-03 19:40:41 +00:00
guidou
8f9010631c Revert of Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere (patchset #2 id:20001 of https://codereview.webrtc.org/2384693002/ )
Reason for revert:
This CL breaks FYI bots with a compile error.

Sample error:
jingle/glue/thread_wrapper.cc -o obj/jingle/jingle_glue/thread_wrapper.o
In file included from ../../jingle/glue/thread_wrapper.cc:5:
In file included from ../../jingle/glue/thread_wrapper.h:16:
In file included from ../../base/message_loop/message_loop.h:17:
In file included from ../../base/memory/ref_counted.h:19:
../../base/logging.h:598:1: error: call to 'MakeCheckOpString' is ambiguous
DEFINE_CHECK_OP_IMPL(EQ, ==)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/logging.h:592:17: note: expanded from macro 'DEFINE_CHECK_OP_IMPL'
    else return MakeCheckOpString(v1, v2, names); \
                ^~~~~~~~~~~~~~~~~
../../jingle/glue/thread_wrapper.cc:46:3: note: in instantiation of function template specialization 'logging::CheckEQImpl<rtc::Thread *, jingle_glue::JingleThreadWrapper *>' requested here
  DCHECK_EQ(rtc::Thread::Current(), current());
  ^
../../base/logging.h:748:31: note: expanded from macro 'DCHECK_EQ'
#define DCHECK_EQ(val1, val2) DCHECK_OP(EQ, ==, val1, val2)
                              ^
../../base/logging.h:721:18: note: expanded from macro 'DCHECK_OP'
      ::logging::Check##name##Impl((val1), (val2),                     \
                 ^
<scratch space>:102:1: note: expanded from here
CheckEQImpl
^
../../base/logging.h:555:14: note: candidate function [with t1 = rtc::Thread *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
../../third_party/webrtc/base/checks.h:122:14: note: candidate function [with t1 = rtc::Thread *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
In file included from ../../jingle/glue/thread_wrapper.cc:5:
In file included from ../../jingle/glue/thread_wrapper.h:16:
In file included from ../../base/message_loop/message_loop.h:17:
In file included from ../../base/memory/ref_counted.h:19:
../../base/logging.h:598:1: error: call to 'MakeCheckOpString' is ambiguous
DEFINE_CHECK_OP_IMPL(EQ, ==)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/logging.h:592:17: note: expanded from macro 'DEFINE_CHECK_OP_IMPL'
    else return MakeCheckOpString(v1, v2, names); \
                ^~~~~~~~~~~~~~~~~
../../jingle/glue/thread_wrapper.cc:81:3: note: in instantiation of function template specialization 'logging::CheckEQImpl<jingle_glue::JingleThreadWrapper *, jingle_glue::JingleThreadWrapper *>' requested here
  DCHECK_EQ(this, JingleThreadWrapper::current());
  ^
../../base/logging.h:748:31: note: expanded from macro 'DCHECK_EQ'
#define DCHECK_EQ(val1, val2) DCHECK_OP(EQ, ==, val1, val2)
                              ^
../../base/logging.h:721:18: note: expanded from macro 'DCHECK_OP'
      ::logging::Check##name##Impl((val1), (val2),                     \
                 ^
<scratch space>:5:1: note: expanded from here
CheckEQImpl
^
../../base/logging.h:555:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
../../third_party/webrtc/base/checks.h:122:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
In file included from ../../jingle/glue/thread_wrapper.cc:5:
In file included from ../../jingle/glue/thread_wrapper.h:16:
In file included from ../../base/message_loop/message_loop.h:17:
In file included from ../../base/memory/ref_counted.h:19:
../../base/logging.h:598:1: error: call to 'MakeCheckOpString' is ambiguous
DEFINE_CHECK_OP_IMPL(EQ, ==)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/logging.h:592:17: note: expanded from macro 'DEFINE_CHECK_OP_IMPL'
    else return MakeCheckOpString(v1, v2, names); \
                ^~~~~~~~~~~~~~~~~
../../jingle/glue/thread_wrapper.cc:82:3: note: in instantiation of function template specialization 'logging::CheckEQImpl<jingle_glue::JingleThreadWrapper *, rtc::Thread *>' requested here
  DCHECK_EQ(this, rtc::Thread::Current());
  ^
../../base/logging.h:748:31: note: expanded from macro 'DCHECK_EQ'
#define DCHECK_EQ(val1, val2) DCHECK_OP(EQ, ==, val1, val2)
                              ^
../../base/logging.h:721:18: note: expanded from macro 'DCHECK_OP'
      ::logging::Check##name##Impl((val1), (val2),                     \
                 ^
<scratch space>:12:1: note: expanded from here
CheckEQImpl
^
../../base/logging.h:555:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = rtc::Thread *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
../../third_party/webrtc/base/checks.h:122:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = rtc::Thread *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
3 errors generated.

Original issue's description:
> Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere
>
> The former is always defined (by webrtc/base/checks.h) to either 0 or
> 1, whereas the latter isn't necessarily defined.
>
> NOTRY=true
> BUG=webrtc:6451
>
> Committed: https://crrev.com/ab0b929321d37669165d5795268fa10a8c97ec5b
> Cr-Commit-Position: refs/heads/master@{#14474}

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

Review-Url: https://codereview.webrtc.org/2384083004
Cr-Commit-Position: refs/heads/master@{#14480}
2016-10-03 15:32:36 +00:00
kwiberg
ab0b929321 Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere
The former is always defined (by webrtc/base/checks.h) to either 0 or
1, whereas the latter isn't necessarily defined.

NOTRY=true
BUG=webrtc:6451

Review-Url: https://codereview.webrtc.org/2384693002
Cr-Commit-Position: refs/heads/master@{#14474}
2016-10-03 12:04:25 +00:00
Viktor Palmkvist
1d477ea6d5 Default constructor for file
BUG=webrtc:6177
R=perkj@webrtc.org, sprang@webrtc.org

Review URL: https://codereview.webrtc.org/2360303004 .

Cr-Commit-Position: refs/heads/master@{#14473}
2016-10-03 11:16:15 +00:00
perkj
8ff860a35d Add support for WeakPtr<T>
The implementation is borrowed from Chromium.

Also change use of raw pointers in VideoSendStreamImpl to use WeakPtr<>

BUG= webrtc:6289

Review-Url: https://codereview.webrtc.org/2367853002
Cr-Commit-Position: refs/heads/master@{#14468}
2016-10-03 07:30:08 +00:00
kwiberg
ac9f876bc0 Sort #includes that got unsorted when gmock.h and gtest.h moved to webrtc/test/
gmock.h and gtest.h were moved (or rather, got wrappers so that we
could put some icky compatibility hacks in one place instead of 500)
in this CL: https://codereview.webrtc.org/2358993004/

NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2381013002
Cr-Commit-Position: refs/heads/master@{#14464}
2016-10-01 05:29:53 +00:00
Taylor Brandstetter
fe69a74ba8 Making ContinueSSL synchronously set the state to "open".
It was recently made asynchronous, and this broke some downstream tests.

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

Review URL: https://codereview.webrtc.org/2381313003 .

Cr-Commit-Position: refs/heads/master@{#14463}
2016-10-01 00:34:42 +00:00
deadbeef
89824f6fe0 Relanding: Allow the DTLS fingerprint verification to occur after the handshake.
This means the DTLS handshake can make progress while the SDP answer
containing the fingerprint is still in transit. If the signaling path
if significantly slower than the media path, this can have a moderate
impact on call setup time.

Of course, until the fingerprint is verified no media can be sent. Any
attempted write will result in SR_BLOCK.

This essentially fulfills the requirements of RFC 4572, Section 6.2:

   Note that when the offer/answer model is being used, it is possible
   for a media connection to outrace the answer back to the offerer.
   Thus, if the offerer has offered a 'setup:passive' or 'setup:actpass'
   role, it MUST (as specified in RFC 4145 [2]) begin listening for an
   incoming connection as soon as it sends its offer.  However, it MUST
   NOT assume that the data transmitted over the TLS connection is valid
   until it has received a matching fingerprint in an SDP answer.  If
   the fingerprint, once it arrives, does not match the client's
   certificate, the server endpoint MUST terminate the media connection
   with a bad_certificate error, as stated in the previous paragraph.

BUG=webrtc:6387

Review-Url: https://codereview.webrtc.org/2163683003
Cr-Commit-Position: refs/heads/master@{#14461}
2016-09-30 18:55:49 +00:00
skvlad
7502401788 Do not spam "Connect failed with 101/65" in logs.
WebRTC polls the list of local IP addresses for both IPv4 and IPv6
every ~2 seconds. It does so by trying to connect() a UDP socket to
an address on the public Internet (without actually sending any
packets).

If the host doesn't have IPv6 (or IPv4) connectivity, it fails with
errno 101 (ENETUNREACH, Linux) or errno 65 (EHOSTUNREACH, Mac).

This is the expected behavior, and we shouldn't be logging these
failures, especially since polling is fairly frequent.

BUG=webrtc:6347
R=deadbeef@webrtc.org, honghaiz@webrtc.org, perkj@webrtc.org

Review URL: https://codereview.webrtc.org/2370383002 .

Cr-Commit-Position: refs/heads/master@{#14440}
2016-09-29 19:59:44 +00:00
sakal
b6760f9e44 Format all Java in WebRTC.
BUG=webrtc:6419
TBR=henrika@webrtc.org

Review-Url: https://codereview.webrtc.org/2377003002
Cr-Commit-Position: refs/heads/master@{#14432}
2016-09-29 11:12:51 +00:00
kwiberg
77eab70470 Enable the -Wundef warning for clang
NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2358993004
Cr-Commit-Position: refs/heads/master@{#14425}
2016-09-29 00:42:08 +00:00
kwiberg
24c7c1238d Move FunctionView from AudioCodingModule to the rtc namespace
It's a very general type, and we're about to start needing it in other
places besides AudioCodingModule.

BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/2380463003
Cr-Commit-Position: refs/heads/master@{#14423}
2016-09-28 18:57:17 +00:00
kjellander
3901128075 Remove unnecessary jsoncpp includes.
These are already added in third_party/jsoncpp/BUILD.gn so they
shouldn't be needed.

BUG=webrtc:6412
NOTRY=True
NOTREECHECKS=True

Review-Url: https://codereview.webrtc.org/2368543002
Cr-Commit-Position: refs/heads/master@{#14379}
2016-09-26 09:52:40 +00:00
solenberg
347ec5c72e Change thread check to race check. Also, add comment to explain implementation of RaceChecker.
BUG=webrtc:6345

Review-Url: https://codereview.webrtc.org/2350663002
Cr-Commit-Position: refs/heads/master@{#14369}
2016-09-23 11:21:55 +00:00
deadbeef
81f6f4fc56 Revert of Allow the DTLS fingerprint verification to occur after the handshake. (patchset #11 id:200001 of https://codereview.webrtc.org/2163683003/ )
Reason for revert:
Broke a downstream user of SSLStreamAdapter. Need to add the new interface (returning error code instead of bool) in a backwards compatible way.

Original issue's description:
> Allow the DTLS fingerprint verification to occur after the handshake.
>
> This means the DTLS handshake can make progress while the SDP answer
> containing the fingerprint is still in transit. If the signaling path
> if significantly slower than the media path, this can have a moderate
> impact on call setup time.
>
> Of course, until the fingerprint is verified no media can be sent. Any
> attempted write will result in SR_BLOCK.
>
> This essentially fulfills the requirements of RFC 4572, Section 6.2:
>
>    Note that when the offer/answer model is being used, it is possible
>    for a media connection to outrace the answer back to the offerer.
>    Thus, if the offerer has offered a 'setup:passive' or 'setup:actpass'
>    role, it MUST (as specified in RFC 4145 [2]) begin listening for an
>    incoming connection as soon as it sends its offer.  However, it MUST
>    NOT assume that the data transmitted over the TLS connection is valid
>    until it has received a matching fingerprint in an SDP answer.  If
>    the fingerprint, once it arrives, does not match the client's
>    certificate, the server endpoint MUST terminate the media connection
>    with a bad_certificate error, as stated in the previous paragraph.
>
> BUG=webrtc:6387
> R=mattdr@webrtc.org, pthatcher@webrtc.org
>
> Committed: https://crrev.com/042041bf9585f92e962387c59ca805f1218338f9
> Cr-Commit-Position: refs/heads/master@{#14296}

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

Review-Url: https://codereview.webrtc.org/2352863003
Cr-Commit-Position: refs/heads/master@{#14298}
2016-09-20 00:21:00 +00:00
Honghai Zhang
c67e0f5753 Signal to remove remote candidates if ports are pruned.
Previously when a Turn port is pruned, if its candidate has been sent to the remote side, the remote side will keep the candidate and use that to create connections.
We now signal the remote side to remove the candidates so that at least no new connection will be created using the removed candidates.

Also updated the virtual socket server to better support our test cases.
1. Allow the virtual socket server to set transit delay for packets sent from a given IP address.
2. Ensure the ordered packet delivery for each socket (Previously the delivery order is enforced on the whole test case, so if a udp packet gets delayed based on its IP address, all TCP packets sent after the UDP packet will be delayed at least until the UDP packet is received).

BUG=webrtc:6380
R=deadbeef@webrtc.org, pthatcher@webrtc.org, skvlad@webrtc.org

Review URL: https://codereview.webrtc.org/2261523004 .

Cr-Commit-Position: refs/heads/master@{#14297}
2016-09-19 23:57:48 +00:00
Taylor Brandstetter
042041bf95 Allow the DTLS fingerprint verification to occur after the handshake.
This means the DTLS handshake can make progress while the SDP answer
containing the fingerprint is still in transit. If the signaling path
if significantly slower than the media path, this can have a moderate
impact on call setup time.

Of course, until the fingerprint is verified no media can be sent. Any
attempted write will result in SR_BLOCK.

This essentially fulfills the requirements of RFC 4572, Section 6.2:

   Note that when the offer/answer model is being used, it is possible
   for a media connection to outrace the answer back to the offerer.
   Thus, if the offerer has offered a 'setup:passive' or 'setup:actpass'
   role, it MUST (as specified in RFC 4145 [2]) begin listening for an
   incoming connection as soon as it sends its offer.  However, it MUST
   NOT assume that the data transmitted over the TLS connection is valid
   until it has received a matching fingerprint in an SDP answer.  If
   the fingerprint, once it arrives, does not match the client's
   certificate, the server endpoint MUST terminate the media connection
   with a bad_certificate error, as stated in the previous paragraph.

BUG=webrtc:6387
R=mattdr@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2163683003 .

Cr-Commit-Position: refs/heads/master@{#14296}
2016-09-19 23:02:35 +00:00
Taylor Brandstetter
e5835f5d84 Adding an end-to-end connection time test.
The test uses a fake clock and simulates network and signaling delays in
order to get a repeatable measurement of the time to establish a
connection (including DTLS). This will help ensure that various
optimizations continue to work as expected, and no new delays are
introduced.

This CL depends on: https://codereview.webrtc.org/2140283002/

R=honghaiz@webrtc.org, pthatcher@webrtc.org, skvlad@webrtc.org

Review URL: https://codereview.webrtc.org/2141863003 .

Cr-Commit-Position: refs/heads/master@{#14270}
2016-09-16 22:07:58 +00:00
Viktor Palmkvist
971eb27e54 Removing, opening and creating files in platform_file and file
BUG=
R=perkj@webrtc.org, sprang@google.com

Review URL: https://codereview.webrtc.org/2347473003 .

Cr-Commit-Position: refs/heads/master@{#14250}
2016-09-16 08:19:33 +00:00
Taylor Brandstetter
fe7d091f57 Fixing a couple cases that cause ProcessAllMessageQueues to hang.
The two situations are:
1. A thread is in the process of shutting down, so it won't handle any
   more messages.
2. A message queue is cleared before it has a chance to process pending
   messages.

In both of those cases, we should consider processing done at that
point.

R=honghaiz@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2319303004 .

Cr-Commit-Position: refs/heads/master@{#14245}
2016-09-16 00:47:47 +00:00
maxmorin
ec62374ccd Reland of Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base. (patchset #1 id:1 of https://codereview.webrtc.org/2340253003/ )
Reason for revert:
Fix: let audio_device depend on rtc_base on IOS.

Original issue's description:
> Revert of Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base. (patchset #1 id:1 of https://codereview.webrtc.org/2346763002/ )
>
> Reason for revert:
> Breaks iOS
>
> Original issue's description:
> > Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base.
> >
> > BUG=webrtc:3806
> > NOTRY=True
> >
> > Committed: https://crrev.com/100c9d02669910bce06099b3cc1eaad60fd661dd
> > Cr-Commit-Position: refs/heads/master@{#14223}
>
> TBR=kjellander@webrtc.org,henrika@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:3806
>
> Committed: https://crrev.com/89fb9201b70616a1c33e277f38bf9367112536e8
> Cr-Commit-Position: refs/heads/master@{#14224}

TBR=kjellander@webrtc.org,henrika@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOTRY=true
BUG=webrtc:3806

Review-Url: https://codereview.webrtc.org/2340233003
Cr-Commit-Position: refs/heads/master@{#14233}
2016-09-15 12:11:59 +00:00
maxmorin
89fb9201b7 Revert of Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base. (patchset #1 id:1 of https://codereview.webrtc.org/2346763002/ )
Reason for revert:
Breaks iOS

Original issue's description:
> Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base.
>
> BUG=webrtc:3806
> NOTRY=True
>
> Committed: https://crrev.com/100c9d02669910bce06099b3cc1eaad60fd661dd
> Cr-Commit-Position: refs/heads/master@{#14223}

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

Review-Url: https://codereview.webrtc.org/2340253003
Cr-Commit-Position: refs/heads/master@{#14224}
2016-09-15 08:45:33 +00:00
maxmorin
100c9d0266 Add arraysize to rtc_base_approved. Remove dependency of audio_device on rtc_base.
BUG=webrtc:3806
NOTRY=True

Review-Url: https://codereview.webrtc.org/2346763002
Cr-Commit-Position: refs/heads/master@{#14223}
2016-09-15 08:40:42 +00:00
Danil Chapovalov
3626d7e247 Move CopyOnWriteBuffer functions definitions from .h to .cc
R=kwiberg@webrtc.org

Review URL: https://codereview.webrtc.org/2338843002 .

Cr-Commit-Position: refs/heads/master@{#14217}
2016-09-14 15:14:37 +00:00
nisse
a075848ebd New method TimestampAligner::TranslateTimestamp
Also enforce a minimum inter-frame interval of 1 ms,
fix a bug in the clipping logic, and improve comments.

BUG=webrtc:5740

Review-Url: https://codereview.webrtc.org/2325563002
Cr-Commit-Position: refs/heads/master@{#14206}
2016-09-14 07:37:03 +00:00