5742 Commits

Author SHA1 Message Date
Alessio Bazzica
08480a599d Reland "AgcManagerDirect: stop enforcing min mic level override with 0 level"
This reverts commit d0a6fd239cef0d9fd5fdd5a41df389a696bff017.

Reason for revert: reland the bug fix

Original change's description:
> Revert "`AgcManagerDirect`: stop enforcing min mic level override with 0 level"
>
> This reverts commit e76daab8b36f8c2a16d59a116425a3a2f98022f6.
>
> Reason for revert: revert required to revert the parent CL
>
> Original change's description:
> > `AgcManagerDirect`: stop enforcing min mic level override with 0 level
> >
> > https://webrtc-review.googlesource.com/c/src/+/250141 introduced a bug
> > due to which the min mic level override is always enforced, if specified
> > even if the user manually adjusts the mic level to zero.
> >
> > This CL fixes that bug, the changes run behind a kill switch.
> >
> > TESTED=Test video call on Chromium on Mac; input volume not adjusted after zeroing it from the system preferences UI
> >
> > Bug: chromium:1275566
> > Change-Id: I18ce2e5970d3002b301f51f84544583c64982d57
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267844
> > Reviewed-by: Hanna Silen <silen@webrtc.org>
> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#37460}
>
> Bug: chromium:1275566
> Change-Id: I6d22d8f3fafdc7da3814827b9b69146a506595db
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268468
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37515}

Bug: chromium:1275566
Change-Id: I7198587dec2a153270e8beb714e9dacccdaae806
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268544
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37530}
2022-07-15 09:43:22 +00:00
Alessio Bazzica
f3c86154d4 Revert "Min mic analog level: override minimum and behavior on Mac"
This reverts commit c9cad23274a837b135db98c6ce96f85bbbc81604.

Reason for revert: add back field trial

Original change's description:
> Min mic analog level: override minimum and behavior on Mac
>
> This CL removes the `WebRTC-Audio-AgcMinMicLevelExperiment` field trial
> and always enables the code path behind that flag on Mac. In summary,
> the analog AGC behaves as follows on Mac:
> 1. the minimum level is overridden to 20
> 2. the minimum is applied even when clipping is detected
> 3. when the level is manually adjusted to 0, the minimum level is
>   enforced - i.e., 20
>
> Note that the 3rd property had been unintentionally added when the
> changes were added behind the aforementioned field trial. This will
> be fixed in a follow-up CL.
>
> Bug: chromium:1275566
> Change-Id: If184c4455a0780fcd94f55141af34460c152e3c3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266488
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Reviewed-by: Hanna Silen <silen@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37459}

Bug: chromium:1275566
Change-Id: I00a37ad9e16efc49f721558d25af16efd5f3db8c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268540
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37521}
2022-07-14 11:44:47 +00:00
Mirko Bonadei
9dcbfd8614 Revert "In bitrate estimator Improve handing send time of out of order packets"
This reverts commit 2295ddbff978b9954688ee6163c9f3f554a7a85e.

Reason for revert: Investigation required because it breaks some downstream tests.

Original change's description:
> In bitrate estimator Improve handing send time of out of order packets
>
> Bug: None
> Change-Id: I74da3b616fb9419de8f7d9d28326354cee1c178d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268061
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37494}

Bug: None
Change-Id: Ib8ab916b9eedb93aac5fc35c5d291b1f4ed16de0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268541
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37520}
2022-07-14 11:35:47 +00:00
Alessio Bazzica
d0a6fd239c Revert "AgcManagerDirect: stop enforcing min mic level override with 0 level"
This reverts commit e76daab8b36f8c2a16d59a116425a3a2f98022f6.

Reason for revert: revert required to revert the parent CL

Original change's description:
> `AgcManagerDirect`: stop enforcing min mic level override with 0 level
>
> https://webrtc-review.googlesource.com/c/src/+/250141 introduced a bug
> due to which the min mic level override is always enforced, if specified
> even if the user manually adjusts the mic level to zero.
>
> This CL fixes that bug, the changes run behind a kill switch.
>
> TESTED=Test video call on Chromium on Mac; input volume not adjusted after zeroing it from the system preferences UI
>
> Bug: chromium:1275566
> Change-Id: I18ce2e5970d3002b301f51f84544583c64982d57
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267844
> Reviewed-by: Hanna Silen <silen@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37460}

