Also fixed an arithmetic issue where a 0 0 3 at the end of the rbsp would include the 3 (that's not a legal bitstream anyway, so it probably wasn't a real bug, but it was incorrect).
This maintains the underflow fix from an earlier CL (https://codereview.webrtc.org/1219493004/). The overflow fix is virtually impossible to hit (hence no unit tests), but is there for strict correctness.
BUG=
Review URL: https://codereview.webrtc.org/1226203002
Cr-Commit-Position: refs/heads/master@{#9581}
2. provide an implementation for SetIceConnectionReceivingTimeout so that Chrome does not complain.
BUG=
Review URL: https://codereview.webrtc.org/1227843006
Cr-Commit-Position: refs/heads/master@{#9574}
Adds a class used to classify whether packet loss events are a single packet or multiple packets as well as how many packets have been lost. Also exposes a new function in the RtpRtcp interface to retrieve these statistics.
BUG=
Review URL: https://codereview.webrtc.org/1198853004
Cr-Commit-Position: refs/heads/master@{#9568}
- New option for computing variance that is more adaptive with lower complexity.
- Fixed related off-by-one errors.
- Added intelligibility unittests.
- Do not enhance if experiencing variance underflow.
R=andrew@webrtc.org, henrik.lundin@webrtc.org
Review URL: https://codereview.webrtc.org/1207353002 .
Cr-Commit-Position: refs/heads/master@{#9567}
Fixes
..\..\third_party\webrtc/base/stringutils.h(295,49) : warning(clang): extra qualification on member "empty_str" [-Wmicrosoft]
No behavior change, but makes the code more standards-conformant.
BUG=chromium:505296
Review URL: https://codereview.webrtc.org/1228193002
Cr-Commit-Position: refs/heads/master@{#9562}
Comparing with 1 is less clear than using the input flags as
booleans.
BUG=5008276
Review URL: https://codereview.webrtc.org/1231663002
Cr-Commit-Position: refs/heads/master@{#9561}
This reduces the risk of getting a small initial estimate when doing combined a/v BWE, and the audio stream is received earlier than the video stream.
In addition a check is added to make sure a probe can't reduce the BWE.
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1219303002 .
Cr-Commit-Position: refs/heads/master@{#9560}
Allows removing MediaRecorder which isn't in use apart from channel
unittests, along with it unittests for MediaRecorder that are flaky when
run in parallel can also go.
BUG=
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1219663008
Cr-Commit-Position: refs/heads/master@{#9558}
This fixes a bug in the WebRtcSessionDescriptionFactory where messages would be dropped or worse yet processed after the factory was deleted.
BUG=chromium:507307
Review URL: https://codereview.webrtc.org/1231823002
Cr-Commit-Position: refs/heads/master@{#9557}
To make it possible to exclude the examples when running
GYP on all.gyp.
The webrtc_examples.gyp already has an OS=="android" condition
inside it, so there's no need to check that before including it.
BUG=webrtc:4242
Review URL: https://codereview.webrtc.org/1196623006
Cr-Commit-Position: refs/heads/master@{#9556}
Note: Regarding the ICMP6_CLOSE_FUNC variable in winping.cc,
Icmp6CloseHandle does not exist, and IcmpCloseHandle is the correct way
to close an IPv6 handle. Therefore the existing code is correct to use
close_ on both types of connections and this variable is unnecessary.
BUG=505319
Review URL: https://codereview.webrtc.org/1231653003
Cr-Commit-Position: refs/heads/master@{#9555}
Relevant changes:
* src/third_party/icu: 7fe225d..c81a1a3
Details: 3ead4bc..f8d6ba9/DEPS
Clang version was not updated in this roll.
TBR=phoglund
Review URL: https://codereview.webrtc.org/1223013002
Cr-Commit-Position: refs/heads/master@{#9552}
To be used in tests that depend on specific field-trial settings without
overwriting the command-line flag for overriding field trials.
BUG=webrtc:4820
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1227653002
Cr-Commit-Position: refs/heads/master@{#9547}
These payload types aren't directly connected to any payload type, and
the payload type still has to be negotiated externally. As such these
constants are just a source of confusion.
BUG=
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1215603003
Cr-Commit-Position: refs/heads/master@{#9546}
This improves self-fairness and competing for resources with TCP flows.
BUG=4711
Review URL: https://codereview.webrtc.org/1151603008
Cr-Commit-Position: refs/heads/master@{#9545}
We have two histograms today that trigger on large jumps in either platform reported stream delays (WebRTC.Audio.PlatformReportedStreamDelayJump) or the system delay in the AEC (WebRTC.Audio.AecSystemDelayJump). The latter is the internal buffer size in the AEC.
The sizes of such jumps are of relevance since it can harm the AEC and even put it in a complete failure state. It is hard, not to say impossible, to tell how frequent it is.
Therefore, two complementary histograms are added; number of jumps in each metric.
This way we get a quick way to determine how often a jump occurs in general and also how frequent it is within a call.
This is solved by adding a counter for each metric.
The counter is activated either upon an event trigger or if we know for sure when the AEC is running.
Unfortunately, we can't rely on the destructor at the end of a call so we add a public API for the user to take on the action of calling it at the end of a call.
Tested locally by building ToT chromium including changes and three triggered jumps (200, 50 and 60 ms).
The stats picked up the 60 and 200 ms jumps as expected.
BUG=488124
R=asapersson@webrtc.org, pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1229443003.
Cr-Commit-Position: refs/heads/master@{#9544}
Bugs found by manual inspection of code, not by fuzzing or packet
replays. At least one of them confirmed by local fuzzing.
BUG=chromium:496094, webrtc:4771
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1182793002
Cr-Commit-Position: refs/heads/master@{#9542}
The UMA histograms WebRTC.Audio.AecSystemDelayJump and WebRTC.Audio.PlatformReportedStreamDelayJump triggers if the jump is larger than kMinDiffDelayMs.
Especially WebRTC.Audio.AecSystemDelayJump is sensitive around 50 ms differences, since the granularity is 4 ms and we can get a significant amount of hits at 52 ms.
Therefore, a change to 60 ms can make the logging more robust. The effect of not logging jumps in the interval 50-60 ms is of minor importance since they are not likely to affect the AEC performance. It's when we get values from ~100 ms and above that we should be worried.
Tested with a local ToT Chromium build where 52, 64 and 200 ms jumps were forced.
BUG=488124
TBR=henrik.lundin@webrtc.org
Review URL: https://codereview.webrtc.org/1208313003.
Cr-Commit-Position: refs/heads/master@{#9540}
This CL adds an API to the metrics observer interface to report negotiated
ciphers for WebRTC sessions. This can be used from Chromium for UMA metrics
later to get an idea which cipher suites are used by clients (e.g. compare
the use of DTLS 1.0 / 1.2).
BUG=428343
Review URL: https://codereview.webrtc.org/1156143005
Cr-Commit-Position: refs/heads/master@{#9537}
They make it possible to send bandwidth estimation info from decoder
to encoder even if they are separate objects (which we want them to be
because multithreading).
R=henrik.lundin@webrtc.org
Review URL: https://codereview.webrtc.org/1208923002.
Cr-Commit-Position: refs/heads/master@{#9535}
Reduces number of running (high-priority) threads, even though the
thread was practically blocked all the time.
Also adding DCHECKs to make sure we're not trying to use certain
sender-only methods on receivers and vice versa.
BUG=webrtc:1675, webrtc:1695
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1222193003
Cr-Commit-Position: refs/heads/master@{#9534}
Regression test for enforcing that frames with repeated or old NTP
timestamps are dropped.
BUG=chromium:480953, webrtc:4615
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1220193002
Cr-Commit-Position: refs/heads/master@{#9533}