2526 Commits

Author SHA1 Message Date
Philipp Hancke
13b5eb7c47 stats: ensure rtx ssrc is associated with primary ssrc
BUG=webrtc:15529

Change-Id: I3623eede7fc7890677516d78f3ef7a89a287eb8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/322221
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40873}
2023-10-05 12:33:34 +00:00
Saúl Ibarra Corretgé
4408575d18 Reland "Enable SRTP GCM ciphers by default"
This is a reland of commit d8633868b34dc1d841f0a9fd1afe2bc22aa8bde6

Original change's description:
> Enable SRTP GCM ciphers by default
>
> Bug: webrtc:15178
> Change-Id: I0216ce8f194fffc820723d82b9c04a76573c2f4f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305381
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Reviewed-by: Victor Boivie <boivie@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40828}

Bug: webrtc:15178
Change-Id: I5ea939ed6263547ebc177d9dd1763ba888936866
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321961
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40862}
2023-10-03 22:39:48 +00:00
Philipp Hancke
012c5a3419 Remove more Codec-related templating in MediaSession
BUG=webrtc:15214

Change-Id: I6b4db5e8ef1523e06fdaaa321f3df10fa19bff86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321841
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40840}
2023-09-29 10:52:27 +00:00
Manashi Sarkar
c2bbe4b952 Revert "Enable SRTP GCM ciphers by default"
This reverts commit d8633868b34dc1d841f0a9fd1afe2bc22aa8bde6.

Reason for revert: Breaks downstream project.

Original change's description:
> Enable SRTP GCM ciphers by default
>
> Bug: webrtc:15178
> Change-Id: I0216ce8f194fffc820723d82b9c04a76573c2f4f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305381
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Reviewed-by: Victor Boivie <boivie@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40828}

Bug: webrtc:15178
Change-Id: I88433e899cb4b705eafa3fceff3edc520629f603
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321863
Owners-Override: Artem Titov <titovartem@webrtc.org>
Auto-Submit: Manashi Sarkar <manashi@google.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40832}
2023-09-28 14:42:18 +00:00
Saúl Ibarra Corretgé
d8633868b3 Enable SRTP GCM ciphers by default
Bug: webrtc:15178
Change-Id: I0216ce8f194fffc820723d82b9c04a76573c2f4f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305381
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40828}
2023-09-28 10:18:56 +00:00
Philipp Hancke
332c56f087 MediaSession: ensure transport description factory exists
BUG=None

Change-Id: Ic29526c0c182257331d81ff3e66c5ae91ddf4ce1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321186
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40826}
2023-09-28 08:26:05 +00:00
Philipp Hancke
f97058e9ed Move static functions in media_session into anonymous namespace
and clean up methods that are now detected as unused.

BUG=None

Change-Id: If5dac3d43d4df6c7c108504c202c2383fe4a3f27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321580
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40823}
2023-09-28 06:47:48 +00:00
Harald Alvestrand
83894d3847 Fire MaybeSignalReadyToSend in a PostTask when recursive
Speculative fix. Writing the test for it is more complex.

Bug: chromium:1483874
Change-Id: Icfaf1524b0499c609010753e0b6f3cadbd0e98f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321480
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40820}
2023-09-27 07:36:40 +00:00
Philipp Hancke
2bf1b99c6d Make CreateOffer/CreateAnswer return RTCErrorOr<SessionDescription>
BUG=webrtc:15499

Change-Id: I8b128fcd9a1114ae4625777a27f074a8314ef190
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320720
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40812}
2023-09-26 09:41:30 +00:00
Philipp Hancke
bfc2a3553d Remove more codec-related templating
BUG=webrtc:15214

Change-Id: I719de4ef2b9c98a01b14f8f292098f19baa0d925
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321341
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40809}
2023-09-26 06:55:24 +00:00
Philipp Hancke
7d1aff6eed Unify RTP payload type validity checking
making the UsedId generator the source of truth.
BUG=webrtc:12197

Change-Id: I4318a1366f8b2e20ea5ae264232437a9006c5103
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321120
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40802}
2023-09-25 14:54:22 +00:00
Philipp Hancke
5551776035 Reject attempts to change the media kind for a m-line with a previously used mid
which can happen if the remote end reuses a mid.

