That is, the payload packetization overhead (eg. vp8 payload header),
not the RTP headers, extensions, etc.
The encoder and pacer both look at payload rate, but are currently not
aware of the bytes that are added in between them.
Bug: webrtc:10155
Change-Id: I4cdb04849d762360374d47a496983c8c6df191d2
Reviewed-on: https://webrtc-review.googlesource.com/c/115410
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26163}
While this class is deprecated, it's needed as a stop-gap solution.
Other methods to configure the max probe rate all effect the current
estimate and/or trigger new probes to be sent, and we need a way to
configure the max without affecting other behavior.
Bug: webrtc:10070
Change-Id: I2b0ba2fef42d0bab6e5ea7f7c921681557802b4b
Reviewed-on: https://webrtc-review.googlesource.com/c/114880
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26162}
There was no ',' between array-elements the stats-report, yielding
invalid JSON. Let's bring back the ",", which was lost during recent
refactoring.
Bug: webrtc:10173
Change-Id: Ib58025d56c4895c6af33b9777cb2ebdb94a678ea
Reviewed-on: https://webrtc-review.googlesource.com/c/116483
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26161}
This is a reland of 0cc42d47389c039c57e47d7ec0c76b97e2da2b0b
Original change's description:
> Reland "Default to dlopening the PipeWire."
>
> This is a reland of a099877d8946eb942046ca1295cc142e4fa7ea6f
>
> Original change's description:
> > Reland "Default to dlopening the PipeWire."
> >
> > This is a reland of a13be019017449c57f48203d0fb778f34f7553a7
> >
> > Original change's description:
> > > Default to dlopening the PipeWire.
> > >
> > > Reuse the existing infra from Chromium to do that. Additionally the
> > > target_gen_dir needs to the added to the include directories, otherwise
> > > the Chromium build will fail as it won't find the generated stubs. Also the
> > > pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
> > > require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
> > > doesn't work with them correctly. With all these changes in place the PipeWire
> > > support is enabled when compiling on Linux.
> > >
> > > Bug: chromium:682122
> > > Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/111081
> > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > Reviewed-by: Brave Yao <braveyao@webrtc.org>
> > > Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
> > > Cr-Commit-Position: refs/heads/master@{#25720}
> >
> > Bug: chromium:682122
> > Change-Id: I3cca3d4d961dc7a088346c8fd3c970d3dfde3b79
> > Reviewed-on: https://webrtc-review.googlesource.com/c/113040
> > Reviewed-by: Weiyong Yao <braveyao@chromium.org>
> > Reviewed-by: Brave Yao <braveyao@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> > Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#25981}
>
> Bug: chromium:682122
> Change-Id: Ief26c93069f946f981340664a267fcb412229285
> Reviewed-on: https://webrtc-review.googlesource.com/c/114163
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26004}
Bug: chromium:682122
Change-Id: I0a4ea7b39be5970f26df6dbc3e437dd63cdb8708
Reviewed-on: https://webrtc-review.googlesource.com/c/116280
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26154}
This changes the MIDs that are generated if calling createOffer twice without
setting a local or remote description.
Managing the list of seen mids is now deferred to a helper object.
This is a reland of 1c376760d83119166407913b965e2e40e9d0c5f6.
> Bug: None
> Change-Id: I3440d62129884ae49aefd18e03c3a55ae096d923
> Reviewed-on: https://webrtc-review.googlesource.com/c/116021
> Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26130}
Bug: None
Change-Id: Ic8b07a252869f67a476e3af84b8072b7a130f7fd
Reviewed-on: https://webrtc-review.googlesource.com/c/116381
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26151}
The behavior implemented in this CL matches Firefox:
1. If there are no common media sections from the previous
BUNDLE group, then the previous transport is stopped
and a new transport created.
2. If there is at least one common media section from the
previous BUNDLE group, then the existing transport is
reused.
This will only happen if the tagged media section is rejected.
Bug: webrtc:9954
Change-Id: If0f0733c0ab91858594304828d126640e2ab9520
Reviewed-on: https://webrtc-review.googlesource.com/c/114920
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26150}
This CL removes MediaOptmization and folds some of its functionality
into VideoStreamEncoder.
The FPS tracking is now handled by a RateStatistics instance. Frame
dropping is still handled by FrameDropper. Both of these now live
directly in VideoStreamEncoder.
There is no intended change in behavior from this CL, but due to a new
way of measuring frame rate, some minor perf changes can be expected.
A small change in behavior is that OnBitrateUpdated is now called
directly rather than on the next frame. Since both encoding frame and
setting rate allocations happen on the encoder worker thread, there's
really no reason to cache bitrates and wait until the next frame.
An edge case though is that if a new bitrate is set before the first
frame, we must remember that bitrate and then apply it after the video
bitrate allocator has been first created.
In addition to existing unit tests, manual tests have been used to
confirm that frame dropping works as expected with misbehaving encoders.
Bug: webrtc:10164
Change-Id: I7ee9c8d3c4f2bcf23c8c420310b05a4d35d94744
Reviewed-on: https://webrtc-review.googlesource.com/c/115620
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26147}
This causes a crash if the NV12 texture cache attempts to upload textures
for a frame with a NULL backing CVPixelBufferRef.
Bug: webrtc:10175
Change-Id: I6866dcde5ace745cbd95b762254294aa8406c2a5
Reviewed-on: https://webrtc-review.googlesource.com/c/115430
Commit-Queue: Chuck Hays <haysc@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26140}
This reverts commit 1c376760d83119166407913b965e2e40e9d0c5f6.
Reason for revert: Breaks chromium tests. Will fix those and reland.
Original change's description:
> Refactoring MID generation to use unique string generator.
>
> Managing the list of seen mids is now deferred to a helper object.
>
> Bug: None
> Change-Id: I3440d62129884ae49aefd18e03c3a55ae096d923
> Reviewed-on: https://webrtc-review.googlesource.com/c/116021
> Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26130}
TBR=steveanton@webrtc.org,shampson@webrtc.org,amithi@webrtc.org
Change-Id: Ifdf12b7cfa95d683927ce3827fe88c74379c9f6b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/116201
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26139}
It is a step in the big refactoring to introduce new network emulation
layer for peer connection level e2e test, which will be based on system
sockets level injection.
Bug: webrtc:10138
Change-Id: Ie3854d22aa3eec289617bc432026ea670646556a
Reviewed-on: https://webrtc-review.googlesource.com/c/115943
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26137}
This updates some tests to use AudioProcesing::Config() and
AudioProcessing::GetStatistics() instead.
Some tests are left with voice_detection() because
a) not all tests make sense to run both APIs in parallel, and
b) we want test coverage of the old VoiceDetection until it is removed.
Bug: webrtc:9947
Change-Id: Ifb21a1e6e931d7ad3c3a4e38f5cc4f146da3c9a3
Reviewed-on: https://webrtc-review.googlesource.com/c/116160
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26134}
When using WebRTC in iOS this Warning is shown for every single call even if stereo is not being used at all.
Change-Id: I0cc71620b9deb0692544101d78c0801968edbb26
Bug: webrtc:10146
Change-Id: I0cc71620b9deb0692544101d78c0801968edbb26
Reviewed-on: https://webrtc-review.googlesource.com/c/85283
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26133}
This removes the dependency on sstream which will reduce binary size.
Bug: webrtc:8982
Change-Id: I153390f2d8baf3e15875c39d1f5027b3575bca31
Reviewed-on: https://webrtc-review.googlesource.com/c/115748
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26127}
Previously we were setting the property again in it's setter. This is
obviously not a great idea. CL 109641 changed ivar accesses in blocks
to property accesses and this bug got introduced there.
Bug: webrtc:10110, webrtc:10127, webrtc:9971
Change-Id: I01abb0885b3bfc91fb741d82d1ece015ee9d3b58
Reviewed-on: https://webrtc-review.googlesource.com/c/116062
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26124}
This wires up the "state change" event and defines an observer
class that can be used by clients.
Bug: chromium:907849
Change-Id: I3cba2dc051a56280fb958f139f29cbb0022a39c6
Reviewed-on: https://webrtc-review.googlesource.com/c/114884
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26120}
The ANA frame length controller requires the provided frame lengths supported by the encoder to be ordered. A data structural guarantee of such was in an earlier version but was accidentally removed since https://codereview.webrtc.org/2429503002. This CL uses std::set to ensure that again.
Change-Id: Ia197dbf6a34f02506e81c9f49d6cd60e4cdacef4
BUG: webrtc:6303
Reviewed-on: https://webrtc-review.googlesource.com/c/115946
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26119}
This change adds Simulcast negotiation to media session offers/answers.
Next step is to add negotiation logic to PeerConnection.
Bug: webrtc:10075
Change-Id: Iea3a1084c16058f0efbc974cf623ec05c3c7a74f
Reviewed-on: https://webrtc-review.googlesource.com/c/115790
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26115}