Commit graph

46 commits

Author SHA1 Message Date
Jianjun Zhu
326df690b2 Use H26xPacketBuffer for H.264 and H.265 packets.
This CL updates RtpVideoStreamReceiver2 to use H26xPacketBuffer for
H.264 and H.265 packets. H.264 specific fixes are moved to
H26xPacketBuffer as well.

H26xPacketBuffer is behind field trial WebRTC-Video-H26xPacketBuffer.

Bug: webrtc:13485
Change-Id: I1874c5a624b94c2d75ce607cf10c939619d7b5b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/346280
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42062}
2024-04-15 09:06:12 +00:00
Danil Chapovalov
7fe3a48ee7 Delete expired field trial WebRTC-Video-RequestedResolutionOverrideOutputFormatRequest
Bug: webrtc:14451
Change-Id: Ic8287e5b97a335a8ce828df13b95b69c505a8de4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/346640
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42054}
2024-04-12 19:42:13 +00:00
Emil Lundmark
f591f2dcf1 Remove expired WebRTC-Aec3DelayEstimatorDetectPreEcho
Bug: webrtc:14205
Change-Id: Ib817b043d9368ba003b2b40a7315da845910c2f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345481
Reviewed-by: Lionel Koenig Gélas <lionelk@google.com>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Lionel Koenig <lionelk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42039}
2024-04-11 09:57:16 +00:00
Emil Lundmark
f505c7be44 Add safeguard for modifying POLICY_EXEMPT_FIELD_TRIALS
This will make it harder to inadvertently register new field trials in
the wrong collection. This has happened before, see 88a8e44a51 ("Remove
nonexempt field trials from POLICY_EXEMPT_FIELD_TRIALS") for example.

Additionally, field trials will now also be validated by default before
a C++ header is generated.

Bug: None
Change-Id: I298c1345d48a522ecb95fd0f0e09834c8bdff40a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/346543
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42034}
2024-04-10 19:09:34 +00:00
Emil Lundmark
ae53490d18 Extend WebRTC-Audio-OpusGeneratePlc
It's currently only used for testing but the initially selected end date
proved to be too short.

Bug: webrtc:13322
Change-Id: I459f315f2bad4592a1ab13190eca88a7d7cd7f90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345703
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42031}
2024-04-10 14:21:39 +00:00
Emil Lundmark
05e8162ebf Print bug URL for expired field trials
Bug: None
Change-Id: I293d72bde6e51382ba458ac5d364431ec19454c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/346542
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42030}
2024-04-10 12:11:23 +00:00
Emil Lundmark
06986dc187 Add flag to exclude policy exempt field trials when listing expired ones
This is a new version of 47cfed2a7d ("Add flag to exclude policy exempt
field trials when listing expired ones") that was reverted because the
CI didn't use a hermetic version of Python. This version relies on older
Python constructs so it can be used by the CI.

Bug: None
Change-Id: I3b4794242d48c59ad94c6210c774cced362fc279
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/346600
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42029}
2024-04-10 11:16:00 +00:00
Emil Lundmark
d5c107d5d4 Remove expired WebRTC-Bwe-SubtractAdditionalBackoffTerm
Bug: webrtc:13402
Change-Id: Ia5a741fb7af753fbcbf00ece4f8e321c9b2655a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345721
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42028}
2024-04-10 10:11:04 +00:00
Jeremy Leconte
868ab5e9a8 Revert "Add flag to exclude policy exempt field trials when listing expired ones"
This reverts commit 47cfed2a7d.

Reason for revert: breaking CI

Original change's description:
> Add flag to exclude policy exempt field trials when listing expired ones
>
> Bug: None
> Change-Id: I07bc9f3ad1172bcdaf205937fb518ec295c022bf
> No-Try: True
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/346420
> Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
> Reviewed-by: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#42019}

Bug: None
Change-Id: Idba5a521c2a9b2ad2327452295093204db7b2cf3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/346440
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#42020}
2024-04-09 09:33:21 +00:00
Emil Lundmark
47cfed2a7d Add flag to exclude policy exempt field trials when listing expired ones
Bug: None
Change-Id: I07bc9f3ad1172bcdaf205937fb518ec295c022bf
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/346420
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#42019}
2024-04-09 09:22:44 +00:00
Emil Lundmark
e92be7f42f Remove expired WebRTC-Aec3PenalyzeHighDelaysInitialPhase
Bug: webrtc:14919
Change-Id: I06214b7ff10847c55937cea70c6a09db1914efc8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345482
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42016}
2024-04-08 14:34:33 +00:00
Emil Lundmark
3fc8422993 Remove expired WebRTC-Aec3PreEchoConfiguration
This hard-codes the behavior to mode 3 with a threshold of 0.5 like was
already done by FetchPreEchoConfiguration.

