Commit Graph

763 Commits

Author SHA1 Message Date
e51e11910f Enable socketservers unittests on windows.
failing tests disabling moved to ifdefs within the test files from build files.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13623}
2016-08-03 13:14:48 +00:00
d3235f0cd9 Re-order and remove unused Java imports.
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13608}
2016-08-02 13:44:19 +00:00
8a0b1287cd Fix CopyOnWriteBuffer::cdata to return const pointer
to prevent unexpected data modification.

Review-Url: https://codereview.webrtc.org/2189013002
Cr-Commit-Position: refs/heads/master@{#13583}
2016-07-30 20:42:35 +00:00
d8a9c5306b Implement CopyOnWriteBuffer move using scoped_refptr move
instead of using temporary swap solution.

BUG=webrtc:5556

Review-Url: https://codereview.webrtc.org/2191863002
Cr-Commit-Position: refs/heads/master@{#13582}
2016-07-30 19:39:32 +00:00
70cfc14af6 Adds move assignment operator to scoped_refptr
Implementation borrowed from chromium.

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

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

Cr-Commit-Position: refs/heads/master@{#13577}
2016-07-29 17:15:10 +00:00
c309e0e3ea Don't stop sending media on EWOULDBLOCK
This change makes WebRTC no longer stop sending video when we receive an
EWOULDBLOCK error from the operating system. This was previously
causing calls on a slow link (where the first hop is slow) to rapidly
oscillate between starting and stopping video.

We still do need to stop sending packets if there is no known good
connection we can use for that. We used to generate a synthetic
EWOULDBLOCK error in that case. This CL replaces it with a different
code (ENOTCONN); EWOULDBLOCK no longer stops the stream but ENOTCONN
does.

I've updated all the places where we seemed to be generating EWOULDBLOCK
for reasons other than some buffer been full; please give it a thorough
look in case I missed something.

R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13566}
2016-07-29 00:15:30 +00:00
bb19a60832 Fix a memory leak where EventLogger is created two times in the event tracer.
R=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2179903004
Cr-Commit-Position: refs/heads/master@{#13536}
2016-07-26 17:39:15 +00:00
d9c7f8d3a8 Use NullSocketServer instead of PhysicalSocketServer in SignalThread
BUG=webrtc:6125

Review-Url: https://codereview.webrtc.org/2164333002
Cr-Commit-Position: refs/heads/master@{#13525}
2016-07-26 10:03:39 +00:00
843b6f503f Fix a crash in the event tracing shutdown path
This CL fixes a crash that could happen when JSON event tracing is
shutting down. The cause of the crash was the fact that the logger
thread function was returning 'true', causing the platform thread to run
it repeatedly even though that wasn't the intention.

Usually the EventLogger::Stop() function would set the event requesting
the logging thread to clean up and close the file, and then immediately
call PlatformThread::Stop() which would stop the outer loop. The Log()
function would only run once and everything behaves as expected.

However, if a context switch happens between the shutdown_event_.Set()
and logging_thread_.Stop() calls in EventLogger::Stop(), the logger
thread function would close the file and exit the Log() method, while
PlatformThread will rerun it again. So the Log() function runs twice,
and the second time output_file_ is NULL which either causes the DCHECK
to fail (in debug builds) or the fprintf() to crash with SIGSEGV (in
release builds).

The fix simply changes the return value of the thread function to false
so it never runs twice.

R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13510}
2016-07-23 04:45:45 +00:00
02a5797908 Reland of "Protect MessageQueue stop field with a critical section to avoid data races." (refs/heads/master@{#13430}).
It was reverted in "refs/heads/master@{#13431}" due to breaking Chrome FYI bots.
Fix for chromium was submmited in https://codereview.chromium.org/2159753002.

This reverts commit a2c900877d8338130210c99fec1c8e8e59defea4.

R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13508}
2016-07-22 11:30:17 +00:00
8dc945cd3b Disable NetworkTest.DefaultLocalAddress for Android.
BUG=4364
R=phoglund@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13505}
2016-07-21 08:16:52 +00:00
72b7f93e68 Use correct case for including a file.
Necessary when compiling this file on a case-sensitive file system.

BUG=chromium:495204,chromium:617318

Review-Url: https://codereview.webrtc.org/2145373004
Cr-Commit-Position: refs/heads/master@{#13488}
2016-07-15 14:21:28 +00:00
bb738733ea Disable broken Android rtc_unittests.
After disabling all of these, the rest of the tests pass, at least on
my Nexus 7 device.

BUG=webrtc:4364

Review-Url: https://codereview.webrtc.org/2151823002
Cr-Commit-Position: refs/heads/master@{#13485}
2016-07-15 10:57:17 +00:00
32012f8c3a Do not include task_queue.h in sequenced_task_checker_impl.h
This it to avoid requiring targets that include header files that in turn use SequenceTaskedChecker, to also have to define the macros needed by TaskQueue.

BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2145393003
Cr-Commit-Position: refs/heads/master@{#13482}
2016-07-15 06:32:18 +00:00
Per
33b9c8fb03 Move WEBRTC_BUILD_LIBEVENT definition to base/BUILD.gn and base/base.gyp. This use all_dependent_configs (GN) / all_dependent_settings (GYP) to export WEBRTC_BUILD_LIBEVENT to all dependent targets transitively. This fixes a problem with dependent projects in Chromium that indirectly include task_queue.h
BUG=webrtc:5687
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13481}
2016-07-15 06:25:54 +00:00
73ab917d27 Remove CHECK around duplicate FLAG lookup.
It causes an asan initialization-order-fiasco in trying to read the
names of other globally constructed data:

==21449==ERROR: AddressSanitizer: initialization-order-fiasco on address 0x7f6f297bc5e8 at pc 0x7f6f26b332a7 bp 0x7ffd479f8cb0 sp 0x7ffd479f8ca8
READ of size 8 at 0x7f6f297bc5e8 thread T0
    #0 0x7f6f26b332a6 in name
webrtc/base/flags.h:83:38
    #1 0x7f6f26b332a6 in Lookup
webrtc/base/flags.cc:133
    #2 0x7f6f26b332a6 in rtc::FlagList::Register(rtc::Flag*)
webrtc/base/flags.cc:260
    #3 0x7f6f2529972b in __cxx_global_var_init.1

BUG=

Review-Url: https://codereview.webrtc.org/2110963004
Cr-Commit-Position: refs/heads/master@{#13479}
2016-07-15 01:21:21 +00:00
1666b61d0e Update on my last compatibility fix for libevent2.
This updates how we initialize timer events to be the same way as we initialize non-timer events.

BUG=

Review-Url: https://codereview.webrtc.org/2147973002
Cr-Commit-Position: refs/heads/master@{#13468}
2016-07-13 17:58:20 +00:00
cd349d9743 Reland of actor NACK bitrate allocation (patchset #1 id:1 of https://codereview.webrtc.org/2131913003/ )
Reason for revert:
Upstream fixes in place, should be OK now.

Original issue's description:
> Revert of Refactor NACK bitrate allocation (patchset #16 id:300001 of https://codereview.webrtc.org/2061423003/ )
>
> Reason for revert:
> Breaks upstream code.
>
> Original issue's description:
> > Refactor NACK bitrate allocation
> >
> > Nack bitrate allocation should not be done on a per-rtp-module basis,
> > but rather shared bitrate pool per call. This CL moves allocation to the
> > pacer and cleans up a bunch if bitrate stats handling.
> >
> > BUG=
> > R=danilchap@webrtc.org, stefan@webrtc.org, tommi@webrtc.org
> >
> > Committed: 5fc59e810b
>
> TBR=tommi@webrtc.org,danilchap@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/e5dd44101eca485f5ad12e5f7ce6f6b0d204116b
> Cr-Commit-Position: refs/heads/master@{#13417}

TBR=tommi@webrtc.org,danilchap@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=

Review-Url: https://codereview.webrtc.org/2146013002
Cr-Commit-Position: refs/heads/master@{#13465}
2016-07-13 16:11:38 +00:00
7b020da9d7 Call event_assign() instead of event_set(), when available.
event_set() has been deprecated and doesn't allow passing the main loop to be passed to initialize the event.  event_assign() is the method to call in Event2 when available.  However, we still need to be compatible with Chromium's version of libevent, so there's an #ifdef check in the meantime.

BUG=

Review-Url: https://codereview.webrtc.org/2141193002
Cr-Commit-Position: refs/heads/master@{#13454}
2016-07-13 07:56:46 +00:00
9c16fe84b9 Implement SequencedTaskChecker.
SequencedTaskChecker is a helper class used to help verify that some methods
of a class are called on the same task queue or thread. A
SequencedTaskChecker is bound to a a task queue if the object is
created on a task queue, or a thread otherwise.

BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2125113003
Cr-Commit-Position: refs/heads/master@{#13452}
2016-07-12 22:04:13 +00:00
b89257a51b Handle initialization race in TaskQueue on Windows, discovered by drmemory.
The issue was that if the main entry routine of the thread would get called before the first APC, the thread would hang on a GetMessage() call and the APC sent to initialize the thread, would never run.

BUG=

Review-Url: https://codereview.webrtc.org/2139723003
Cr-Commit-Position: refs/heads/master@{#13438}
2016-07-12 08:24:41 +00:00
a2c900877d Revert of Protect MessageQueue stop field with a critical section to avoid data races. (patchset #5 id:80001 of https://codereview.webrtc.org/2023193002/ )
Reason for revert:
Only reasonable CL in blameslist for broken Chrome FYI bots on all platforms. See

https://build.chromium.org/p/chromium.webrtc.fyi/waterfall?builder=Mac%20Builder

Original issue's description:
> Protect MessageQueue stop field with a critical section to avoid data races.
>
> Committed: https://crrev.com/1d35d2971b1e89b3ecadb7fb1ff064f9af850ad4
> Cr-Commit-Position: refs/heads/master@{#13430}

TBR=pthatcher@webrtc.org,tommi@webrtc.org,deadbeef@webrtc.org,tommi@chromium.org,pbos@webrtc.org,andresp@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.webrtc.org/2135173002
Cr-Commit-Position: refs/heads/master@{#13431}
2016-07-11 09:48:49 +00:00
1d35d2971b Protect MessageQueue stop field with a critical section to avoid data races.
Review-Url: https://codereview.webrtc.org/2023193002
Cr-Commit-Position: refs/heads/master@{#13430}
2016-07-11 09:23:50 +00:00
a49f1105eb Revert of Reland Issue 2061423003: Refactor NACK bitrate allocation (patchset #1 id:1 of https://codereview.webrtc.org/2131313002/ )
Reason for revert:
It keeps breaking upstream.

Original issue's description:
> Reland Issue 2061423003: Refactor NACK bitrate allocation
>
> This is a reland of https://codereview.webrtc.org/2061423003/
> Which was reverted in https://codereview.webrtc.org/2131913003/
>
> The reason for the revert was that some upstream code used
> RtpSender::SetTargetBitrate(). I've added that back as a no-op until we
> it's been brought up to date.
>
> TBR=tommi@webrtc.org
>
> Committed: 05ce4ae31f

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

Review-Url: https://codereview.webrtc.org/2130423002
Cr-Commit-Position: refs/heads/master@{#13419}
2016-07-08 18:02:02 +00:00
05ce4ae31f Reland Issue 2061423003: Refactor NACK bitrate allocation
This is a reland of https://codereview.webrtc.org/2061423003/
Which was reverted in https://codereview.webrtc.org/2131913003/

The reason for the revert was that some upstream code used
RtpSender::SetTargetBitrate(). I've added that back as a no-op until we
it's been brought up to date.

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13418}
2016-07-08 17:11:23 +00:00
e5dd44101e Revert of Refactor NACK bitrate allocation (patchset #16 id:300001 of https://codereview.webrtc.org/2061423003/ )
Reason for revert:
Breaks upstream code.

Original issue's description:
> Refactor NACK bitrate allocation
>
> Nack bitrate allocation should not be done on a per-rtp-module basis,
> but rather shared bitrate pool per call. This CL moves allocation to the
> pacer and cleans up a bunch if bitrate stats handling.
>
> BUG=
> R=danilchap@webrtc.org, stefan@webrtc.org, tommi@webrtc.org
>
> Committed: 5fc59e810b

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

Review-Url: https://codereview.webrtc.org/2131913003
Cr-Commit-Position: refs/heads/master@{#13417}
2016-07-08 16:39:02 +00:00
5fc59e810b Refactor NACK bitrate allocation
Nack bitrate allocation should not be done on a per-rtp-module basis,
but rather shared bitrate pool per call. This CL moves allocation to the
pacer and cleans up a bunch if bitrate stats handling.

BUG=
R=danilchap@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13416}
2016-07-08 16:15:29 +00:00
cdf6172b7f Replace reentrant ASSERT checks in MessageQueueManager with a non-racy version.
ASSERT(!crit_.CurrentThreadIsOwner()) was racy due to use of a rtc::IsThreadRefEqual which cannot compare the thread handlers without a lock unless one is already sure it is the thread owning the crit.

Review-Url: https://codereview.webrtc.org/2131503002
Cr-Commit-Position: refs/heads/master@{#13411}
2016-07-08 09:45:47 +00:00
388d8e92b8 Remove unused CriticalSection::IsLocked()
Review-Url: https://codereview.webrtc.org/2128583003
Cr-Commit-Position: refs/heads/master@{#13409}
2016-07-08 08:19:41 +00:00
d7d3e05ca6 mac: Remove unused GetQuickTimeVersion().
The function uses a deprecated function and is unused, so delete it.

BUG=6027
NOTRY=true

Review-Url: https://codereview.webrtc.org/2114013002
Cr-Commit-Position: refs/heads/master@{#13400}
2016-07-06 18:03:20 +00:00
0cf208aa28 mac: Make GetOSVersion() private to a cc file.
Everything calls GetOSVersionName() instead, so no need to expose that.
Since it uses deprecated functions, this will make it easier to rewrite
it in a future change.

BUG=webrtc:6027
NOTRY=true

Review-Url: https://codereview.webrtc.org/2117823002
Cr-Commit-Position: refs/heads/master@{#13399}
2016-07-06 17:46:49 +00:00
63fb95a68d Fixed time moving backwards in the AudioCodingModule.
There was a fast path in PreprocessToAddData that would just use the
input timestamps if the input format was equal to the required format of
the encoder. This works well as long as the codec never changes. If we
are first doing resampling (specifically upsampling) and then change to
a codec that does not require resampling, we'll need to stick to
whatever input timestamp we left off at, rather than silently accepting
whatever we're sent.

BUG=622435

Review-Url: https://codereview.webrtc.org/2119393002
Cr-Commit-Position: refs/heads/master@{#13398}
2016-07-06 16:34:31 +00:00
5622c5eae5 If continual gathering is enabled,
we will periodically check if any network does not have any connection on it and if yes, attempt to re-gather on those networks.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13367}
2016-07-01 20:59:39 +00:00
02bafc6379 Add a race-checking mechanism.
Permits CHECKing/DCHECKing that methods are being accessed in a
thread-safe manner, even if they are not used by one single thread
(thread pools such as VideoToolbox OK).

BUG=
R=danilchap@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13358}
2016-07-01 10:45:29 +00:00
ea41694e08 Added an empty member to the union of rtc::Optional, so that it is always initializable.
Added notry due to flaky android_dbg bot.

NOTRY=true
BUG=webrtc:6033

Review-Url: https://codereview.webrtc.org/2090223003
Cr-Commit-Position: refs/heads/master@{#13343}
2016-06-30 09:15:00 +00:00
4c4cb5b984 Separate the JNI function that controls logging levels into two.
The parameters for Logging.enableTracing() were creating the impression
that they control level and severity of one tracing system and they are
meant to be used together. In fact the "levels" parameter controlled one
tracing system (WEBRTC_TRACE), and the "severity" parameter was
responsible for a completely different one: setting the severity level
above which log messages from LOG() will be directed to the
platform-specific debug output (logcat on Android).

The method signature suggested that the "path" parameter applied to both
systems - while it was only meaningful for the WEBRTC_TRACE; LOG
messages were directed to ADB logcat no matter what the Path value was.
It is possible to redirect LOG messages to a file, but that is done
using a completely different set of APIs
 - PeerConnectionFactory.startInternalTracingCapture().

I've separated these two methods to make it more clear which of the
parameters controls which system.

NOTRY=true

Review-Url: https://codereview.webrtc.org/2110853003
Cr-Commit-Position: refs/heads/master@{#13334}
2016-06-29 22:30:48 +00:00
54433e72aa Fixing flakiness of TestDetectUnresolvedProxy.
If the AutoDetectProxy timed out resolving one address, it was
attempting to use the same resolver to resolve the next address,
which would always result in an assertion. This happened recently
a couple times on the Windows DrMemory bot because of its slowness.

TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13326}
2016-06-29 17:10:38 +00:00
9c0c75bd6e Add GN targets for AppRTC Demo on Android.
Adds GN equivalents for following targets:
AppRTCDemo          -> //webrtc/examples:AppRTCDemo
AppRTCDemo_apk      -> //webrtc/examples:AppRTCDemo_lib (kind of)
AppRTCDemoJUnitTest -> //webrtc/examples:AppRTCDemoJUnitTest
AppRTCDemoTest      -> //webrtc/examples:AppRTCDemoTest
libjingle_peerconnection_java -> //webrtc/api/libjingle_peerconnection_java
libjingle_peerconnection_so   -> //webrtc/api/libjingle_peerconnection_so

New GN targets:
//webrtc/base:base_java
//webrtc/examples:AppRTCDemo_resources
//webrtc/examples/androidapp/third_party/autobanh:autobanh_java

BUG=webrtc:6035
R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13322}
2016-06-29 12:55:12 +00:00
f8e65779a7 Add virtual Initialize methods to PortAllocator and NetworkManager.
This will allow PeerConnection to handle hopping to the right thread
and doing thread-specific initialization for the PortAllocator.
This eliminates a required thread-hop for whatever is passing the
PortAllocator into CreatePeerConnection.

BUG=617648
R=pthatcher@webrtc.org, skvlad@webrtc.org

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

Committed: https://crrev.com/a6bdb0990a659ff9e7c4374f5033a6bcc4fbfb21
Cr-Original-Commit-Position: refs/heads/master@{#13283}
Cr-Commit-Position: refs/heads/master@{#13306}
2016-06-28 00:20:25 +00:00
716d07a241 Using fake clock for TURN port tests and un-disabling some tests.
The fake clock has a few advantages:
1. It lets use verify that operations take the expected number of
   round trips.
2. It makes the tests faster by letting us remove the equivalent
   of "Sleep(500)" all over the tests.
3. It makes the tests less flaky, because sometimes sleeping for
   500ms or waiting for 1s is not enough.

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

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

Cr-Commit-Position: refs/heads/master@{#13304}
2016-06-27 21:07:51 +00:00
56c0b20490 Return both IPv6 and IPv4 address from the lookup.
We currently only return IPv4 address, which may cause issues in IPv6 networks
if we provide host name as the turn servers.

BUG=webrt:5871
R=juberti@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13291}
2016-06-27 05:11:24 +00:00
ba8d4337b7 Revert of Add virtual Initialize methods to PortAllocator and NetworkManager. (patchset #4 id:60001 of https://codereview.webrtc.org/2097653002/ )
Reason for revert:
Didn't intend to land yet. Chromium CL still needed.

Original issue's description:
> Add virtual Initialize methods to PortAllocator and NetworkManager.
>
> This will allow PeerConnection to handle hopping to the right thread
> and doing thread-specific initialization for the PortAllocator.
> This eliminates a required thread-hop for whatever is passing the
> PortAllocator into CreatePeerConnection.
>
> BUG=617648
> R=pthatcher@webrtc.org, skvlad@webrtc.org
>
> Committed: https://crrev.com/a6bdb0990a659ff9e7c4374f5033a6bcc4fbfb21
> Cr-Commit-Position: refs/heads/master@{#13283}

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

Review-Url: https://codereview.webrtc.org/2092023004
Cr-Commit-Position: refs/heads/master@{#13284}
2016-06-24 21:05:19 +00:00
a6bdb0990a Add virtual Initialize methods to PortAllocator and NetworkManager.
This will allow PeerConnection to handle hopping to the right thread
and doing thread-specific initialization for the PortAllocator.
This eliminates a required thread-hop for whatever is passing the
PortAllocator into CreatePeerConnection.

BUG=617648
R=pthatcher@webrtc.org, skvlad@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13283}
2016-06-24 21:04:11 +00:00
059e183419 Reland of "Revert of Update the BWE when the network route changes. (patchset #5 id:180001 of https://… (patchset #1 id:1 of https://codereview.webrtc.org/2098703004/ )
Reason for revert:
It turns out this revert was not necessary because the connection-state mapping for turn-turn connections was not done in connection.

Original issue's description:
> Revert of Revert "Revert of Update the BWE when the network route changes. (patchset #5 id:180001 of https://… (patchset #5 id:120001 of https://codereview.webrtc.org/2041593002/ )
>
> Reason for revert:
> ReadyToSendMedia did not consider the new presumed_writable state.
>
> Original issue's description:
> > Revert "Revert of Update the BWE when the network route changes. (patchset #5 id:180001 of https://codereview.webrtc.org/2000063003/ )"
> >
> > This reverts commit 72d41aa6da94dacb8a8464d1abd4ca7d1afffc65.
> >
> > New change made:
> > Do not reset the BWE when the new network route is not ready to send media.
> >
> > BUG=
> > R=pthatcher@webrtc.org, stefan@webrtc.org
> >

TBR=pthatcher@webrtc.org,stefan@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.webrtc.org/2094863003
Cr-Commit-Position: refs/heads/master@{#13282}
2016-06-24 18:04:00 +00:00
ae4d0d922b Revert of Revert "Revert of Update the BWE when the network route changes. (patchset #5 id:180001 of https://… (patchset #5 id:120001 of https://codereview.webrtc.org/2041593002/ )
Reason for revert:
ReadyToSendMedia did not consider the new presumed_writable state.

Original issue's description:
> Revert "Revert of Update the BWE when the network route changes. (patchset #5 id:180001 of https://codereview.webrtc.org/2000063003/ )"
>
> This reverts commit 72d41aa6da94dacb8a8464d1abd4ca7d1afffc65.
>
> New change made:
> Do not reset the BWE when the new network route is not ready to send media.
>
> BUG=
> R=pthatcher@webrtc.org, stefan@webrtc.org
>
> Committed: https://crrev.com/5b5d2cdad7018993272525a723ef34f7da5c45f2
> Cr-Commit-Position: refs/heads/master@{#13280}

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

Review-Url: https://codereview.webrtc.org/2098703004
Cr-Commit-Position: refs/heads/master@{#13281}
2016-06-24 17:06:25 +00:00
5b5d2cdad7 Revert "Revert of Update the BWE when the network route changes. (patchset #5 id:180001 of https://codereview.webrtc.org/2000063003/ )"
This reverts commit 72d41aa6da94dacb8a8464d1abd4ca7d1afffc65.

New change made:
Do not reset the BWE when the new network route is not ready to send media.

BUG=
R=pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13280}
2016-06-24 17:01:01 +00:00
3f81fcd2e8 Don't recreate the speech encoder if we don't have to
If the specification for the speech encoder hasn't changed, we should
reuse it instead of recreating it. Otherwise, we lose its state. (This
problem was originally discovered because AudioEncoderOpus instances
would forget that they were supposed to be using DTX.)

BUG=webrtc:6020, chromium:622647

Review-Url: https://codereview.webrtc.org/2089183002
Cr-Commit-Position: refs/heads/master@{#13273}
2016-06-23 10:58:45 +00:00
079a7a197f Reland of Do not delete a connection in the turn port with permission error or refresh error. (patchset #1 id:1 of https://codereview.webrtc.org/2090833002/ )
Reason for revert:
The Webrtc waterfall indicates that this revert is not necessary.

Original issue's description:
> Revert of Do not delete a connection in the turn port with permission error or refresh error. (patchset #6 id:260001 of https://codereview.webrtc.org/2068263003/ )
>
> Reason for revert:
> It broke webrtc builds.
>
> Original issue's description:
> > Do not delete a connection in the turn port with permission error,  refresh error, or binding error.
> >
> > Even if those error happened, the connection may still be able to receive packets for a while.
> > If we delete the connections, all packets arriving will be dropped.
> >
> > BUG=webrtc:6007
> > R=deadbeef@webrtc.org, pthatcher@webrtc.org
> >
> > Committed: https://crrev.com/3d77deb29c15bfb8f794ef3413837a0ec0f0c131
> > Cr-Commit-Position: refs/heads/master@{#13262}
>
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:6007
>
> Committed: https://crrev.com/3159ffae6b1d5cba2ad972bd3d8074ac85f2c7f9
> Cr-Commit-Position: refs/heads/master@{#13265}

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

Review-Url: https://codereview.webrtc.org/2090073003
Cr-Commit-Position: refs/heads/master@{#13266}
2016-06-22 23:27:08 +00:00
3159ffae6b Revert of Do not delete a connection in the turn port with permission error or refresh error. (patchset #6 id:260001 of https://codereview.webrtc.org/2068263003/ )
Reason for revert:
It broke webrtc builds.

Original issue's description:
> Do not delete a connection in the turn port with permission error,  refresh error, or binding error.
>
> Even if those error happened, the connection may still be able to receive packets for a while.
> If we delete the connections, all packets arriving will be dropped.
>
> BUG=webrtc:6007
> R=deadbeef@webrtc.org, pthatcher@webrtc.org
>
> Committed: https://crrev.com/3d77deb29c15bfb8f794ef3413837a0ec0f0c131
> Cr-Commit-Position: refs/heads/master@{#13262}

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6007

Review-Url: https://codereview.webrtc.org/2090833002
Cr-Commit-Position: refs/heads/master@{#13265}
2016-06-22 23:18:37 +00:00
3d77deb29c Do not delete a connection in the turn port with permission error, refresh error, or binding error.
Even if those error happened, the connection may still be able to receive packets for a while.
If we delete the connections, all packets arriving will be dropped.

BUG=webrtc:6007
R=deadbeef@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13262}
2016-06-22 23:01:55 +00:00