6168 Commits

Author SHA1 Message Date
Alessio Bazzica
eeb223557f Retune AGC2 input volume controller speech ratio threshold
Based on offline testing; needed to allow input volume adaptations
more frequently. Note that if the estimated speech level falls in
the target range, the recommended input volume won't change and
hence the new lower threshold won't necessarily increase the
number of adjustments.

Bug: webrtc:7494
Change-Id: Iabb501c188da238ea7b7137175bcfe09239c90a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291110
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39161}
2023-01-20 14:03:58 +00:00
Danil Chapovalov
4cb2ac0e30 User Timestamp and TimeDelta instead of raw ints in RtpSenderEgress
Bug: webrtc:13757
Change-Id: I5244ed1148f628df9482f934fdfb509e511a9856
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291103
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39151}
2023-01-19 16:23:59 +00:00
Salman
abb64161e4 mouse_cursor_monitor: Annotate a method with RTC_EXPORT
This is used by CRD and export is required for component builds
to work properly.

Bug: chromium:1291247
Change-Id: I281e490b7d00cbd074b96eac905976af38400f8b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291200
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Auto-Submit: Salman Malik <salmanmalik@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39143}
2023-01-18 23:36:03 +00:00
Danil Chapovalov
e6b3f48a06 Reland "Move leb128 helper functions into own build target"
This is a reland of commit fa962ffc698bda5bc7306ac5c3fd626eef737775

Original change's description:
> Move leb128 helper functions into own build target
>
> to remove duplicated implementation of these functions between av1 packetizer, av1 depacketizer and video allocation rtp header extension
>
> Bug: None
> Change-Id: I30049f31c289bdb9e0aad6520f5145d1f999e635
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290731
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39069}

Bug: None
Change-Id: I091276868599a6716407db2972457507ddd46a8c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290961
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39135}
2023-01-18 12:44:46 +00:00
Sergio Garcia Murillo
1389c4b594 Add 444 10 bits support for H264 and VP9
This CL adds support for I410 buffers (444 10 bits) and modify vp9 and h264 for being able to convert input buffer to it when appropiate.

Bug: webrtc:14818
Change-Id: I2fb3dc9d80c5338944c6df74dd6217a0454180d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290721
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39123}
2023-01-17 12:32:26 +00:00
Alessio Bazzica
40b5bd72d0 APM: fix TS initialization bugs with WebRTC-Audio-GainController2
When the `WebRTC-Audio-GainController2` field trial is used, the
initial APM configuration is adjusted depending on its original
values and the field trial parameters.

This CL fixes two cases when the code crashes:
1. when, in the initial APM config, AGC1 is enabled, AGC2 is
   disabled and TS is enabled
2. when the initial APM sample rate is different from the
   capture one and the VAD APM sub-module is not re-initialized

This CL also improves the unit tests coverage and it has been
tested offline to check that the VAD sub-module is created only
when expected and that AGC2 uses its internal VAD when expected.
The tests ran on a few Wav files with different sample rates and
one AEC dump and on 16 different APM and field trial
configurations.

Bug: chromium:1407341, b/265112132
Change-Id: I7cc267ea81cb02be92c1f37f273b7ae93b6e4634
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290988
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39118}
2023-01-16 20:30:12 +00:00
Florent Castelli
a6b9924988 Remove all usage of //rtc_base target
Bug: webrtc:9838
Change-Id: If813dbb426b4dc848185b64c0349d03fa9c059f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290986
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39116}
2023-01-16 14:36:06 +00:00
Fredrik Hernqvist
efbe753617 Add RTCAudioPlayoutStats to GetStats().
This is done by allowing implementations of AudioDeviceModule to
implement the GetStats() method. The default implementation returns
nullopt, in which case RTCAudioPlayoutStats will not be visible in the
stats.

Bug: webrtc:14653
Change-Id: I8e4aa6f1b8fcfa47a30f633d28a4013191752e20
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290563
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Fredrik Hernqvist <fhernqvist@google.com>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39115}
2023-01-16 13:19:45 +00:00
Henrik Boström
3dd73ae6f4 Surface the SetMetadata() method so that Chromium can use it.
RTPVideoHeader is changed to non-const to allow modifying it. We want
to do this when implementing setMetadata() in JavaScript or when
refactoring clone() as "construct + set bytes + setMetadata".

Unblocks
https://chromium-review.googlesource.com/c/chromium/src/+/4164979.

