According to https://www.w3.org/TR/webrtc-stats/#sentrtpstats-dict* and
https://tools.ietf.org/html/rfc3550#section-6.4.1, the bytes sent
statistic should not include headers or padding.
Similarly, according to
https://www.w3.org/TR/webrtc-stats/#inboundrtpstats-dict*, bytes
received are calculated the same way as bytes sent (eg. not including
padding or headers).
This change stops adding padding and headers to these statistics.
Bug: webrtc:8516,webrtc:10525
Change-Id: I891ad5a11a493cc3212afe93e13f62795bf4031f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146180
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28647}
This reverts commit d978cb43c238ca24b2320acd7b656f446b906101.
Reason for revert: It breaks perf tests: https://ci.chromium.org/p/webrtc/builders/perf/Perf%20Android32%20(L%20Nexus4)/1561
Original change's description:
> Record audio/video bytes sent in analyzer stream stats.
>
> For each SSRC report, record the number of bytes sent for that stream
> and expose them in analyzer stats. These numbers can be used to
> determine useful metrics such as total media throughput (by adding the
> bytes sent for all streams) and overhead (by subtracting that amount
> from the total bytes sent to the network).
>
> Bug: webrtc:9719
> Change-Id: I977bbd40acdd0a1ec64763ddd55a642b9a50f309
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146240
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28637}
TBR=mbonadei@webrtc.org,mellem@webrtc.org,titovartem@webrtc.org
Change-Id: I3e46307dd6ef121b9377b93fc8d9fa788245ea5f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146605
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28646}
For each SSRC report, record the number of bytes sent for that stream
and expose them in analyzer stats. These numbers can be used to
determine useful metrics such as total media throughput (by adding the
bytes sent for all streams) and overhead (by subtracting that amount
from the total bytes sent to the network).
Bug: webrtc:9719
Change-Id: I977bbd40acdd0a1ec64763ddd55a642b9a50f309
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146240
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28637}
The code was doing nothing except for triggering thread sanitizer,
since concurrent writes weren't guarded:
* ReadRecordedData() through webrtc_audio_module_rec_thread
* InitPlayout() through main thread
Bug: webrtc:9751
Change-Id: I7ecf4fa436ff0695e5b998d7e3f159fb6c7e9214
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146216
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28636}
Lifetime issue: "webrtc_audio_module_rec_thread" was still accessing
AudioTransport mock at and after its destruction.
Bug: webrtc:9751
Change-Id: I24308077cdeb77e570b8ec74098f1ae3397b7155
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146217
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28635}
It's not currently used and it complicates receive side estimation.
Bug: webrtc:10742
Change-Id: Iaa3c86807c7b637aea3ff393e728dc91eac23db6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145724
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28623}
Emscripten does not support C++11 thread_local but does support
the pthread TLS API.
Bug: None
Change-Id: Ia21895148d1df7652579d086d9e1c0c53d7a85f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145441
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28621}
WebRTC has been migrated to Abseil Flags.
Bug: webrtc:10616
Change-Id: Id4a363429ccd2dd55c0dff00c9490c15124fdccc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144631
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28620}
This tool is unused, this CL removes it in order to reduce the cost
of the maintenance (in the last 2 years only maintenance commits have
been landed in this directory).
Bug: None
Change-Id: Ieec113bc25c480405d32e284a0456572758352e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146204
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28619}
Rationale:
* More explicit (you won't miss that when glancing at the code).
* More consistent (see MAYBE_* in other tests).
* Allow to re-activate tests via CLI (--gtest_also_run_disabled_tests).
* Tests won't wrongly show up as PASSING (bug/webrtc:10819),
since they won't show up at all.
Bug: webrtc:9778
Change-Id: Ic32e18cb8ee2352def95206c2aa66e1dea0cc1e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146200
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28617}
This CL removes the field trial left in place as a kill-switch in case
there were any regressions related to selecting payload padding based
on the likelihood of being useful instead of matching size.
It also removes the functionality that was only enabled with the
kill-switch active.
The feature has been default-on since June 23rd 2019:
https://webrtc.googlesource.com/src.git/+/214f54365ec210db76218a35ead66c9ce23e068e
Since we have not observed any issues, let's clean this code up.
Bug: webrtc:8975
Change-Id: I7f49fe354227b3f6566a250332e56b6d70fe2f09
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145821
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28616}
This CL fixes two things related to the (not yet active) new
PacedSender code path:
1. Make sure BWE header extensions are properly populated for all
padding packets.
2. When generating padding, don't hold the RtpSender critsect when
accessing the RtpPacketHistory as this may lead to a lock order
inversion.
Bug: webrtc:10633
Change-Id: I8650fbf5dafddbeae61837d2137338163e1c48ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145723
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28613}
SVC support is limited:
During SVC testing there is no SFU, so framework will try to emulate SFU
behavior in regular p2p call. Because of it there are such limitations:
* if |target_spatial_index| is not equal to the highest spatial layer
then no packet/frame drops are allowed.
If there will be any drops, that will affect requested layer, then
WebRTC SVC implementation will continue decoding only the highest
available layer and won't restore lower layers, so analyzer won't
receive required data which will cause wrong results or test failures.
Bug: webrtc:10138
Change-Id: I079566260ca9f1815935bce365d1bca10766663a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144882
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28612}
This API is going away, we'll use the WebRTC-Audio-Allocation field
trial flag to set this value in the future.
Bug: webrtc:10556
Change-Id: I2c4c1948a33f909fac069dd038cea36a793e4745
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145405
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28608}
This is the last CL required to migrate WebRTC to ABSL_FLAG, rtc::Flag
will be removed soon after this one lands.
Bug: webrtc:10616
Change-Id: I2807cec39e28a2737d2c49e2dc23f2a6f98d08f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145727
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28606}
libs should be propagated to the final binary even without that:
https://gn.googlesource.com/gn/+/master/docs/reference.md#var_libs
But add some missing SDK framework dependencies:
* RTCNativeI420Buffer.mm uses CGBitmapContextGetBytesPerRow.
* socketrocket uses SecCertificateCopyData.
Bug: None
Change-Id: Iba38a5dfaf470a5a790d494cbec8ade44b1d16ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146082
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28605}
Landing with TBR given vacation times and the fact that none of this
code is active "in production". The ADM2 implementation can be seen
as experimental (non-default) code and it takes some work to enable it
and replace the existing ADM. Hence, extremely low risk to break
anything.
TBR: henrik.lundin
Bug: webrtc:9265
Change-Id: Ibc9a57f4851bf4b890b77b9eaef1dfbe3ca86f83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146084
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28601}
Landing with TBR given vacation times and the fact that none of this
code is active "in production". The ADM2 implementation can be seen
as experimental (non-default) code and it takes some work to enable it
and replace the existing ADM. Hence, extremely low risk to break
anything.
TBR: henrik.lundin
Bug: webrtc:9265
Change-Id: Ia5cfb2aaa8eaf9537b916b3375f55d8df6287071
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145921
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28600}