BUG=webrtc:15471

Change-Id: I38da7dced712400002bc61d616e481a1255aa896
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/319460
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@{#40776}
2023-09-20 12:21:24 +00:00
Emil Lundmark
ec8262788b Look through all candidates before falling back to default packetization
It's possible that a peer can signal the same payload with multiple
packetization options. As such, we shouldn't try to fall back to default
packetization until we have considered all the alternatives.

Bug: webrtc:15473
Change-Id: I21772b4d8c53819d1c3105988551ebdbea0df045
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320241
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Auto-Submit: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Sergey Sukhanov <sergeysu@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40775}
2023-09-20 12:18:02 +00:00
Philipp Hancke
f14dfed72a Move codecs() to MediaContentDescription
allowing for a lot of de-templating

BUG=webrtc:15214

Change-Id: Ibe1a5f5d704564566f24c496822a4308ba23c4dd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/319160
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40774}
2023-09-20 10:16:36 +00:00
Philipp Hancke
b916a70c9d Use RTCError instead of string for PostCreateSessionDescriptionFailed
which allows exposing more granular errors from CreateOffer/CreateAnswer

BUG=webrtc:15499

Change-Id: If72a84515e220d1e7ca739318bf0b6e8a662f60e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320600
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@{#40763}
2023-09-18 15:23:38 +00:00
Philipp Hancke
96bc094d38 Rename simulcast SDP serializer
which is not a generic SDP serializer but only deals with the
simulcast SDP.

BUG=None

Change-Id: I6bed6ada28ad5b96f07fd7670ad3d635bd4bc732
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320280
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40761}
2023-09-18 10:09:02 +00:00
Emil Lundmark
17304c3bf8 Perform packetization verification until a match is found
If there happens to be an asymmetry between local and remote codecs we
shouldn't validate that there's a 1:1 packetization mapping for every
codec. It's sufficient to check that there's at least one matching
packetization per codec.

Bug: webrtc:15473
Change-Id: Ib4fc8fdd54bb4dccf96f0c802746c848e2deed83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320440
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Auto-Submit: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Sergey Sukhanov <sergeysu@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40760}
2023-09-18 07:43:03 +00:00
Philipp Hancke
745641e589 sdp: remove WebRTC-PreventBundleHeaderExtensionIdCollision killswitch
and the associated UMA metrics after rollout in M116 stable.

BUG=webrtc:14782

Change-Id: Ib2e0f96e8aa0c1ffbf48aea30f93195aa8b44bb0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/317280
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40754}
2023-09-15 12:27:22 +00:00
Philipp Hancke
b64615a194 sdp: reject RTP payload types in the 64-95 range w/rtcp-mux
which is forbidden by
  https://tools.ietf.org/html/rfc5761#section-4

BUG=webrtc:12197

Change-Id: I6227f01e7dcbca3f5871a2e4a8cea3c4db0b16cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/319120
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40752}
2023-09-15 09:18:52 +00:00
Philipp Hancke
5ded8ff524 Fix DCHECK crash when processing a remote answer
after the local offer stopped the only transceiver

BUG=None

Change-Id: I563207a26b6f0d8f41e5853521f05215b6a0eb09
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/319520
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@{#40722}
2023-09-08 10:08:30 +00:00
Peter Hanspers
3e1e831ae3 Reland "ConnectionContext: remove media engine without blocking."
This reverts commit 2d71807fe09aad67efcd660fe286044ff10982ba.

Reason for revert: With the new AsyncAudioProcessing API, the issue that was introduced can now be worked around.

Original change's description:
> Revert "ConnectionContext: remove media engine without blocking."
>
> This reverts commit 2ba941e6bc1d20acb9cfda4b87ba53c80640bbcb.
>
> Reason for revert: Temporarily reverting due to b/269628432.
>
> Original change's description:
> > ConnectionContext: remove media engine without blocking.
> >
> > Bug: webrtc:14449
> > Change-Id: I445114c14f4d440a5a8cac003266047fe4588dab
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288580
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Markus Handell <handellm@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#38928}
>
> Bug: webrtc:14449
> Change-Id: If2f23662e486a1c1f85c318fc98c441aab9ace31
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295862
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Auto-Submit: Markus Handell <handellm@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39454}