Bug: webrtc:14205
Change-Id: I48d47a77c9df0001460788b504524203417f9647
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345483
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42015}
2024-04-08 13:03:56 +00:00
Emil Lundmark
4d598037a8 Remove expired WebRTC-Audio-NetEqFecDelayAdaptation
Bug: webrtc:13322
Change-Id: I50d2ffb16656bd485658cd6c379fa7e834ca1cf8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345702
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42009}
2024-04-06 08:57:52 +00:00
Emil Lundmark
71a5f58f9c Remove expired WebRTC-BurstyPacer
Bug: chromium:1354491
Change-Id: I5e3476406da63027ffd3e7a0683c4533ec7f6578
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345740
Reviewed-by: Erik Språng <sprang@google.com>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42001}
2024-04-05 07:52:14 +00:00
Emil Lundmark
6932042050 Remove expired WebRTC-Audio-OpusSetSignalVoiceWithDtx
Bug: webrtc:4559
Change-Id: I060ee6a6d4bbb3329dfdf7d6819a3d346da6a8b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345720
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42000}
2024-04-05 07:49:33 +00:00
Danil Chapovalov
358d674834 Cleanup RttMult experiment as launched
Bug: webrtc:9670
Change-Id: I252db24faf3d668bf24b8d372454003b553cc8d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343767
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41983}
2024-04-02 08:22:55 +00:00
Per K
e975b44a45 Reland "FrameCadenceAdapter keep track of Input framerate"
This reverts commit d427e83a15.

Reason for revert: Flaky test fixed.

Refactor FrameCandenceAdapter to keep track of input frame rate. This fixes an issue where frame rate is calculated too low if congestion window drop a frame.

Also a field trial WebRTC-FrameCadenceAdapter-UseVideoFrameTimestamp is added to control if VideoFrame timestamp should be used or local clock when calculating frame rate.
Uma is recorded to tell if input frame timestamp is monotonically increasing.

Bug: webrtc:10481, webrtc:15887, webrtc:15893
Change-Id: I76268aa0991dbc99c1b881fb251a76aa54ff2673
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/344561
Reviewed-by: Erik Språng <sprang@google.com>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41972}
2024-03-27 12:58:03 +00:00
Per Kjellander
d427e83a15 Revert "FrameCadenceAdapter keep track of Input framerate"
This reverts commit 784af1f42e.

Reason for revert: Seems like test test_support_unittests 
 ResolutionAdaptsToAvailableBandwidth is flaky with this cl.

Original change's description:
> FrameCadenceAdapter keep track of Input framerate
>
> Refactor FrameCandenceAdapter to keep track of input frame rate.
>
> Also a field trial WebRTC-FrameCadenceAdapter-UseVideoFrameTimestamp is added to control if VideoFrame timestamp should be used or local clock when calculating frame rate.
> Uma is recorded to tell if input frame timestamp is monotonically increasing.
>
> Bug: webrtc:10481, webrtc:15887
> Change-Id: I6d698e9f9dcfe8c023d2d35371435c47f70102b0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342760
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#41967}

Bug: webrtc:10481, webrtc:15887
Change-Id: Id9672764768f2f40f8e711e990ad8ac18c28efcc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/344560
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41969}
2024-03-26 15:56:15 +00:00
Per K
784af1f42e FrameCadenceAdapter keep track of Input framerate
Refactor FrameCandenceAdapter to keep track of input frame rate.

Also a field trial WebRTC-FrameCadenceAdapter-UseVideoFrameTimestamp is added to control if VideoFrame timestamp should be used or local clock when calculating frame rate.
Uma is recorded to tell if input frame timestamp is monotonically increasing.

Bug: webrtc:10481, webrtc:15887
Change-Id: I6d698e9f9dcfe8c023d2d35371435c47f70102b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342760
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41967}
2024-03-26 10:44:29 +00:00
Victor Boivie
8c3dc06544 Add WebRTC-DataChannelMessageInterleaving
This field trial will be used to roll out support for message
interleaving (RFC8260).