Bug: webrtc:14709
Change-Id: I6089df9c03e9aa33feeb0830dd240dd456cb565e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290981
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39113}
2023-01-16 10:54:17 +00:00
Henrik Boström
6cf46b9497 Add RTPVideoHeader::SetFromMetadata() and FromMetadata().
This is now ready for plumbing to Chromium layers.

Once it's exposed in JavaScript (behind flag!) we can evaluate whether
all of this information is really needed or if the information is
superflous (e.g. already contained in the raw bytes).

Bug: webrtc:14709
Change-Id: I3837ef86046704a300ec8a108c8c9477bd91b9ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290884
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39102}
2023-01-13 13:38:42 +00:00
Henrik Boström
dc39aebd08 Add GetRTPVideoHeaderCodecSpecifics() to metadata.
This will allow exposing VP8, VP9 and H264-specific RTP header metadata
in JavaScript (behind a flag).

This information appears to be necessary for cloning
(https://github.com/w3c/webrtc-encoded-transform/issues/161), and
cloning should be the same as "new frame + setMetadata + setBytes",
ergo this should be exposed.

Bug: webrtc:14709
Change-Id: Ie71c05f40689bbd529dc4674a07a87c7910b22d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290880
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39101}
2023-01-13 11:33:40 +00:00
Danil Chapovalov
6a9af57a24 Revert "Move leb128 helper functions into own build target"
This reverts commit fa962ffc698bda5bc7306ac5c3fd626eef737775.

Reason for revert: introduces use-of-uninitialized-value in rtp packet parsing

Original change's description:
> Move leb128 helper functions into own build target
>
> to remove duplicated implementation of these functions between av1 packetizer, av1 depacketizer and video allocation rtp header extension
>
> Bug: None
> Change-Id: I30049f31c289bdb9e0aad6520f5145d1f999e635
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290731
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39069}

Bug: chromium:1407045
Change-Id: I6b04b567e698db7ddcf1e91161075aeaa0c5988c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290960
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39099}
2023-01-13 11:04:42 +00:00
Michael Olbrich
079e93de17 Add callback for raw frames for video capture
This is needed for Chromium. The video capture API in Chromium expects the
raw frames and it will always convert or copy the frame. With the existing
API that would mean copying the frame twice.

Bug: webrtc:13177
Change-Id: I71f6e2dc6d5a812c3641ac691b75d50178fa0de7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264548
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39095}
2023-01-13 09:54:41 +00:00
Evan Shrubsole
b613d62285 [Unwrap] Delete webrtc::Unwrapper
Bug: webrtc:13982
Change-Id: I501261b09a05080ec681ae120648938e350a05de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290890
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39088}
2023-01-12 14:44:21 +00:00
Danil Chapovalov
17f783eee8 Skip trimming packet arrival history at the beginning
PacketArrivalMap explicitly doesn't promise packet at the beginning
of it is received. Ensuring that property is wasteful

Bug: chromium:1382563
Change-Id: Ifc898b7ec2bc7a302af8dcfd233e0c598f62db95
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290501
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39083}
2023-01-12 11:59:27 +00:00
Danil Chapovalov
778742963a In remb parser discard bitrate larger than max int64_t
Bug: b/265156399
Change-Id: I5bdbd42a8da565972a3c2e976a32a563f3cce6af
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290888
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39082}
2023-01-12 11:02:10 +00:00
Åsa Persson
e6b4cbe606 Add SVC fallback.
Fallback to a default value if the scalability mode is unset or not supported by the codec.

The fallback logic is only enabled if the scalability mode is configured for any of the encodings for now (i.e. initial default values are not set).

Bug: webrtc:11607
Change-Id: Ie632767b627a1dbbef71c59f9340573daf386c14
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287600
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39074}
2023-01-11 16:49:49 +00:00
anurag
b081042eec Remove dimension check in SimulcastUtility::ValidSimulcastParameters
We found that the legacy assumption for H264 which assumed that
simulcast streams would use 2x width ratios in unnecessary as the
encoder has since been fixed to handle multiple ratios.
H264 encoder still works even if this assumption is invalid