Bug: webrtc:14449
Change-Id: I43bb7a3b366eb60b3dc4b88dd9d47d570bb99bc2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311941
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40705}
2023-09-06 08:20:44 +00:00
Philipp Hancke
7b6faa1243 Move assignment of a streams random-msid
move this a bit later in the process since the current handling will consider two ssrc-lines with a cname in the same RTX FID ssrc-group to be part of separate streams due to the different randomly assigned msids. This leads to a misdetection as plan-b SDP.

BUG=None

Change-Id: Ie8acce9c2c7fb9eabda479b90e8cc7406dcb1696
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318820
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@{#40701}
2023-09-05 11:48:10 +00:00
Harald Alvestrand
ff281aa328 Convert signals in rtp_transport_internal.h to CallbackList
Bug: webrtc:11943
Change-Id: I8e0839363712d9d8b49c2f6cbdb5f3ac59d79219
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318882
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40700}
2023-09-05 11:37:32 +00:00
Philipp Hancke
7cc1ca26c8 Improve ssrc-group validation
disallowing more than one ssrc-group with the same semantic
and primary ssrc.

BUG=chromium:1477075

Change-Id: I4bce0555cd49834725d9b97693d26c971bc5d5c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318822
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40694}
2023-09-05 08:38:52 +00:00
Philipp Hancke
fd7b27ef67 Validate SIM ssrc-group parameters
similar to what is done for FID and FEC-FR but SIM can have more than
one secondary SSRC.

BUG=chromium:1477075

Change-Id: I4c9b4feaa421f53e424fc17bfc9ee2c185c68fb0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318520
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40679}
2023-09-01 12:13:40 +00:00
Tommi
3756e29b15 Remove another ctor from BasicPortAllocator
This constructor isn't used in production. Removing it further
made the construction state of the class simpler, allowed for removal
of the separate Init() method and making more members const.

Bug: none
Change-Id: Ibc8516a01ce7e385207251d841d21bb7b72c9d9a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318281
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40678}
2023-09-01 11:55:43 +00:00
Philipp Hancke
5866e1a0ed Rename Set(Send|Recv)Parameters Set(Sender|Receiver)Parameters
following the previous change to rename the classes derived from
  cricket::RtpParameters

Also rename ChangedRecvParameters to ChangedReceiveParameters.

BUG=webrtc:13931

Change-Id: Ia51dd39905a5cbb98162c3948930e43ccaf3786d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314500
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@{#40677}
2023-09-01 08:12:55 +00:00
Harald Alvestrand
96e1882860 Convert AsyncDnsResolver to use absl::AnyInvocable
Bug: webrtc:12598
Change-Id: I0950231d6de7cf53116a573dcd97a3cf5514946c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318400
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40670}
2023-08-31 08:50:40 +00:00
Philipp Hancke
df3683e9a7 Remove public GenerateKeyFrame(list-of-rids) API from RtpSender
since the spec and implementation took a different route

BUG=chromium:1354101

Change-Id: I6beda0db89b9e771ad2a7b51ba739bc46e18a331
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318200
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40665}
2023-08-30 14:54:17 +00:00
Harald Alvestrand
aa7d2f3b20 More unused sigslot includes
This time, hit the BUILD files too (where possible).

Bug: webrtc:11943
Change-Id: Ic8f2d77e1ba66f740efe0ef73b1ea6051356dedc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318100
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40654}
2023-08-29 12:20:44 +00:00
Philipp Hancke
1f1b0b31e7 sdp: add validation for the number of ssrcs in the ssrc group
for the known standard semantics FID (used by rtx) and
FEC-FR (used byFlexFEC) they should match the expected two SSRCs.
For the nonstandard SIM group this should be limited by the maximum
number of simulcast layers supported.

BUG=chromium:1459124

Change-Id: I7cc2417a3ab207658ec80e8d7e9984c1ae631f53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/315323
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40652}
2023-08-29 11:33:51 +00:00
Philipp Hancke
465bc0fd87 Validate rejected m-lines less strictly
since their content typically is not processed further.