Bug: chromium:1275566
Change-Id: I6d22d8f3fafdc7da3814827b9b69146a506595db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268468
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37515}
2022-07-13 20:58:07 +00:00
Sunggook Chue
b5d77a0c84 webrtc: Blank desktop capturer regards empty frame as a blank frame
There is a AV where GDI capturer sends empty frame to the
blank detector. It is fine operation from the GDI capturer
to pass an empty to the next handler. So, blank capturer
filter it and send it as blank frame to next handler.

Bug: webrtc:14265
Change-Id: Ifc90a210703e14fa6d0dc7fb2ae2942ae4e8125f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268444
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#37513}
2022-07-13 18:03:07 +00:00
Ali Tofigh
b7821cea6b Remove unnecessary overload in RtcEventLogOutput
Bug: webrtc:13579
Change-Id: I3ea4b8ce8d111ae6b9ce7e92f75bd4196bc9656b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268420
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37508}
2022-07-12 22:09:36 +00:00
philipel
9e9bc644f8 Update visibility for dav1d_decoder.
Bug: webrtc:13573
Change-Id: Icb43b11cf0a6ad2b90f6876875bcb545be01ec0c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268303
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37505}
2022-07-12 10:07:46 +00:00
Stephan Hartmann
cb56277a17 libstdc++: add missing atomic include for std::atomic
Bug: chromium:957519
Change-Id: I93242198ef8277d5f4d6044fb565d3126768b514
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268187
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37504}
2022-07-12 09:23:26 +00:00
Danil Chapovalov
52747f1744 Reland "Fix overflow due to rounding in AbsoluteSendTime::To24Bits"
This reverts commit 791294a647bfba8ebd26821a78020a2bb2f82b9b.

Reason for revert: downstream test adjusted

Original change's description:
> Revert "Fix overflow due to rounding in AbsoluteSendTime::To24Bits"
>
> This reverts commit a17651f7d8748905d902eedf34471a0c227ca789.
>
> Reason for revert: triggers failure in downstream test
>
> Original change's description:
> > Fix overflow due to rounding in AbsoluteSendTime::To24Bits
> >
> > Actual rounding is not important for this time as long it is consistent
> > during the call: only difference between two absolute send time matter
> > Rounding down avoids producing 1 < 24 when value is close to the wrap around boundary.
> >
> > Bug: None
> > Change-Id: Ibbf5bae21bc37eccdc5d4c130a59796ee5108017
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268001
> > Commit-Queue: Åsa Persson <asapersson@webrtc.org>
> > Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
> > Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#37468}
>
> Bug: None
> Change-Id: I90a9c1b174b918b7ede58c3bbdb879b1b67da7b2
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268120
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37473}

Bug: None
Change-Id: I99bcc6c6b7c08cd9621bdce336cd5793f78ee657
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268190
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37498}
2022-07-08 16:09:02 +00:00
Danil Chapovalov
2295ddbff9 In bitrate estimator Improve handing send time of out of order packets
Bug: None
Change-Id: I74da3b616fb9419de8f7d9d28326354cee1c178d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268061
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37494}
2022-07-08 13:19:43 +00:00
Erik Språng
28bc2ca92c Remove unused WebRTC-LimitPaddingSize field trial
Bug: webrtc:11508
Change-Id: Ib7d48e23bd44e2f948d51800090fc14b873d11eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268122
Auto-Submit: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37485}
2022-07-07 14:28:06 +00:00
philipel
26910ffe22 Make dav1d the default AV1 decoder.
Bug: chromium:1330308, b/234414450
Change-Id: Idc35c9e3612843001f8d7d9361f3769b45350e63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268183
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37483}
2022-07-07 14:04:46 +00:00
Danil Chapovalov
677c1ddde5 Migrate rtp_rtcp to absl::AnyInvocable based TaskQueueBase interface
Bug: webrtc:14245
Change-Id: I037f964130648caf0bd1de86611f8681d475b078
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268146
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37481}
2022-07-07 12:39:25 +00:00
Erik Språng
c52e627c83 Remove WebRTC-Pacer-DynamicPaddingTarget field trial
Bug: webrtc:10809
Change-Id: I9f4adbea5721408b339bbf7497c20834537e50c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268145
Auto-Submit: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37480}
2022-07-07 12:24:04 +00:00
Danil Chapovalov
791294a647 Revert "Fix overflow due to rounding in AbsoluteSendTime::To24Bits"
This reverts commit a17651f7d8748905d902eedf34471a0c227ca789.