Bug: None
Change-Id: I9caacf78d26c8215b94858a2d8674ec4cd64e96e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286940
Reviewed-by: Mirta Dvornicic <mirtad@google.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39072}
2023-01-11 13:41:55 +00:00
Evan Shrubsole
8c347eb5ea [Unwrap] Migrate TransportFeedbackDemuxer to use RtpSequenceNumberUnwrapper
Bug: webrtc:13982
Change-Id: I248f4f438a10830c9519361c01215b38dd3c2fc3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288967
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39071}
2023-01-11 12:26:49 +00:00
Danil Chapovalov
fa962ffc69 Move leb128 helper functions into own build target
to remove duplicated implementation of these functions between av1 packetizer, av1 depacketizer and video allocation rtp header extension

Bug: None
Change-Id: I30049f31c289bdb9e0aad6520f5145d1f999e635
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290731
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39069}
2023-01-11 11:55:11 +00:00
Evan Shrubsole
7b4c8adb75 Reland "[Unwrap] Migrate ReceiveStatisticsImpl to use RtpSequenceNumberUnwrapper"
This is a reland of commit 6762fbd9882c6b0436b4bcd0b04f070312c52981

Can reland now that upstream tests are fixed.

Original change's description:
> [Unwrap] Migrate ReceiveStatisticsImpl to use RtpSequenceNumberUnwrapper
>
> Bug: webrtc:13982
> Change-Id: Ic971371d4295e87380a77ef6aa7986a83d86f615
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288962
> Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
> Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39046}

Bug: webrtc:13982
Change-Id: I1cb4faf5c6348be00e15d9f499a957a508199df6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290800
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39067}
2023-01-11 11:46:42 +00:00
Evan Shrubsole
47d4be732f [Unwrap] Migrate TransportFeedbackAdapter to use RtpSequenceNumberUnwrapper
Bug: webrtc:13982
Change-Id: Ie1657a7238129e1fa2f10b5f80949aea2119ea98
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288966
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39064}
2023-01-11 11:34:47 +00:00
Salman
154cbea357 Add RTC_EXPORT to symbols imported by CRD
Bug: chromium:1291247
Change-Id: Ia7420f8305f1c52d255429c49e99f3b898534a60
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290660
Commit-Queue: Salman Malik <salmanmalik@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39061}
2023-01-10 19:50:15 +00:00
Danil Chapovalov
854ca9a0a6 Delete stale TODO about GFD fuzzing
GenericFrameDescriptor fuzzing is covered by RtpPacketFuzzer:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/test/fuzzers/rtp_packet_fuzzer.cc;l=140;drc=ef90964b830f8fc6f0c94c3f3a1b16687a345638

No-Try: true
Bug: webrtc:10198
Change-Id: I677f8452a9aefa11a6d66c382b14230d71622c04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290728
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39055}
2023-01-10 12:04:30 +00:00
Jeremy Leconte
c4991048b2 Revert "[Unwrap] Migrate ReceiveStatisticsImpl to use RtpSequenceNumberUnwrapper"
This reverts commit 6762fbd9882c6b0436b4bcd0b04f070312c52981.

Reason for revert: attempt to fix some broken tests.

Original change's description:
> [Unwrap] Migrate ReceiveStatisticsImpl to use RtpSequenceNumberUnwrapper
>
> Bug: webrtc:13982
> Change-Id: Ic971371d4295e87380a77ef6aa7986a83d86f615
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288962
> Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
> Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39046}

Bug: webrtc:13982
Change-Id: Iad8dcacdce299b9671d6215bf90b0077da3bdf7a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290760
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Owners-Override: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39054}
2023-01-10 11:15:18 +00:00
Danil Chapovalov
885ededbb8 Add move constructor and assign operator to RtpPacket
RtpPacket has CopyOnWriteBuffer and std::vector that can be moved more
efficiently than copied, thus move of the RtpPacket is also more efficient

Bug: None
Change-Id: I5509346e426cd32d0fb0649ef1a6883b7176df1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290726
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39053}
2023-01-10 11:12:45 +00:00
Evan Shrubsole
c3891e3a4e [Unwrap] Migrate NetEqDelayAnalyzer to use RtpTimestampUnwrapper
Bug: webrtc:13982
Change-Id: I35c08921c8c1be31f0de4bd81f918250bee25313
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288961
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39052}
2023-01-10 09:53:17 +00:00
Per K
83c357f70a Remove deprecated RecoveredPacketReceiver::OnRecoveredPacket signature
Bug: webrtc:7135, webrtc:14795
Change-Id: Ib2f434b59542d6d8a2b8a287047417b784187602
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290567
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39049}
2023-01-09 21:36:45 +00:00
Evan Shrubsole
6762fbd988 [Unwrap] Migrate ReceiveStatisticsImpl to use RtpSequenceNumberUnwrapper
Bug: webrtc:13982
Change-Id: Ic971371d4295e87380a77ef6aa7986a83d86f615
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288962
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39046}
2023-01-09 19:22:39 +00:00
Jakob Ivarsson
1d6a5087d2 Stop CNG after a timeout.
After having generated one second of comfort noise and not received any packets, switch to expand mode which will fade out to silence and enter the efficient muted mode.