BUG=webrtc:142258

Change-Id: I5bcfb6c3a6f3a301acb497b83f8a4dbc3023c5db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/317603
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40649}
2023-08-29 09:42:11 +00:00
Harald Alvestrand
2111bb5be3 Delete some unused sigslot includes
This is mainly to remove them from the list of sigslot blockers.

Bug: webrtc:11943
Change-Id: I7908b953d7b2e3e1f7fd6c4da52412f70f1666c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/317901
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40641}
2023-08-28 12:36:39 +00:00
Harald Alvestrand
4d25a77fd3 Deprecate AsyncResolver config fields and remove internal usage.
Bug: webrtc:12598
Change-Id: Ic43cbcd13e4de44b02351c89da12844606368623
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/317604
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40627}
2023-08-25 14:02:27 +00:00
Joachim Reiersen
45a985c71d Check use_rtx() in PeerConnectionFactory::GetRtpSenderCapabilities
Following https://webrtc-review.googlesource.com/c/src/+/262666, use_rtx() was checked in PeerConnectionFactory::GetRtpReceiverCapabilities but was missed in GetRtpSenderCapabilities. Therefore clients that hardcode use_rtx = false end up in an inconsistent state where RTX is not fully disabled.

Bug: None
Change-Id: Ice5f29a77c59e9081f9dd72c13c819024a34a7dd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/316243
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40625}
2023-08-25 09:08:32 +00:00
Tommi
70cea9bda8 [SctpDataChannel] Don't use PostTask for observer registration.
Instead, use BlockingCall to match with how unregistration is done.
This is needed because the ThreadWrapper implementation in Chromium, overriding the Thread implementation in WebRTC, does not order sent (blocking) tasks along with posted tasks.

That makes the functional difference that Thread1 posting and sending
tasks to Thread2, can not assume that the tasks run in the order they
were posted and sent. I.e. in this case:

  // Running on Thread1.
  thread2->PostTask([](){ Foo(); });
  thread2->BlockingCall([](){ Bar(); });

Thread2 may actually execute Bar() first, and then Foo().

Bug: chromium:1470992
Change-Id: I1f83f12ce39c09279c0f2b3bc71c3a33e2cb16c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/317700
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40624}
2023-08-25 09:07:29 +00:00
Florent Castelli
43a5dd86c2 Implement codec selection api
The implementation covers the latest specification, but does not
support mixed-codec simulcast at the moment.
Changing codec for audio and video is supported.

Bug: webrtc:15064
Change-Id: I09082f39e2a7d54dd4a663a8a57bf9df5a851690
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311663
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40616}
2023-08-24 13:18:04 +00:00
Harald Alvestrand
b8617d14a6 Use the AsyncDnsResolver in PeerConnection defaults
Bug: webrtc:12598
Change-Id: I1be306e4dbb7c85aa1ccf0fabe96c8556fd5af42
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/317441
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40613}
2023-08-23 20:29:55 +00:00
Philipp Hancke
179cec2be0 Reduce logging verbosity of DTLS-SRTP RTCP transport
since that transport is unset most of the time when rtcp-mux is used.

BUG=None

Change-Id: Ic1d732369c5544059112173af767488aed7ec8e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/316926
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40598}
2023-08-22 13:48:09 +00:00
Sergey Silkin
c252a40b47 Use layer/encode target resolution in DropDueToSize
It used input frame resolution before this change which caused unnecessary resolution adaptations when resolution scaling is used.

Found that initial frame dropping was always enabled for AV1 SVC. After fixing DropDueToSize the AV1 SVC tests [1] started to fail ("number of encoded temporal layers is less than expected") on bots. The tests encode 1850x1110 in L3T3 for 5s using the default 300kbps start bitrate. Before the fix the initial frame dropping kicked in and reduced the resolution to a level that let encoder to generate all temporal layers. After the fix the resolution stayed at 1850x1110 and encoder dropped all T1 and T2 layer frames. Mitigated this by increasing test duration from 5 to 10s. This gives enough time for BWE to ramp up and for encoder to generate (stop dropping) all temporal layers.