Reason for revert: triggers failure in downstream test

Original change's description:
> Fix overflow due to rounding in AbsoluteSendTime::To24Bits
>
> Actual rounding is not important for this time as long it is consistent
> during the call: only difference between two absolute send time matter
> Rounding down avoids producing 1 < 24 when value is close to the wrap around boundary.
>
> Bug: None
> Change-Id: Ibbf5bae21bc37eccdc5d4c130a59796ee5108017
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268001
> Commit-Queue: Åsa Persson <asapersson@webrtc.org>
> Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37468}

Bug: None
Change-Id: I90a9c1b174b918b7ede58c3bbdb879b1b67da7b2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268120
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37473}
2022-07-07 07:19:44 +00:00
Austin Orion
81797744fd Reland "Wait for frames to arrive in WgcCapturer instead of returning nothing."
This reverts commit dd32562f242b247aed8add4efecaf3e20c623b9a.

Reason for revert: Updated the original change to dynamically load
the CoreMessaging.dll instead of statically linking with the .lib.

Original change's description:
> Revert "Wait for frames to arrive in WgcCapturer instead of returning nothing."
>
> This reverts commit 93bb3051490253d56dc1cdab4701b91138a151c3.
>
> Reason for revert: It breaks a test while rolling into Chromium,
> see https://webrtc-review.googlesource.com/c/src/+/261780/21#message-4a96e33bfb475f19a618be82bbe72951b23085ef for details.
>
> Original change's description:
> > Wait for frames to arrive in WgcCapturer instead of returning nothing.
> >
> > We're seeing a high instance of "first capture failed" in Chromium when
> > using WGC. We can reduce this by waiting for frames to arrive if there
> > are none in the frame pool instead of returning a temporary error.
> >
> > I've set the maximum time to wait for a frame to 50ms. If no frame
> > arrives before 50ms has elapsed, we will return a temporary error.
> > Added a new test, FirstCaptureSucceeds, to verify that this is working
> > as expected.
> >
> > As part of this I updated the name of the `kCreateFreeThreadedFailed`
> > enum value to `kCreateFramePoolFailed`. The value remains the same
> > since they both report failures in frame pool creation.
> >
> > I also increased `kNumBuffers` from 1 to 2, so that the frame pool can
> > store two frames. This should prevent us from having to wait on the
> > event as frequently. This will increase the latency between capture
> > and display, however. High frame rate applications should not be
> > noticeably affected.
> >
> > Additionally, we uncovered a bug in the OS that prevents window capture
> > when there are displays attached, but none of them are active. Added
> > a new check to `IsWgcSupported` to cover this scenario.
> >
> > Finally, some issues with other WGC tests blocked moving the TryBots
> > to a newer version of Windows. This CL fixes those issues and updates
> > the TryBot configuration.
> >
> > bug: chromium:1314868
> > Change-Id: Id9c4d5ee98621e682ef04864c3848d50e761cdb7
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261780
> > Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> > Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
> > Commit-Queue: Austin Orion <auorion@microsoft.com>
> > Reviewed-by: Jeremy Leconte <jleconte@google.com>
> > Cr-Commit-Position: refs/heads/main@{#37404}
>
> Change-Id: If237df4826fe20b6fe2ca4b57253623321bf33c5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267460
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37408}