Bug: webrtc:5696
Change-Id: I5f91e8910ca5949fd62362a01e66f1e9bf834f81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343765
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41955}
2024-03-22 16:33:45 +00:00
philipel
626edea852 Use independet frame IDs between simulcast streams when WebRTC-GenericDescriptorAuth is disabled.
Implemented behind `WebRTC-Video-SimulcastIndependentFrameIds`.

Bug: b/329063481
Change-Id: I683e567bb5b449f998be57ec3a11bb3b95e3ace4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343382
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41927}
2024-03-19 10:03:36 +00:00
Philipp Hancke
a5cd6643f6 Add killswitch for receive-only setCodecPreferences change
Adds a killswitch
  WebRTC-SetCodecPreferences-ReceiveOnlyFilterInsteadOfThrow
to accompany the spec-change to throw when codec capabilities
are taken from the RtpSender instead of the RtpReceiver.
With the killswitch triggered, such codecs will be filtered.

BUG=webrtc:15396

Change-Id: I7d27111c72085eb7a7b2a1e66d0a08d12883ce17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/341460
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41845}
2024-02-29 12:43:05 +00:00
Emil Lundmark
88a8e44a51 Remove nonexempt field trials from POLICY_EXEMPT_FIELD_TRIALS
These were added in [1, 2] but are not exempt from the policy.

[1] https://webrtc-review.googlesource.com/c/src/+/322602
[2] https://webrtc-review.googlesource.com/c/src/+/324021

Bug: webrtc:15530, webrtc:15585
Change-Id: Icaa1dae6b0aaa7307f650e63d831d685b14e6853
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/339561
Auto-Submit: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41775}
2024-02-21 10:14:08 +00:00
Sergey Silkin
2a3db3131d Disable Android specific threading settings in libvpx VP8 encoder
It used up to 3 threads for QVGA on Android before. This change disables Android-specific code path in NumberOfThreads() and uses the generic settings, which configure 1 thread for resolutions <=VGA, instead. The change is guarded by a killswitch.

For reference, frame encode time for VGA 512kbps using 1 thread on Pixel 2 (7 years old device; SD835) is ~5.5ms: https://chromeperf.appspot.com/report?sid=6e80c701ef6ff0d008a299fb122a16f0d2600ddfcd9981d3d75cd722c92b2869

Bug: webrtc:15828, b/316494683
Change-Id: I0e9571ede64c6cb77d529d21ccb0310ccb8bfdaf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/337601
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41770}
2024-02-20 13:10:49 +00:00
Sergey Silkin
052bc3af92 Field trial to control SVC frame dropping mode in libvpx VP9 encoder
Example: "WebRTC-LibvpxVp9Encoder-SvcFrameDropConfig/Enabled,layer_drop_mode:1,max_consec_drop:7/"

It is only possible to enable LAYER_DROP (layer_drop_mode=1) for now. All other modes are ignored. Max consecutive frame drops (max_consec_drop) value from the field is always applied if the field trial is enabled.

LAYER_DROP requires flexible mode (is_flexible_mode_=true) which can be enabled by means of WebRTC-Vp9InterLayerPred: https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/media/engine/webrtc_video_engine.cc;l=976

Bug: webrtc:15827, b/320629637
Change-Id: I9c4d4838b11547e608d863198b109cb1485902d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/335041
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41755}
2024-02-16 17:34:52 +00:00
Jakob Ivarsson
f6ae657b07 Adapt NetEq delay to received FEC (both RED and codec inband).
This is achieved by notifing NetEq controller of all received packets
after splitting, which then does deduping so that only useful packets
are counted.

The goal is to reduce underruns when FEC is used.

The behavior is default enabled with a field trial kill-switch.