[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/pc/test/svc_e2e_tests.cc;l=460;bpv=1

Bug: chromium:1466809
Change-Id: I16802689e234f8fc16f891f024d5f644985de01c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/315142
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40536}
2023-08-10 15:11:08 +00:00
Philipp Hancke
7bd90baca8 Remove templating from RtpTransceiver
as part of the overall motion to remove subtypes of cricket::Codec.
Also update surrounding code to use LOG_AND_RETURN_ERROR.

BUG=webrtc:15214

Change-Id: I7e4a416be662e2e10e351e11d20442ce562d7428
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/315080
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40523}
2023-08-08 12:09:28 +00:00
Philipp Hancke
e2e04513e7 stats: implement fecSsrc on inbound-rtp
which is present if a fec mechanism like FlexFEC is negotiated

spec change:
  https://github.com/w3c/webrtc-stats/pull/765

BUG=webrtc:15250

Change-Id: I7d71d49fab0153d734f22831e6684d2acfc647fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314981
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40514}
2023-08-04 12:54:48 +00:00
Philipp Hancke
9b82b2f8d6 stats: implement RTX ssrc on inbound-rtp/outbound-rtp
spec change:
  https://github.com/w3c/webrtc-stats/pull/765

BUG=webrtc:15096

Change-Id: I7c72193c23460330b6bb612a9568641d187ee638
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312362
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40510}
2023-08-04 08:41:52 +00:00
Henrik Boström
9f3ea9d934 Increase concealement threshold for debug bots.
Internal bots are flaking, 0.96666666666666667 concealement observed.

Bug: b/294020344
Change-Id: I65ff8d1dcfe52ba4c8024736cf203005d5c1e4f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314541
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40508}
2023-08-03 14:08:37 +00:00
Philipp Hancke
55b89a8068 Rename cipher_suite to crypto_suite
and replace "cs" in the appropriate places.

This is the terminology used by
https://www.rfc-editor.org/rfc/rfc4568#section-10.3.2.1
and
https://www.iana.org/assignments/sdp-security-descriptions/sdp-security-descriptions.xhtml

BUG=None

Change-Id: I45f2c52eb266c0f94bdd710a9b941142b9411827
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314483
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40502}
2023-08-02 11:45:24 +00:00
Philipp Hancke
a9d5141367 Rename cricket::RtpParameters and derived classes
Renames
  cricket::RtpParameters
to
  cricket::MediaChannelParameters
in order to distinguish it better from webrtc::RtpParameters.
This involves renaming
  RtpSendParameters -> SenderParameters
  AudioSendParameters -> AudioSenderParameters
  AudioRecvParameters -> AudioReceiverParameters
  VideoSendParameters -> VideoSenderParameters
  VideoRecvParameters -> VideoReceiverParameters

BUG=webrtc:13931

Change-Id: I664595ee3863418c0c6ca092ca77127be0f9498f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314360
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40497}
2023-08-01 08:55:02 +00:00
Philipp Hancke
4b87d7ac2a Remove Codec template from RtpParameters and helper functions
BUG=webrtc:15214

Change-Id: I3874c4a5089216dab3d072df7854040d5d05bcc9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313500
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40492}
2023-07-31 10:49:51 +00:00
Marco Paniconi
a6c76d0c29 svc-av1: Fix to svc_e2e_tests
Re-enable svc disabled test.
Passes with the latest code.

Bug: b/288825767
Change-Id: Ie022442ddbd95c8c8b56feecde873208ddec77b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310449
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Marco Paniconi <marpan@google.com>
Cr-Commit-Position: refs/heads/main@{#40487}
2023-07-28 14:10:19 +00:00
Philipp Hancke
8c9e035edb Move codecs() to base MediaDescription
remove some of the templating around the Codec-derived types and
use more modern C++ loops.

BUG=webrtc:15214

Change-Id: I2710628741deca647e7ae88f5966ec7c7f12669a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311260
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40475}
2023-07-26 05:37:51 +00:00
Philipp Hancke
b81bf53f0e Use LOG_AND_RETURN_ERROR for returning RTCError
BUG=None

Change-Id: Ia5c27f0ae752810fabb53aea58f8731c6c314519
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311920
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40469}
2023-07-24 16:14:46 +00:00