Change-Id: I6cc2becd9ed363782ab2f326f58d9401bc8fb820
Bug: chromium:1314868
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267902
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#37470}
2022-07-06 20:28:26 +00:00
Danil Chapovalov
a17651f7d8 Fix overflow due to rounding in AbsoluteSendTime::To24Bits
Actual rounding is not important for this time as long it is consistent
during the call: only difference between two absolute send time matter
Rounding down avoids producing 1 < 24 when value is close to the wrap around boundary.

Bug: None
Change-Id: Ibbf5bae21bc37eccdc5d4c130a59796ee5108017
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268001
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37468}
2022-07-06 16:25:54 +00:00
Danil Chapovalov
0be8eba07e Migrate pacing and video_coding to absl::AnyInvocable based TaskQueueBase interface
Bug: webrtc:14245
Change-Id: Icfab3e6548055ea72a199a226eca5233b1ead20d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267983
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37467}
2022-07-06 15:46:04 +00:00
Alessio Bazzica
e76daab8b3 AgcManagerDirect: stop enforcing min mic level override with 0 level
https://webrtc-review.googlesource.com/c/src/+/250141 introduced a bug
due to which the min mic level override is always enforced, if specified
even if the user manually adjusts the mic level to zero.

This CL fixes that bug, the changes run behind a kill switch.

TESTED=Test video call on Chromium on Mac; input volume not adjusted after zeroing it from the system preferences UI

Bug: chromium:1275566
Change-Id: I18ce2e5970d3002b301f51f84544583c64982d57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267844
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37460}
2022-07-06 09:50:43 +00:00
Alessio Bazzica
c9cad23274 Min mic analog level: override minimum and behavior on Mac
This CL removes the `WebRTC-Audio-AgcMinMicLevelExperiment` field trial
and always enables the code path behind that flag on Mac. In summary,
the analog AGC behaves as follows on Mac:
1. the minimum level is overridden to 20
2. the minimum is applied even when clipping is detected
3. when the level is manually adjusted to 0, the minimum level is
  enforced - i.e., 20

Note that the 3rd property had been unintentionally added when the
changes were added behind the aforementioned field trial. This will
be fixed in a follow-up CL.

Bug: chromium:1275566
Change-Id: If184c4455a0780fcd94f55141af34460c152e3c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266488
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37459}
2022-07-06 09:46:24 +00:00
Niels Möller
cb99ccd244 Update/delete old TODOs
Bug: webrtc:10198
Change-Id: I0341e068d792bc0b143db86e675988f4cd07ff2e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267822
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37454}
2022-07-06 07:49:04 +00:00
Niels Möller
ea8eff3737 Delete rtp_sender_ check in ModuleRtpRtcpImpl::SetSendingMediaStatus
Bug: webrtc:10198
Change-Id: Ic40cd702717665a70f5aac0833963d467ea71dd0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267845
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37452}
2022-07-06 06:07:43 +00:00
Byoungchan Lee
a1a7c638ec Let PCF.GetRtpSenderCapabilities return codecs' scalabilityModes.
Also move ScalabilityModeToString to api and add RTC_EXPORT so that
Chromium can use it.

Bug: chromium:986069
Change-Id: I5dbbb6de9b14ca20f3ae0630552dcd44595ad5ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267780
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#37444}
2022-07-05 13:28:33 +00:00
philipel
e1c707c40f Remove unused incomplete_frame argument from JitterEstimator.
Bug: webrtc:14151
Change-Id: I6764315f0c10b304f50e4639a3e49e4ed013c41e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267842
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37443}
2022-07-05 12:53:13 +00:00
Niels Möller
39b1b42487 Use designated initializers for webrtc::SimulcastStream
Style change extracted from
https://webrtc-review.googlesource.com/c/src/+/264800

Bug: webrtc:11607
Change-Id: I3dd5ca1eef8d70a61023af37d90032225e40b55d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267841
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37442}
2022-07-05 12:23:44 +00:00
Ivo Creusen
11fdb08282 Implement RTCInboundRTPStreamStats.JitterBufferTargetDelay
This CL also removes the existing non-standard implementation of the metric.