Bug: webrtc:13322
Change-Id: I2a1a78ead1a58940ef92da0d43413eda5ba1caf3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/337440
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41665}
2024-02-05 12:33:27 +00:00
Dan Tan
4860148c51 Add WebRTC-LibaomAv1Encoder-MaxConsecFrameDrop parameter to explicitly limit the maximum consecutive frame drop
Bug: webrtc:15821
Change-Id: Ib8be6827ea57e4e54269b94a0fc9ea81945af09f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/337020
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Commit-Queue: Dan Tan <dwtan@google.com>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41648}
2024-01-31 18:35:51 +00:00
Dan Tan
68e85b8d0d Adds WebRTC-Audio-PriorityBitrate for controlling audio/video rate allocation
Bug: webrtc:15769
Change-Id: Id260fb9540ecb79b0c349937e55db343e04178c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/334702
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Dan Tan <dwtan@google.com>
Cr-Commit-Position: refs/heads/main@{#41631}
2024-01-30 03:15:04 +00:00
Jakob Ivarsson
c3624d02d0 Add field trial that enables Opus PLC.
Low-Coverage-Reason: EXPERIMENTAL_CODE Code is behind field trial that will only be used for testing.
Bug: webrtc:13322
Change-Id: Ie306be808381b3a20b4e0d58349927bf3524018a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/335840
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41608}
2024-01-25 12:01:57 +00:00
Dan Tan
798e451878 Adds WebRTC-AV1-OverridePriorityBitrate to change bit rate allocation between audio and video
Bug: webrtc:15763
Change-Id: If53cb2750756e40a226097638f2a3c96e154e83d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/333984
Commit-Queue: Dan Tan <dwtan@google.com>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41586}
2024-01-20 07:15:38 +00:00
Danil Chapovalov
dda037db07 Remove unused field trial DisablePacerEmergencyStop
This field trial was added 5 years ago in
https://webrtc-review.googlesource.com/c/src/+/111883
probably as a safe guard, but looks never used.

Bug: webrtc:11503
Change-Id: Ia9544b652b25fad4c614d66fe020f3d994c96505
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/333380
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41490}
2024-01-09 15:03:34 +00:00
henrika
b7ec05777a FrameCadenceAdapter: now sets queue_overload based on encoder load
Measures the time consumed by OnFrame (e.g. the encoding time) and
sets an overload flag during N subsequent frames if the time is
longer than the current frame time. N is set to the number of
received frames on the network thread while being blocked by
encoding.

The queue overload mechanism for zero hertz can be disabled using the
WebRTC-ZeroHertzQueueOverload kill switch.

Also adds a UMA called WebRTC.Screenshare.ZeroHz.QueueOverload.

Bug: webrtc:15539
Change-Id: If81481c265d3e845485f79a2a1ac03dcbcc3ffc3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/332381
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41489}
2024-01-09 14:29:04 +00:00
Philipp Hancke
96e14c82b9 Remove WebRTC-Stats-RtxReceiveStats killswitch
the rollout happened in M115 without known issues.

BUG=webrtc:15096

Change-Id: I10961bfcc50450360cbf22cd60561ea3dc7e5594
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/329000
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#41269}
2023-11-29 08:12:17 +00:00
Philipp Hancke
977b56c9e9 Remove SSRCs from libSRTP when removing them from the rtp_demuxer
This uses libSRTPs srtp_remove_stream()
  https://github.com/cisco/libsrtp/blob/main/include/srtp.h#L597
method to remove SSRCs from the libSRTP session when they are removed
from the RTP demuxer. This works even when the stream was added
automatically via the ssrc_any_inbound mechanism.

Only streams for inbound SSRCs that were added explicitly via SDP negotiation are removed.

Guarded by WebRTC-SrtpRemoveReceiveStream field trial.

BUG=webrtc:15604

Change-Id: I655bde5f8ddf26ac91395ef54bd1b3c598813380
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324720
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#41105}
2023-11-08 10:24:10 +00:00
Erik Språng
665e6817d1 Add field trial to control network socket receive buffer size.
In some very high-bandwidth application there have been observations of
packet loss in the socket implementation (not on the network itself) due
to large bursts of packets arriving. Allocating too big buffers can of
course lead to issue as well, so this flag is intended to find a good
tradeoff.

Bug: webrtc:15585
Change-Id: I63eccb1a9f34d852d80c286fc27bffd17818f0ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324021
Auto-Submit: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40963}
2023-10-18 14:32:38 +00:00
Danil Chapovalov
8144935b78 Replace WebRTC-QuickPerfTest field trial with similar named dedicated test flag
Bug: webrtc:7101
Change-Id: I4034f90fdd3456c1d09981142ad494ad150f7b94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/322801
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40901}
2023-10-10 12:20:33 +00:00
Mirko Bonadei
a1773f05ab Register WebRTC-VP8-MaxFrameInterval.
Bug: webrtc:15530
Change-Id: I06da0515b04691f8dc69da0d4b1cb4bb1017c0cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/322602
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40878}
2023-10-06 08:29:02 +00:00
Harald Alvestrand
8e007bacda Remove field trial WebRTC-Turn-AllowSystemPorts
There's no trace of it being in use, so let's remove it.