The behavior is enabled by default but can be disabled through a field trial.

Bug: webrtc:12790
Change-Id: I1e2c1acced3e4a2c1c1595824f1303a0c339aeb5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290578
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39043}
2023-01-09 19:02:05 +00:00
Evan Shrubsole
11dfb42fe9 [Unwrap] Migrate TimestampExtrapolator to use RtpTimestampUnwrapper
Bug: webrtc:13982
Change-Id: I570f2b053e7c77295e9d6a60f005e51022c3759f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288942
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39042}
2023-01-09 18:24:28 +00:00
Evan Shrubsole
5ef5c2e9b8 [Unwrap] Use RtpTimestampUnwrapper in IvfFileWriter
Bug: webrtc:13982
Change-Id: Iddcc32d5836be524368d691ce4ab0ad630b4b559
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288747
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39040}
2023-01-09 18:22:13 +00:00
Evan Shrubsole
1c7602c65d [Unwrap] Migrate InterFrameDelay to RtpTimestampUnwrapper
Bug: webrtc:13982
Change-Id: I0c4fe63f47d842fc5871baeb1137aa225bc10ea4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288960
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39039}
2023-01-09 18:21:05 +00:00
Evan Shrubsole
224e390988 [Unwrap] Migrate PacketArrivalHistory to RtpTimestampUnwrapper
Bug: webrtc:13982
Change-Id: Idd4905c1930d51efd0b9a5a1df1ad6001f9bc37c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288941
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39037}
2023-01-09 16:34:29 +00:00
Evan Shrubsole
f7b0e14d8b [Unwrap] Use RtpTimestampUnwrapper in ScreenshareLayers
Bug: webrtc:13982
Change-Id: I4dbd05be7db77450a7a3a2c6a22f0101c9cb9150
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288748
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39033}
2023-01-09 14:38:55 +00:00
Florent Castelli
a138c6c8a5 Split rtc_base into multiple targets
Keeping the headers to allow compatibility with current users
that expect the headers to be in that target before they are
also updated.

Bug: webrtc:9838
Change-Id: I8b1e88850958e92c043686587a37791f01860220
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290569
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39031}
2023-01-09 12:21:25 +00:00
Evan Shrubsole
097fc347ec [Unwrap] Prepare SequenceNumberUnwrapper for migrations
This is in prep for the migration of all unwrappers to
SequenceNumberUnwrapper as a standard implementation.

This moves the SeqNumUnwapper to its own header and adds 2 methods to
SeqNumUnwrapper which are defined by other unwrappers:
* PeekUnwrap
* Reset

It also adds two implementations for RtpTimestamps and
RtpSequenceNumbers.

Bug: webrtc:13982
Change-Id: I5baefb2de1db92fe1bb600760bd63b71e9310eb5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288742
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39030}
2023-01-09 11:42:20 +00:00
Mirko Bonadei
798b6c2a59 Fix usage of absl::c_accumulate.
Bug: b/264838952
Change-Id: Ie526101acd2d4a7a0aa833e3545d100a4e7356e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290701
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39026}
2023-01-09 09:27:35 +00:00
Mirko Bonadei
861357dce7 Remove log, the function is already deprecated.
Bug: None
Change-Id: I59375bd60910b44d44328d652713997d38c208a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290562
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39005}
2023-01-04 21:43:43 +00:00
philipel
3bb6f6d4e8 Add RtpPacket::SetRawExtension function.
Bug: webrtc:14801
Change-Id: I1ce9361250a7ad2d932ee9ae5b8f93415d0ea7b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/289980
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38974}
2023-01-02 16:18:16 +00:00
Danil Chapovalov
ef90964b83 Introduce new enum name for the dependency descriptor extension
Dependency descriptor has finalized spec and thus deserve a dedicated name.