Bug: webrtc:14147, webrtc:11789
Change-Id: I70fd1c451dfd59380fe5ce959086f37b31697c16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265360
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37441}
2022-07-05 11:34:53 +00:00
Björn Terelius
63299a3124 Add absl::string_view overload for RtcEventLogOutput::Write
Bug: webrtc:13579
Change-Id: I13f63fb6be6aa62c2e011c18327499fa16b5824e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267641
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37440}
2022-07-05 10:47:47 +00:00
Mirko Bonadei
2ad75b3956 Remove testonly from unpack_aecdump.
This CL duplicates a few lines of utility code from
//modules/audio_processing:audioproc_test_utils (which contains more
testonly things) and allows the possibility to remove testonly from
the unpack_aecdump tool.

Bug: b/237526033
Change-Id: If2e1dd4cc825429c496091cf8640c67069fb6e6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267701
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37437}
2022-07-05 10:23:53 +00:00
Niels Möller
6939f63ca1 Update old TODO comments
Bug: None
Change-Id: I96850df6cfa19303043108a59ef60d7b686ec747
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267661
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37436}
2022-07-05 09:59:33 +00:00
Niels Möller
c8152fe4a8 Update/delete old TODOs
Bug: webrtc:10198
Change-Id: I226768c2a6bd97ffcd0638e5bc6a1c286b71815f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267704
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37435}
2022-07-05 09:44:53 +00:00
Niels Möller
fb9fbdf395 Delete unused UlpfecReceiver::ProcessReceivedFec return value
Bug: webrtc:10198
Change-Id: Ibb85f1b9094d09dabe677ccbc11e00f3a3590c50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267705
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37434}
2022-07-05 09:40:53 +00:00
Danil Chapovalov
56257afe10 Cleanup ReceiveSideCongestionController: remove inner wrapper helper
Bug: None
Change-Id: Iff388a56176d90e300e0c12b34414ee21fa26bc8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267406
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37429}
2022-07-05 08:28:55 +00:00
Erik Språng
f82e8fa911 Remove WebRTC-Bwe-AlrLimitedBackoff field trial.
This trial has been unused for some time, time to clean it up.

Bug: webrtc:10144
Change-Id: I2b1bd9ff0335efdc07f47a361878915f1be383a7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267410
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37421}
2022-07-04 16:29:42 +00:00
Danil Chapovalov
0fd2ed516b Delete ProcessThread and related Module interface
Bug: webrtc:7219
Change-Id: Id71430a24b21e591494557cf54419d2bc8b3f8c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267400
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37416}
2022-07-04 10:20:35 +00:00
Niels Möller
67d23043f3 Fix config of number of temporal layers
Needed to produce correct VideoLayersAllocation extension for
scalability mode L1T2. The value in the `spatialLayers` array
is used on this line:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/video/video_stream_encoder.cc;drc=c374d11fac252535ccba15975568b1f6552c117e;l=320

Bug: webrtc:11607
Change-Id: I3bcfe738627e0af6f203a9b0f6e5323492e68987
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267621
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37414}
2022-07-04 08:59:02 +00:00
Mirko Bonadei
dd32562f24 Revert "Wait for frames to arrive in WgcCapturer instead of returning nothing."
This reverts commit 93bb3051490253d56dc1cdab4701b91138a151c3.

Reason for revert: It breaks a test while rolling into Chromium,
see https://webrtc-review.googlesource.com/c/src/+/261780/21#message-4a96e33bfb475f19a618be82bbe72951b23085ef for details.