Bug: webrtc:12497
Change-Id: I9e81ef58b459b5a0b9f79b6638231a3a19eb8a0e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/322180
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Auto-Submit: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40855}
2023-10-02 15:09:40 +00:00
Emil Lundmark
5e252b7fa5 Register WebRTC-Bwe-SubtractAdditionalBackoffTerm
It was introduced with 98e71f57ea ("Subtract an additional 5kbps of
the bitrate when backing off.").

Bug: webrtc:13402
Change-Id: Icf8c633fa5086ac1f854a112d8eaeaf47d1ae211
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321844
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40836}
2023-09-29 07:26:08 +00:00
Philipp Hancke
ebe207f71c Add field trial for enabling SSL client hello extension permutation
using WebRTC-PermuteTlsClientHello as a field trial.

This has been launched in Chromium already:
  https://groups.google.com/a/chromium.org/g/blink-dev/c/bYZK81WxYBo/m/lKLrZ_P2BwAJ

WebRTC-specific I2S:
  https://groups.google.com/a/chromium.org/g/blink-dev/c/1CIKec0W1fg

Chromestatus entry:
  https://chromestatus.com/feature/5191245718880256

BUG=webrtc:15467

Change-Id: I18f4065661bbe2db03e1823d7bfba4c9b60046aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318640
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40831}
2023-09-28 13:34:38 +00:00
Emil Lundmark
4001cc7453 Populate field trial registry
The lists has been constructed by grepping the code base from commit
bfc2a3553d ("Remove more codec-related templating") using the PCRE
'(?<=")WebRTC-[^\s/"]+' and manually removing some false positives. Each
field trials has then, on a best effort basis, been associated with a
bug by doing a reverse git log lookup and using the corresponding bug
tag that was associated with the commit where the field trial key was
first introduced.

The field trials are divided into active and policy exempt. The latter
are for field trials that were added before commit c4a35898d9 ("Add
documentation for field trials") which introduced the new policy that
field trials henceforth needs to be registered. These field trials may
not have an associated bug nor an end date.

For all field trials that have been deemed experimentational, including
many policy exempt ones, an initial end date of 2024-04-01 has been
chosen. This date was chosen based on that the policy was introduced on
2022-06-23 and will give about 6 month grace period to allow cleanup of
potentially already expired field trials. Owners are of course free to
adjust the end date at a later time.

The lists have been validated by running most tests with the following
GN arg set:

rtc_strict_field_trials = "dcheck"

Bug: webrtc:14154
Change-Id: Ic86d96933fbe0f18393ec57d36719a382855c694
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321581
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40819}
2023-09-27 07:35:38 +00:00
Emil Lundmark
5543a967cd Add sub-command for validating that field trials conforms to the policy
Bug: webrtc:14154
Change-Id: I2c12351abaa956ca5a38ab911c8cf887b4453958
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321184
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40818}
2023-09-27 07:32:35 +00:00
Emil Lundmark
9686a4b580 Add sub-command for listing expired field trials
Bug: webrtc:14154
Change-Id: I9c5c8c4a177fb863af7e2c0ed7fa99454019cfbe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321183
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40817}
2023-09-27 07:29:34 +00:00
Emil Lundmark
b7fca15fd4 Refactor global variables to be immutable
Bug: None
Change-Id: I764018705df668f83e9d8ac90766aa6b06c44614
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321182
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40816}
2023-09-27 07:23:18 +00:00
Emil Lundmark
7d81e18ac0 Reformat field_trials.py to follow PEP-8
Bug: None
Change-Id: I29fffef124e3ca54ec2075bbae005fd5fdd75e83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321181
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40815}
2023-09-27 07:20:45 +00:00
Emil Lundmark
64a33f2453 Add tool for generating field trial registry header
The tool will generate a C++ header with all field trials in
REGISTERED_FIELD_TRIALS. This registry will later be used while looking
up field trials from native code to ensure they have been properly
registered in accordance with the policy.

Bug: webrtc:14154
Change-Id: I29bf880735121034585c541c46ef19f617d0afb9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276268
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38426}
2022-10-18 07:25:43 +00:00