Bug: webrtc:10342
Change-Id: I2c2f1d52c82cfff8372cd4092dfcc47a083a6009
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290402
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38973}
2023-01-02 14:26:28 +00:00
Danil Chapovalov
4f74385b4f Zero memory for FEC recovered packets when size increases
rtc::CopyOnWriteBuffer::SetSize extends buffer with uninitialized memory by design.
It is up to the user of the rtc::CopyOnWriteBuffer to ensure it is initialized.

Bug: chromium:1404299
Change-Id: I41f3f91bf20ff440984d78ed81e01f5db36ff509
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290400
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38972}
2023-01-02 11:01:30 +00:00
Danil Chapovalov
f52e015239 Zero extra bytes of FEC recovered packet
rtc::CopyOnWriteBuffer::SetSize extends buffer with uninitialized memory by design.
It is up to the user of the rtc::CopyOnWriteBuffer to ensure it is initialized.

Bug: chromium:1403397
Change-Id: Ic0111a84bda32379770ddb1c7d24bee10d96b7a4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/289041
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38959}
2022-12-27 12:42:44 +00:00
Philipp Hancke
4e83af3a9a Adjust RTP header extension overhead for RRID
which needs to be taken into account separately if the
primary SSRC has been acknowledged but the RTX SSRC has
not.

If nothing has been acknowledged, mid+rid are sent on the primary SSRC and mid+rrid are sent on the RTX SSRC.
If the primary SSRC has been acknowledged, no extensions are sent on the primary SSRC and mid+rrid are sent on the RTX SSRC.
If both the primary SSRC and the RTX SSRC have been ack'd, no extensions are sent on either primary or RTX SSRC.

BUG=webrtc:13896

Change-Id: Ice251fae23a881ee9c9edc71b5d5c45a32ac76d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288980
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38949}
2022-12-23 08:54:30 +00:00
Sergey Silkin
d29b12f90c Free memory allocated by GetStreamCaps
Bug: webrtc:14343
Change-Id: I5ac7fee900d27b07bd908f778ffffd0b7d982ca9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288260
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38945}
2022-12-22 14:46:08 +00:00
Per K
5e5d017c2b Change RecoveredPacket::OnRecoveredPacket to produce webrtc::RtpPacketReceived
Instead of getting header extension mapping from a receiver object, get the mapping from the received packet.

The purpose is to be able to remove extension information from webrtc/call/receive_stream.h.
Header extensions are negotiated per mid, not per receive stream.
The goal is to reduce the number of places where packets are parsed and demuxed.

Bug: webrtc:7135, webrtc:14795
Change-Id: I8944bc06a11dc572d9e14e7d7ee446a841096295
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288968
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38944}
2022-12-22 14:04:21 +00:00
Alessio Bazzica
54cf754dac APM: remove denormal disabler field trial
Always use the denormal disabler

Bug: chromium:1227566
Change-Id: I915567aac683a8cd23d6d09b75536c81fd4ee2a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288680
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38936}
2022-12-21 11:27:02 +00:00
Salman
4dc7a3e2be base_capturer_pipewire: Time the capturer
This CL records the time it took to capture a frame.

Bug: chromium:1291247
Change-Id: I31cbb2ca6ae5b9449b8fd154182105a3ce2c851e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288660
Commit-Queue: Salman Malik <salmanmalik@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Auto-Submit: Salman Malik <salmanmalik@chromium.org>
Cr-Commit-Position: refs/heads/main@{#38933}
2022-12-20 19:48:21 +00:00
Alessio Bazzica
4f26c25b62 APM input volume controller tests
- Test behavior with no input volume controller
- Test behavior with startup volume higher than the minimum
  input volume

Bug: webrtc:7494
Change-Id: I36d48e2bd277b8a71eb6fbb0272c26c7176b3d5e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286380
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38932}
2022-12-20 15:03:35 +00:00
Alessio Bazzica
6b7834c14f Add generic input volume controller test for both AGC1 and AGC2
Make sure that the input volume controller implementations exhibit
the adaptive behavior regardless of the sample rate and the number
of channels. The newly added tests check that:
- a downward adjustment takes place with clipping input
- an upward adjustment takes place with a too low speech level
- a downward adjustment takes place with a too high speech level

Bug: webrtc:14761
Change-Id: I1795e74c5f219e15107e928ebaca2bfa75214526
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287301
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38930}
2022-12-20 14:41:31 +00:00