These are mostly trivial changes and are separated out just to reduce the
diff on that change to the minimum possible.
Note explanatory comments on patch set 1.
BUG=none
TEST=none
Review URL: https://codereview.webrtc.org/1235643003
Cr-Commit-Position: refs/heads/master@{#9617}
Android has not yet finalized its libc++ build. Allow compilation with
stlport by removing several C++11 library usages.
BUG=427718,487341,webrtc:4866
R=andrew@webrtc.org
Review URL: https://codereview.webrtc.org/1250663007 .
Patch from Jared Duke <jdduke@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#9616}
Supports:
- bwe_plot.sh
---- Histogram plots
---- Baseline histograms
---- Vertical error lines
---- Dashed horizontal lines
---- Different colors for different algorithms
---- Legends read as input
---- Extra horizontal space in case there are TCP flows plotted
---- Multiple windows
---- Auto vertical scale, except for latency plots which are kept constant for all plots
- plot_dynamics.py
---- Dynamic plots
---- Different colors for different flows and algorithms
---- Dashed line plot for available capacity
---- Throughput, latency and loss on separated boxes
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1237903003 .
Cr-Commit-Position: refs/heads/master@{#9614}
Using explicit atomic operations permits TSan to understand them and
prevents false positives.
Downgrading the atomic Load to acquire semantics. This reduces the
number of memory barriers inserted from two down to one at most.
Also renaming Load/Store to AcquireLoad/ReleaseStore.
BUG=chromium:512382
R=dvyukov@chromium.org, glider@chromium.orgTBR=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1246073002
Cr-Commit-Position: refs/heads/master@{#9613}
It's built as a part of the chromium build(?), but causes problems with XCode 7's new bitcode intermediate format. It should really never been included, but it never caused link failures before.
BUG=
Review URL: https://codereview.webrtc.org/1236383002
Cr-Commit-Position: refs/heads/master@{#9606}
In #9243 we added some thread_checker. But it shouldn't be added into PlayoutDevices() and RecordingDevices(), since these two will be invoked from RecThread and PlayoutThread too, other than the main thread.
BUG=webrtc:4852
TEST=voe_cmd_test
R=henrika@webrtc.org
Review URL: https://codereview.webrtc.org/1249573002 .
Cr-Commit-Position: refs/heads/master@{#9605}
Added `RestartLocalTracks` and `RestartRemoteTracks` methods to
`MediaStreamHandlerContainer` which will redo the track handlers'
initial setup; most importantly, this will re-connect the
renderer/capturer/etc. to a channel which was destroyed and then
re-created.
Also added `AcceptRemoteTracks` method to MediaStreamSignaling, which
does the inverse of `RejectRemoteTracks`. Effectively this will notify
sinks that the track is live again, after previously being set to
`kEnded` when it was rejected.
BUG=webrtc:2136
Review URL: https://codereview.webrtc.org/1231613002
Cr-Commit-Position: refs/heads/master@{#9600}
Essentially we are carrying over the capture timestamp to the encoded frame sent out, so the frame lengths will contain no noise.
Review URL: https://codereview.webrtc.org/1225153002
Cr-Commit-Position: refs/heads/master@{#9597}
This was already working in most cases, but not for some corner cases:
* If the PORTALLOCATOR_ENABLE_SHARED_SOCKET flag is not set
* If both a STUN server and TURN server are configured
I added unit tests for these cases, and centralized the code that gets
STUN server addresses in order to fix these and any related issues.
BUG=webrtc:4215
Review URL: https://codereview.webrtc.org/1215713003
Cr-Commit-Position: refs/heads/master@{#9596}
"field_trial::FindFullName" can return "std::string()" which should not
be referenced by the caller.
Review URL: https://codereview.webrtc.org/1238943003
Cr-Commit-Position: refs/heads/master@{#9594}
This CL improves the memory footprint a bit by using string references
instead of creating a copy.
Review URL: https://codereview.webrtc.org/1241973002
Cr-Commit-Position: refs/heads/master@{#9592}
BUG=webrtc:4690
Defined classes Stream, SendStream and ReceiveStream. Inherited existing stream classes from either SendStream or ReceiveStream.
This is a step towards having a Transport associated with streams instead of a Call. It will allow a lot of code in the Call to be media type agnostic.
R=henrika@webrtc.org, pbos@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1226123005 .
Cr-Commit-Position: refs/heads/master@{#9591}
Tested that this doesn't break compatibility with Firefox or older
versions of Chrome, no matter which side generates the initial offer.
BUG=webrtc:2796
Review URL: https://codereview.webrtc.org/1219333002
Cr-Commit-Position: refs/heads/master@{#9589}
Using a right-sided (absolute value), truncated gaussian distribution originally with zero mean.
Currently truncated at x = 3 * std_dev.
Added expected value computation.
Modified jitter unittests accordingly.
BUG=webrtc:4848
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1237303002 .
Cr-Commit-Position: refs/heads/master@{#9587}
---- Dynamic receiving rate.
---- Dynamic packet-loss.
---- Dynamic objective function.
---- Dynamic available capacity.
---- Dynamic available capacity per flow.
---- Average delay Histogram with standard deviation or 5th/95th percentiles.
---- Average bitrate Histogram with error bars.
---- Optimal average bitrate dashed line.
---- Average packet-loss Histogram.
---- Total objective function Histogram.
Added media Pause/Resume methods to Video and TcpSender.
Modified LinkedSet: computing GlobalPacketLossRatio even if packet's sequence_number overflows.
Added small randomization to frame send times, modified bwe_test_framework_unittest accordingly.
Taking offset time into account for plotting.
Added nada_unittests.
Added bwe_unittests.
Added a RateCounter to BweReceiver (replaced ReceivingRate)
Added LossAccount.
Fixed NadaBweReceiver issue: using sender_timestamp instead of creation_time.
Fixed memory leaks.
Fixed int division rounding issues.
Supporting plots on bandwidth Estimators:
Logging received packet information on on SubClassesBweReceiver::ReceivePacket
Updating RateCounter, updating packet loss account and relieving LinkedSet when necessary.
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1202253003 .
Cr-Commit-Position: refs/heads/master@{#9585}
This patch tests separate iSAC encoder and decoder in more cases (32
kHz in addition to 16 kHz, and 30 ms adaptive and 60 ms nonadaptive).
In order to handle 32 kHz adaptive, the decoder needs to be told of
the encoder's sample rate (16 kHz worked already because that's the
default). And since we can't set the encoder's frame size without also
setting its bit rate, we need a way to set the decoder's bit rate as
well.
It turned out to be way too messy to continue verifying that the
bandwidth estimator does something reasonable in all these cases,
because it seems it doesn't. So the GetSetBandwidthInfo is now just
responsible for ensuring that split encoder/decoder behaves the same
as conjoined encoder/decoder; the job of verifying that the bandwidth
estimator does its job properly falls on some other test (that doesn't
exist yet).
Review URL: https://codereview.webrtc.org/1225093005
Cr-Commit-Position: refs/heads/master@{#9583}
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}