Histogram based percentile counter is added in ReceiveStatisticsProxy.
New 95th percentile metric is reported in the same way as interframe
delay.
Bug: webrtc:8347
Change-Id: I5e476cbb6361dd341cdb97c37d883c3923e5f611
Reviewed-on: https://webrtc-review.googlesource.com/6880
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20184}
This is a reland of b7239a9dc825ddb25dbc800aed3a065163b9a10e
Original change's description:
> Make rtc_base/refcount.h self contained, not including refcountedobject.h.
>
> The refcount.h file doesn't depend on anything from
> refcountedobject.h. The motivation of this change to make it possible
> to add additional declarations to refcount.h, and include it from
> refcountedobject.h.
>
> Bug: webrtc:8270
> Change-Id: I24f6131f471e675570968d00065ff9b1f55e3373
> Reviewed-on: https://webrtc-review.googlesource.com/5760
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20106}
Bug: webrtc:8270
Change-Id: I9738f6680ab52d0f43639a1a39175fdba5957681
Reviewed-on: https://webrtc-review.googlesource.com/5840
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20180}
There are some internal projects that need to be updated before we remove StartRtcEventLog and StopRtcEventLog. In this CL we take away the pure-virtuality status of the functions. After landing this, we can fix the internal projects, then land https://webrtc-review.googlesource.com/c/src/+/6782.
TBR=stefan@webrtc.org
Bug: webrtc:8111
Change-Id: Ibe495a7e7d6bf8120b1a26f056bd1443031733bf
Reviewed-on: https://webrtc-review.googlesource.com/6980
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20178}
When injecting video codec factories in the Obj-C SDK, use the new
peer connection API that uses webrtc::Video{De,En}CoderFactory classes
and does not automatically add internal software codecs. Instead the
injected factory can support internal VP8 and VP9 codecs through the
included Obj-C classes RTCVideo{De,En}coderVP{8,9}.
When not explicitly injecting any video codec factory, the old code
path is still used and injects only H264 as an external codec and
the internal codec factory is used.
Bug: webrtc:7925
Change-Id: I657d30dfde71da9c0be341e213ab9f97a04caa58
Reviewed-on: https://webrtc-review.googlesource.com/3620
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20175}
These field trials can be set with a string similar to:
WebRTC-BweWindowSizeInPackets/Enabled-150/WebRTC-BweBackOffFactor/Enabled-0.95/
BweWindowSizeInPackets
Number of packets which the delay-based BWE window is based on. A larger value means lower delay-sensitivity.
Default in WebRTC: 20
Reasonable values for streaming: 50-150
BweBackOffFactor
How far the BWE will back off when the delay increases. A value closer to 1.0 means smaller back-off.
Range: > 0.0, < 1.0
Default in WebRTC: 0.85
Reasonable values for streaming: 0.85-0.95
Bug: webrtc:8212
Change-Id: I61f0883788b689847a43273b63cef663042f4d42
Reviewed-on: https://webrtc-review.googlesource.com/6764
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20172}
This time, with variadic template args, and unit tests!
NOPRESUBMIT=True
Bug: None
Change-Id: I2669cf5b24ab511eef8c01866748c1424b04abe1
Reviewed-on: https://webrtc-review.googlesource.com/4300
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20171}
The unified Log() interface replaces the many old LogX() functions. This helps hide dependencies between the modules which log different events.
TBR=stefan@webrtc.org
Bug: webrtc:8111
Change-Id: I36c8b6c4cf03d738c9033af2e98db6dc200eede9
Reviewed-on: https://webrtc-review.googlesource.com/6940
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20170}
Both tests failed the linux_memchecks trybot, and so were removed. This attempts to reintroduce them.
Bug: webrtc:8111
Change-Id: I32c49cb1b2af16d80e6f32258501ab79535700c0
Reviewed-on: https://webrtc-review.googlesource.com/6285
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20169}
Bintray is a service for hosting repositories. It is widely used to
serve precompiled Android binaries because of the integration with
JCenter. This script uploads a precompiled WebRTC Android library to
a Bintray repository.
Bug: webrtc:8182
Change-Id: I7be04cea59827e28470acd934f6e09fc3abe2a72
Reviewed-on: https://webrtc-review.googlesource.com/4441
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20168}
This is a reland of 9185aca9ce1f66e983d9a5e797cab77a64cc46b0
> Original change's description:
> > > Clean up libjingle API dependencies.
> > >
> > > This CL moves candidate.h into the public API, since it has
> > > been implicitly included before.
> > >
> > > This is a straightforward way of solving the circular
> > > dependencies involving that file. For instance,
> > > libjingle_peerconnection_api includes candidate.h from
> > > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > > depends on _api. In fact, _api can't depend on much at all
> > > since it's a very high level abstraction; instead, things
> > > should depend on it.
> > >
> > > Furthermore, we have the case where deprecated headers
> > > include headers in internal modules. I just have to turn
> > > off include checking for those, but that's not a big deal.
> > >
> > > This CL punts the problem of callfactoryinterface.h being
> > > implicitly included, and pulling in most of the call
> > > module with it. This should be addressed in a follow-up
> > > CL.
> Bug: webrtc:7504
> Change-Id: Icae0ba1a0488550e2871cc65e66d3661707aa5b6
> Reviewed-on: https://webrtc-review.googlesource.com/6460
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20156}
TBR=deadbeef@webrtc.org
Bug: webrtc:7504
Change-Id: Ic6598ac2af9355b60bbd289c86dc75e0ae9fed2e
Reviewed-on: https://webrtc-review.googlesource.com/6801
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20167}
Unused since the deletion of the WEBRTC_TRACE facility.
Bug: webrtc:5118
Change-Id: Iad03a90a05c734ae867eb8a0265f65ae008486a4
Reviewed-on: https://webrtc-review.googlesource.com/6321
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20166}
Copy the chromium pattern of taking Traits as template args to be
able to write a testable implementation of ScopedTypeRef.
Add unit tests for th current implementation.
Bug: webrtc:7825
Change-Id: I26017952c042c8323b9c3841ec309e32d1c04a85
Reviewed-on: https://webrtc-review.googlesource.com/5621
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20165}
This CL adds the possibility to specify a custom path for the noise tracks to use with
the addivitve noise test data generator (formerly called environmental noise generator).
It also includes a minor refactoring of ApmModuleSimulator to allow injection and remove
all the parameters that were forwarded to its dependencies.
Bug: webrtc:7494
Change-Id: I07bc359913c375a51bd3692822814d3ce8437268
Reviewed-on: https://webrtc-review.googlesource.com/5982
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20163}
This simplifies the code and ensures we don't starve the decoder if
there are multiple output buffers queued.
Bug: webrtc:7760
Change-Id: I42c31f5045fca96847001260b8796d6756900d0f
Reviewed-on: https://webrtc-review.googlesource.com/5522
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20161}
This is expected to result in a slight loss of overall quality, but
should offset by quicker switching between temporal layers with flaky
connections.
Bug: webrtc:7694
Change-Id: Ib605802bb59f12773652324ac66cdf4774ae6bb6
Reviewed-on: https://webrtc-review.googlesource.com/6881
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20160}
The unified Log() interface replaces the many old LogX() functions. This helps hide dependencies between the modules which log different events.
TBR=stefan@webrtc.org
Bug: webrtc:8111
Change-Id: I5ea9fd50ba6da87d5867513c81c5e3bdb0524a32
Reviewed-on: https://webrtc-review.googlesource.com/2689
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20159}
This reverts commit 9185aca9ce1f66e983d9a5e797cab77a64cc46b0.
Reason for revert: Still breaks Chromium:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/29052
You cannot trust the *chromium* trybots due to https://bugs.chromium.org/p/chromium/issues/detail?id=771159
Original change's description:
> Reland "Clean up libjingle API dependencies."
>
> This is a reland of 5117b047875970cf61f2403b590c44c37bfa8272
> Original change's description:
> > > Clean up libjingle API dependencies.
> > >
> > > This CL moves candidate.h into the public API, since it has
> > > been implicitly included before.
> > >
> > > This is a straightforward way of solving the circular
> > > dependencies involving that file. For instance,
> > > libjingle_peerconnection_api includes candidate.h from
> > > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > > depends on _api. In fact, _api can't depend on much at all
> > > since it's a very high level abstraction; instead, things
> > > should depend on it.
> > >
> > > Furthermore, we have the case where deprecated headers
> > > include headers in internal modules. I just have to turn
> > > off include checking for those, but that's not a big deal.
> > >
> > > This CL punts the problem of callfactoryinterface.h being
> > > implicitly included, and pulling in most of the call
> > > module with it. This should be addressed in a follow-up
> > > CL.
> > >
> > > Bug: webrtc:7504
> > > Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> > > Reviewed-on: https://webrtc-review.googlesource.com/2020
> > > Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> > > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#20034}
>
> Bug: webrtc:7504
> Change-Id: Icae0ba1a0488550e2871cc65e66d3661707aa5b6
> Reviewed-on: https://webrtc-review.googlesource.com/6460
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20156}
TBR=phoglund@webrtc.org,deadbeef@webrtc.org,solenberg@webrtc.org
Change-Id: I699c68bd330b537005c3f2b8fe31702025df4e39
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7504
Reviewed-on: https://webrtc-review.googlesource.com/6800
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20157}
This is a reland of 5117b047875970cf61f2403b590c44c37bfa8272
Original change's description:
> > Clean up libjingle API dependencies.
> >
> > This CL moves candidate.h into the public API, since it has
> > been implicitly included before.
> >
> > This is a straightforward way of solving the circular
> > dependencies involving that file. For instance,
> > libjingle_peerconnection_api includes candidate.h from
> > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > depends on _api. In fact, _api can't depend on much at all
> > since it's a very high level abstraction; instead, things
> > should depend on it.
> >
> > Furthermore, we have the case where deprecated headers
> > include headers in internal modules. I just have to turn
> > off include checking for those, but that's not a big deal.
> >
> > This CL punts the problem of callfactoryinterface.h being
> > implicitly included, and pulling in most of the call
> > module with it. This should be addressed in a follow-up
> > CL.
> >
> > Bug: webrtc:7504
> > Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> > Reviewed-on: https://webrtc-review.googlesource.com/2020
> > Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20034}
Bug: webrtc:7504
Change-Id: Icae0ba1a0488550e2871cc65e66d3661707aa5b6
Reviewed-on: https://webrtc-review.googlesource.com/6460
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20156}
Always use the PF_SRTP_BYPASS when sending RTP/RTCP packets.
Change the condition in BaseChannel::GetSrtpOverhead.
Get the SRTP overhead when using either SDES or DTLS-SRTP.
Bug: None
Change-Id: I44aeff8b75e56b12acefd73299a95a3e38cd401b
Reviewed-on: https://webrtc-review.googlesource.com/6580
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20152}
Some applications enable logging before using PeerConnectionFactory.
Not loading native library in Logging.java broke these applications.
TBR=magjed@webrtc.org
Bug: webrtc:7474, b/67419105
Change-Id: I5984d2241cfb76e0edb5b5da0974c8693bf50603
Reviewed-on: https://webrtc-review.googlesource.com/6600
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20151}
The comment was updated here:
https://webrtc-review.googlesource.com/c/src/+/6200
But it should really refer to PeerConnectionFactory.initialize, which
is the new approved way of initializing webrtc in Java.
NOTRY=True
TBR=sakal@webrtc.org
Bug: None
Change-Id: I7b57f5abf926a1437bd61d6592ba236eb30ee9c5
Reviewed-on: https://webrtc-review.googlesource.com/6560
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20150}
It was not producing any results on presubmit for 2 reasons:
- The list of modified GN files contained relative paths but the list
of all GN files contains absolute paths.
- The root directory was not passed to the script and the path of the
first file substituted it.
Fix potential problem with using unescaped names in a regex.
Blacklist testdata directory with intentionally bad BUILD.gn files.
NOTRY=True
Bug: webrtc:6954
Change-Id: Ib0b845b9440b594960bc8a656e8a84d2ccb4a684
Reviewed-on: https://webrtc-review.googlesource.com/5981
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20149}
Needed because swarming adds --isolated-script-test-output and --isolated-script-test-perf-output
See for example:
https://chromium-swarm.appspot.com/task?id=39006c763bebf710
No-Try: true
Bug: chromium:755660
Change-Id: Iff9fb3441200f760c511a67211fbc4a1272717b4
Reviewed-on: https://webrtc-review.googlesource.com/6362
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20146}
This renames I420BufferImpl to JavaI420Buffer and moves it as part of
the API.
Bug: webrtc:7749
Change-Id: I70726f248ba4601b4922996712bdfdafbfa4a1e1
Reviewed-on: https://webrtc-review.googlesource.com/5381
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20145}
This is a reland of f4898a650954691d79bbc146d5b454fb5e67ec47
Original change's description:
> Don't download PESQ and POLQA in the low_bandwidth_audio_test.py script.
>
> They should've been downloaded already.
>
> NOTRY=True
>
> Bug: chromium:755660
> Change-Id: I8ecb355f06026a38bd9377633e2be6c55d7c6452
> Reviewed-on: https://webrtc-review.googlesource.com/5620
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20109}
No-Try: true
Bug: chromium:755660
Change-Id: I391130545eee5d4928101f87ac4a4e0945d665a1
Reviewed-on: https://webrtc-review.googlesource.com/6380
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20140}
A script for producing boxplots by parsing data generated by the
apm_quality_assessment.py tool.
The script groups data by the values of one or several audioproc_f
parameters. For every such subgroup it draws a boxplot. All boxplots
are shown next to each other with the parameter value as the x axis.
It is similar to this matplotlib example:
https://matplotlib.org/mpl_examples/pylab_examples/boxplot_demo_06.png
The script
1. reads config file names from the pandas dataframe generated by
quality_assurance.collect_data
2. parses the (JSON) config files to read the parameter values
3. groups data with matching param values together
4. draws a boxplot for each group using matplotlib
TBR=alessiob@webrtc.org # reviewed already in old gerrit https://chromium-review.googlesource.com/c/external/webrtc/+/660559
BUG: webrtc:7218
Change-Id: I380a1363d26721feb975fad1506835c622e9d926
Reviewed-on: https://webrtc-review.googlesource.com/6340
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20139}
This is a reland of 34cdd2d402b08aee4e17a6fd38c87e0e5cd7aa30
Original change's description:
> Remove AudioDeviceObserver and make ADM not inherit from the Module interface.
>
> (Re-upload of https://codereview.webrtc.org/3020493002/)
>
> Bug: webrtc:4690, webrtc:7306
> Change-Id: I67fb9ebca1296aabc08eae8a292a5c69832dc35e
> Reviewed-on: https://webrtc-review.googlesource.com/5360
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20083}
Bug: webrtc:4690, webrtc:7306
Change-Id: Ib019439fe6ab0e6b759819e1e9bd320ba1d983bd
Reviewed-on: https://webrtc-review.googlesource.com/6300
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20137}
This is needed in the general case, now that we aim to support codecs
other than those built-in to WebRTC.
BUG=webrtc:8159
Change-Id: I40a41252bf69ad5d4d0208e3c1e8918da7394706
Reviewed-on: https://webrtc-review.googlesource.com/5380
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20136}
We need to support two modes of writing to the output:
1. Current way - the application lets lets WebRTC know which file to write to, and WebRTC is then in charge of the writing.
2. New way - the application would receive indications from WebRTC about (encoded) RTC events, and would itself be in charge of processing them (be it writing it to a file, uploading it somewhere, etc.).
We achieve this by creating an interface for output - RtcEventLogOutput. By providing an instance of the subclass, RtcEventLogOutputFile, the old behavior is achieved. The subclass of the new behavior is to be added by a later CL.
TBR=stefan@webrtc.org
Bug: webrtc:8111
Change-Id: I9c50521a7f7144d86d8353a65995795862e19c44
Reviewed-on: https://webrtc-review.googlesource.com/2686
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20135}