Original change's description:
> Wait for frames to arrive in WgcCapturer instead of returning nothing.
>
> We're seeing a high instance of "first capture failed" in Chromium when
> using WGC. We can reduce this by waiting for frames to arrive if there
> are none in the frame pool instead of returning a temporary error.
>
> I've set the maximum time to wait for a frame to 50ms. If no frame
> arrives before 50ms has elapsed, we will return a temporary error.
> Added a new test, FirstCaptureSucceeds, to verify that this is working
> as expected.
>
> As part of this I updated the name of the `kCreateFreeThreadedFailed`
> enum value to `kCreateFramePoolFailed`. The value remains the same
> since they both report failures in frame pool creation.
>
> I also increased `kNumBuffers` from 1 to 2, so that the frame pool can
> store two frames. This should prevent us from having to wait on the
> event as frequently. This will increase the latency between capture
> and display, however. High frame rate applications should not be
> noticeably affected.
>
> Additionally, we uncovered a bug in the OS that prevents window capture
> when there are displays attached, but none of them are active. Added
> a new check to `IsWgcSupported` to cover this scenario.
>
> Finally, some issues with other WGC tests blocked moving the TryBots
> to a newer version of Windows. This CL fixes those issues and updates
> the TryBot configuration.
>
> bug: chromium:1314868
> Change-Id: Id9c4d5ee98621e682ef04864c3848d50e761cdb7
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261780
> Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
> Commit-Queue: Austin Orion <auorion@microsoft.com>
> Reviewed-by: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#37404}

Change-Id: If237df4826fe20b6fe2ca4b57253623321bf33c5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267460
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37408}
2022-07-02 07:41:21 +00:00
Erik Språng
48cc54e4ce Remove code for unused field trial WebRTC-BweCappedProbing
Bug: None
Change-Id: I6799794659dce52f0d9f98dc1b5c63e0806d152d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267403
Auto-Submit: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37406}
2022-07-01 19:11:15 +00:00
Austin Orion
93bb305149 Wait for frames to arrive in WgcCapturer instead of returning nothing.
We're seeing a high instance of "first capture failed" in Chromium when
using WGC. We can reduce this by waiting for frames to arrive if there
are none in the frame pool instead of returning a temporary error.

I've set the maximum time to wait for a frame to 50ms. If no frame
arrives before 50ms has elapsed, we will return a temporary error.
Added a new test, FirstCaptureSucceeds, to verify that this is working
as expected.

As part of this I updated the name of the `kCreateFreeThreadedFailed`
enum value to `kCreateFramePoolFailed`. The value remains the same
since they both report failures in frame pool creation.

I also increased `kNumBuffers` from 1 to 2, so that the frame pool can
store two frames. This should prevent us from having to wait on the
event as frequently. This will increase the latency between capture
and display, however. High frame rate applications should not be
noticeably affected.

Additionally, we uncovered a bug in the OS that prevents window capture
when there are displays attached, but none of them are active. Added
a new check to `IsWgcSupported` to cover this scenario.

Finally, some issues with other WGC tests blocked moving the TryBots
to a newer version of Windows. This CL fixes those issues and updates
the TryBot configuration.

bug: chromium:1314868
Change-Id: Id9c4d5ee98621e682ef04864c3848d50e761cdb7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261780
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#37404}
2022-07-01 17:42:20 +00:00
Jakob Ivarsson
c50e423d3b Fix possible integer overflow.
Bug: chromium:1340143
Change-Id: Ia874c90b53e5c527d163a0fe566743713a55ca6e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/206986
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37402}
2022-07-01 16:26:10 +00:00
Erik Språng
609aef3149 Remove WebRTC-ExponentialNackBackoff field trial from NackRequester.
This flag has gone unused for a long time, time to clean it up.
While we're here, convert NackRequester to use unit types.

Bug: webrtc:8624
Change-Id: I1f314f9b5b6771d4f9c351a7a9a887130b86907c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267408
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37400}
2022-07-01 15:32:44 +00:00
Danil Chapovalov
74680c0234 Cleanup RemoteBitrateEstimate::LatestEstimate function
Return the bitrate estimate as DataRate type
Remove list of affected ssrcs as unused

Bug: None
Change-Id: Ie31dce591d861624736d834194f90eb6c93f70f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267280
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37397}
2022-07-01 13:05:05 +00:00
Byoungchan Lee
3e4e05d28b Use generate_stubs without //base dependency
For this I added a header called no_cfi_icall.h and use it.
Also, some files use the gio header, but if the //base dependency is
not used, compilation errors occur. So I added an explicit dependency
on gio.

