Now WebRTC.Video.MediaBitrateReceived.S0 UMA metric will be counted more
correctly. Before, only keyframes were counted there. Now except some
occasional reorderings near content_type switch, all frames should be
counted correctly.
Note,
WebRTC.Video.MediaBitrateReceived will still be larger than sum of sliced
variants because it includes header overhead while sliced metrics do not.
Bug: none
Change-Id: Ia25d6e3efb572f3fe2e9651996b2243716698140
Reviewed-on: https://webrtc-review.googlesource.com/c/106702
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25253}
With this CL, the main and shadow filters are no longer fully reset to
0 as the delay changes. This allows for more robust echo removal for
some scenarios.
Bug: webrtc:9879,chromium:895838
Change-Id: I859aa3df3ae41648bc8efde01ec2e2a5cb392279
Reviewed-on: https://webrtc-review.googlesource.com/c/106345
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25251}
This is needed for absl::make_unique. absl/memory/memory.h is included
through absl/types/optional.h on C++14 mode, but is not on C++17 mode.
Bug: chromium:752720
Change-Id: I28c0dfc9c37910bcb8f0c0bbe40cdd47f2105e50
Reviewed-on: https://webrtc-review.googlesource.com/c/106760
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25247}
This CL uses RTC_EXPORT (defined in rtc_base/system/rtc_export.h)
to mark WebRTC symbols as visible from a shared library, this doesn't
mean these symbols are part of the public API (please continue to refer
to [1] for info about what is considered public WebRTC API).
[1] - https://webrtc.googlesource.com/src/+/HEAD/native-api.md
Bug: webrtc:9419
Change-Id: I12ef6f85ccef7dae3afe9ecff99725af13d551e2
Reviewed-on: https://webrtc-review.googlesource.com/c/106684
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25246}
Currently with in Unified Plan an initial offer will include both
"a=ssrc:... msid:..." lines and "a=msid:... ..." lines. The a=ssrc line
is added in order to support signaling to a Plan B endpoint. Although if
no stream is associated to a given track it will only be signaled in the
"a=msid" line with "-". The "a=ssrc msid" line will simply put an empty
string for the msid, which does not interoperate with FF. This change
adds support so that both lines will signal a "-".
Bug: webrtc:9880
Change-Id: I73655ce3c11a924b508616d820555bf24aae1bd3
Reviewed-on: https://webrtc-review.googlesource.com/c/106605
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25241}
This is a reland of da65ed2adcfa57ff3288ce01c1602c973fcab00d
Original change's description:
> Reland "Propagate media transport to media channel."
>
> This reverts commit 37cf2455a420124b341ad06ac27fa3c4dbd29d3c.
>
> Reason for revert: <INSERT REASONING HERE>
>
> Original change's description:
> > Revert "Propagate media transport to media channel."
> >
> > This reverts commit 8c16f745ab92cb6d305283e87fa8a661ae500ce4.
> >
> > Reason for revert: Breaks downstream project
> >
> > Original change's description:
> > > Propagate media transport to media channel.
> > >
> > > 1. Pass media transport factory to JSEP transport controller.
> > > 2. Pass media transport to voice media channel.
> > > 3. Add basic unit test that make sure if peer connection is created with media transport, it is propagated to voice media channel.
> > >
> > > Change-Id: Ie922db78ade0efd893e019cd2b4441a9947a2f71
> > > Bug: webrtc:9719
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/105542
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > > Reviewed-by: Peter Slatala <psla@webrtc.org>
> > > Commit-Queue: Anton Sukhanov <sukhanov@google.com>
> > > Cr-Commit-Position: refs/heads/master@{#25152}
> >
> > TBR=steveanton@webrtc.org,nisse@webrtc.org,psla@webrtc.org,sukhanov@google.com
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug: webrtc:9719
> > Change-Id: Ic78cdc142a2145682ad74eac8b72c71c50f0a5c1
> > Reviewed-on: https://webrtc-review.googlesource.com/c/105840
> > Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> > Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#25154}
>
> TBR=steveanton@webrtc.org,oprypin@webrtc.org,nisse@webrtc.org,sukhanov@webrtc.org,psla@webrtc.org,sukhanov@google.com
>
> Change-Id: I505ff3451eae81573531faef155ff35d7f894022
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9719
> Reviewed-on: https://webrtc-review.googlesource.com/c/106500
> Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
> Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25220}
Bug: webrtc:9719
Tbr: Steve Anton <steveanton@webrtc.org>
Tbr: Niels Moller <nisse@webrtc.org>
Change-Id: Ib45691ba8be9abb89ff8c6dac1861bdf59be4c8d
Reviewed-on: https://webrtc-review.googlesource.com/c/106561
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25240}
This change adds a new subcategory to the public native webrtc::CryptoOptions
structure: webrtc::CryptoOptions::Frame.
This new structure has a single off by default property:
crypto_options.frame.require_frame_encryption.
This new flag if set prevents RtpSenders from sending outgoing payloads unless
a frame_encryptor_ is attached and prevents RtpReceivers from receiving
incoming payloads unless a frame_decryptor_ is attached.
This option is important to enforce no unencrypted data can ever leave the
device or be received.
I have also attached bindings for Java and Objective-C.
I have implemented this functionality for E2EE audio but not E2EE video
since the changes are still in review.
Bug: webrtc:9681
Change-Id: Ie184711190e0cdf5ac781f69e9489ceec904736f
Reviewed-on: https://webrtc-review.googlesource.com/c/105540
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25238}
Padding size and header size are not part of the header, but we still
want to log them. Add the values as separate fields to the log events.
Bug: webrtc:8111
Change-Id: I8dfa2ccafe679f96b8911b538a8512b0170bc642
Reviewed-on: https://webrtc-review.googlesource.com/c/106321
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25237}
The object should end up in a valid state, just like after being moved
from.
Bug: webrtc:9857
Change-Id: Ia11f9b8e3191ffe749e4a0640cad946038f494a4
Reviewed-on: https://webrtc-review.googlesource.com/c/106701
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25233}
We're no longer verifying CSRCs or configurations for remb, rtcp mode
and codec since we're planning to drop those fields from the log in an upcoming CL.
Bug: webrtc:8111
Change-Id: I38a7d87b21f8e6d8a791d8e27a0f54c293f3d340
Reviewed-on: https://webrtc-review.googlesource.com/c/106380
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25229}
Downstream clients will be able to use GetConfiguration() and SetConfiguration() to enable MediaTransport.
Bug: webrtc:9719
Change-Id: Ica77b25222732df211dc492dac848342d3f90ff2
Reviewed-on: https://webrtc-review.googlesource.com/c/106423
Commit-Queue: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25221}
This reverts commit 37cf2455a420124b341ad06ac27fa3c4dbd29d3c.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Revert "Propagate media transport to media channel."
>
> This reverts commit 8c16f745ab92cb6d305283e87fa8a661ae500ce4.
>
> Reason for revert: Breaks downstream project
>
> Original change's description:
> > Propagate media transport to media channel.
> >
> > 1. Pass media transport factory to JSEP transport controller.
> > 2. Pass media transport to voice media channel.
> > 3. Add basic unit test that make sure if peer connection is created with media transport, it is propagated to voice media channel.
> >
> > Change-Id: Ie922db78ade0efd893e019cd2b4441a9947a2f71
> > Bug: webrtc:9719
> > Reviewed-on: https://webrtc-review.googlesource.com/c/105542
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Peter Slatala <psla@webrtc.org>
> > Commit-Queue: Anton Sukhanov <sukhanov@google.com>
> > Cr-Commit-Position: refs/heads/master@{#25152}
>
> TBR=steveanton@webrtc.org,nisse@webrtc.org,psla@webrtc.org,sukhanov@google.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: webrtc:9719
> Change-Id: Ic78cdc142a2145682ad74eac8b72c71c50f0a5c1
> Reviewed-on: https://webrtc-review.googlesource.com/c/105840
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25154}
TBR=steveanton@webrtc.org,oprypin@webrtc.org,nisse@webrtc.org,sukhanov@webrtc.org,psla@webrtc.org,sukhanov@google.com
Change-Id: I505ff3451eae81573531faef155ff35d7f894022
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/106500
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25220}
This CL just updates some of the vertical spaces, if conditional scoping rusles
etc fro openssladapter.cc. This is part of an ongoing effort to clean up this
code base.
Bug: webrtc:9860
Change-Id: I628edaa663cb977fefdff186fa015e4b0a794db1
Reviewed-on: https://webrtc-review.googlesource.com/c/106240
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25218}
Java apps currently have no way of setting MediaTransportInterface on
the PeerConnectionFactory. This change adds that ability.
Bug: webrtc:9719
Change-Id: I312893a153b5b3d978912cba4db60cd97001c8f3
Reviewed-on: https://webrtc-review.googlesource.com/c/105740
Commit-Queue: Peter Slatala <psla@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25217}
This CL avoids that unpack_aecdump produces an empty callorder.char file
regardless of it not writing any data to that file
Bug: webrtc:5298
Change-Id: I15b01764a0dc16045346dd680e9bd4c1869c0d2c
Reviewed-on: https://webrtc-review.googlesource.com/c/98340
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25214}
This changes the behavior to a probe only gets trigged if
the total max allocated bitrate actually changed.
Also adding helpful log dump flag to ramp up tests that
was used to investigate the issue.
Bug: chromium:894434
Change-Id: I907675b8fd5a339f838b07d433ecf837e312def1
Reviewed-on: https://webrtc-review.googlesource.com/c/105981
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25212}
This CL introduces two related changes
1) It changes the way that the AEC3 determines whether the linear
filter is sufficiently good for its output to be used. The new scheme
achieves this much earlier than what was done in the legacy scheme.
2) It changes the way that saturated echo is and handled so that the
impact of the nearend speech is lower.
Bug: webrtc:9835,webrtc:9843,chromium:895435,chromium:895431
Change-Id: I0b493676886e2134205e9992bbe4badac7e414cc
Reviewed-on: https://webrtc-review.googlesource.com/c/104380
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25208}
This CL uses RTC_EXPORT (defined in rtc_base/system/rtc_export.h)
to mark WebRTC symbols as visible from a shared library, this doesn't
mean these symbols are part of the public API (please continue to refer
to [1] for info about what is considered public WebRTC API).
Bug: webrtc:9419
Change-Id: I4d4e2ae52ee01de68147fd0f2cfe4c92d600ad94
Reviewed-on: https://webrtc-review.googlesource.com/c/106343
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25207}
Pacer may accept same packet serveral time for resending,
packet may spend non-zero time in pacer queue.
As a result packet can be resend several time within one rtt
wasting bandwidth.
Bug: None
Change-Id: I753a5400b47d3804735e66e539a1b103916d0c94
Reviewed-on: https://webrtc-review.googlesource.com/c/106260
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25205}