Bug: webrtc:13662
Change-Id: If732ede202dd413be6702bf06bf024cd203fdae2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267340
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37395}
2022-07-01 10:50:54 +00:00
Danil Chapovalov
2bc41bc980 Detach RemoteBitrateEstimator interface from Module
Bug: webrtc:7219
Change-Id: I8302c5044582d73b0918013a0df89b9390788728
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267140
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37393}
2022-07-01 10:17:40 +00:00
Niels Möller
3c24c096ef Add support for scalability modes L2T3 and S2T3
Bug: webrtc:11607
Change-Id: I1d0bd171564d2852f2f6ee2bbee26c7a1c0e1c3f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267103
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37389}
2022-07-01 08:17:04 +00:00
Danil Chapovalov
ed665521e4 in RtpRtcp configuration delete unused remote bitrate estimator
No code sets that configuration field.

Bug: None
Change-Id: Idd611d15ec54b3bd9115eac77d2222b97620d675
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267180
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37382}
2022-06-30 14:07:49 +00:00
Philipp Hancke
fb60796b64 fec: simplify fec generation
since the fec packets are initialized to 0 there is no need
to special-case the first packet since
  A XOR 0
is the identity operator.

BUG=None

Change-Id: I0cb55283ecdca06f8e3a7b5856ec1f9fbbad1ffb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251522
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37378}
2022-06-30 11:53:58 +00:00
Danil Chapovalov
3a08d2a42d Reland "Detach RemoteEstimatorProxy from RemoteBitrateEstimator interface"
This reverts commit 6769e95bbc0e4f29c482ee1356b3e250df1fde3b.

Reason for revert: downstream code adjusted

Original change's description:
> Revert "Detach RemoteEstimatorProxy from RemoteBitrateEstimator interface"
>
> This reverts commit 08c7e7589218da1f26e9621e703dd790b4e7e7d7.
>
> Reason for revert: breaks downstream tests
>
> Original change's description:
> > Detach RemoteEstimatorProxy from RemoteBitrateEstimator interface
> >
> > Bug: None
> > Change-Id: I47b7c83320b0c7327c0d2ee59f7a0a30704cd331
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266540
> > Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#37354}
>
> Bug: None
> Change-Id: Ia355be085890856141fc943432f6e2edef1c0900
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267065
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37361}

Bug: None
Change-Id: Ifaf8ff84a37a768b388b1f79c8c7829390d1905e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267104
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37367}
2022-06-29 09:38:16 +00:00
Oleh Prypin
cc7bd85748 Don't add libopus to public_deps, its headers are only used directly
Bug: webrtc:8603
Change-Id: I2ce1f96a80dd23e420b3693b899d2b14382fd2d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266765
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Oleh Prypin <oprypin@google.com>
Cr-Commit-Position: refs/heads/main@{#37363}
2022-06-28 19:13:14 +00:00
Danil Chapovalov
6769e95bbc Revert "Detach RemoteEstimatorProxy from RemoteBitrateEstimator interface"
This reverts commit 08c7e7589218da1f26e9621e703dd790b4e7e7d7.

Reason for revert: breaks downstream tests

Original change's description:
> Detach RemoteEstimatorProxy from RemoteBitrateEstimator interface
>
> Bug: None
> Change-Id: I47b7c83320b0c7327c0d2ee59f7a0a30704cd331
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266540
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37354}

Bug: None
Change-Id: Ia355be085890856141fc943432f6e2edef1c0900
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267065
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37361}
2022-06-28 17:07:44 +00:00
Lionel Koenig
8783c678a5 delay estimator: Look for early reverberation
Look for first echo (and not only the strongest one) on the same matched
filter.

This change is bit exact with previous version when `pre_echo` is false.

Author: Jesús de Vicente Peña <devicentepena@webrtc.org>

Bug: webrtc:14205
Change-Id: I6782eaa1d690b0df78d00f6d425a85c951b2ca9d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266321
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Lionel Koenig <lionelk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37360}
2022-06-28 15:16:03 +00:00