2561 Commits

Author SHA1 Message Date
Harald Alvestrand
9c91e48599 Make RtpSenderInternal::CheckCodecParameters pure virtual
Noted that the default implementation wasn't exercised by tests,
so worth removing.

Bug: None
Change-Id: I007ca54724ed27a8c37f34b9eaa188b0d46dd4e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327300
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41143}
2023-11-13 15:19:53 +00:00
Harald Alvestrand
a6544377bc Remove not-needed webrtc:: prefixes in pc/
This test drives the new tools_webrtc/remove_extra_namespace.py tool.

Bug: None
Change-Id: I9b590aa1213e4cace2d64d555f4dafd893f03606
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327021
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41141}
2023-11-13 13:23:04 +00:00
Harald Alvestrand
0cb9b28e5b Remove untested and unused SetSrtpSend/ReceiveKey functions
These functions had no callers and no tests.
Under YAGNI principles, they need to be deleted.

Bug: None
Change-Id: I8b5d74678b804ef2be70409d05a5237f1637eaea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327024
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41134}
2023-11-11 11:22:01 +00:00
Philipp Hancke
977b56c9e9 Remove SSRCs from libSRTP when removing them from the rtp_demuxer
This uses libSRTPs srtp_remove_stream()
  https://github.com/cisco/libsrtp/blob/main/include/srtp.h#L597
method to remove SSRCs from the libSRTP session when they are removed
from the RTP demuxer. This works even when the stream was added
automatically via the ssrc_any_inbound mechanism.

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

Guarded by WebRTC-SrtpRemoveReceiveStream field trial.

BUG=webrtc:15604

Change-Id: I655bde5f8ddf26ac91395ef54bd1b3c598813380
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324720
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#41105}
2023-11-08 10:24:10 +00:00
Philipp Hancke
7946be7429 Refactor audio/video offer/answer creation helpers
BUG=webrtc:15214

Change-Id: I35dcac465221760e54b09bc6c5e4126df4193289
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326141
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41093}
2023-11-07 06:23:26 +00:00
Danil Chapovalov
2b58ec2938 Deprecate call_factory and media_engine in PeerConnectionFactoryDependencies
Bug: webrtc:15574
Change-Id: Ia97ad0853196fea5c20fc0c0d58a9305b72c515b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326001
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41088}
2023-11-06 15:53:39 +00:00
Harald Alvestrand
99ea7c3eaa Use pass-by-value in delayed scheduling of OnSentPacket
The change in the test failed to trigger an error on msan, but making
the change anyway out of an abundance of caution.

Bug: chromium:1496240
Change-Id: Ifa1b632f4e9ddb413f0eb23aba3f5b321b287b06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326080
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41083}
2023-11-06 09:52:43 +00:00
Philipp Hancke
7fbcc8cef7 Rename PlanB helper function in tests
which is not doing anything specific to plan-b.

BUG=None

Change-Id: Ic214b10a9c3021a8ca93601453d6eb42b84f2d84
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325529
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@{#41082}
2023-11-06 07:08:36 +00:00
Harald Alvestrand
2931ddd2e9 Fire SentPacket in a PostTask when recursive
Speculative fix; test included.

Bug: chromium:1496240
Change-Id: I9cb8953653e9d45adbc8694b67b0d5399cf9fde9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326020
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41078}
2023-11-03 16:41:34 +00:00
Danil Chapovalov
c63120a092 Migrate PeerConnection tests to EnableMedia api
Add test helper to inject fake media engine for those tests.

Bug: webrtc:15574
Change-Id: Iae4282d2d3b9804548ccadf58797f39508f07c6a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325880
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41075}
2023-11-03 12:32:14 +00:00
Danil Chapovalov
166111da62 Migrate PeerConnectionIntegrationWrapper to EnableMedia api
Bug: webrtc:15574
Change-Id: I164916b6ba9d29519660b119ed38580c478ea7f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325528
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41064}
2023-11-02 13:33:18 +00:00
Philipp Hancke
4f4ae8a8f9 Remove templated fmtp SDP helper
and modernize surrounding code.

BUG=webrtc:15214

Change-Id: I2cc9710d4bb4be52469116d7f80ac6ef57116e69
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325186
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@{#41060}
2023-11-01 13:00:21 +00:00
Danil Chapovalov
554f7db01c Add EnableMediaWithDefaults to replace SetMediaEngineDefaults
Update most of the webrtc tests to use EnableMediaWithDefaults instead of SetMediaEngineDefaults

Bug: webrtc:15574
Change-Id: I489a09e4ea3479dc26829ee0c1235e67bcbca7c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325485
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41059}
2023-11-01 11:47:59 +00:00
Danil Chapovalov
082cb56ee7 Introduce new way to enable media in PeerConnectionFactory
instead of requiring to pass in call_factory and media_engine
webrtc users should set media_factory member and media dependencies into PeerConnectionFactoryDependencies

Bug: webrtc:15574
Change-Id: I2dc584fe7afa41c9f170bdc51533396155cdcb06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325320
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41049}
2023-10-31 14:31:28 +00:00
Tommi
c3b7a50720 Use webrtc::TaskQueueBase type instead of rtc::Thread
...for signaling and worker thread members in BaseChannel classes.

Bug: webrtc:15099
Change-Id: I83611ed2564e143aca19d0f12ce060b77eb9d2a7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325260
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41041}
2023-10-30 14:43:46 +00:00
Harald Alvestrand
ecc38d8d29 Take out callback that modifies voice receive codec based on send codec
No functionality that depends on this information has been identified; no tests break when it is taken out.

Bug: webrtc:15224
Change-Id: I37298479c6b8a4acb82f59d32130c105371936b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324760
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41037}
2023-10-30 12:36:29 +00:00
Tomas Gunnarsson
23501a2aa6 Reland: Remove unsupported configuration value, allow_codec_switching
This reverts commit 6b0c5babe0700f12493cf659e1b35c58d2327995.

Reason for revert: Relanding once downstream issues have been addressed

Original change's description:
> Revert "Remove unsupported configuration value, `allow_codec_switching`"
>
> This reverts commit 8f7a17f80f43a47ce3801a3cfd2afda3575c8023.
>
> Reason for revert: breaks downstream
>
> Original change's description:
> > Remove unsupported configuration value, `allow_codec_switching`
> >
> > Bug: webrtc:11341
> > Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
> > Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#40995}
>
> Bug: webrtc:11341
> Change-Id: I784fd95062fc71f8dcc139b05121985f60709004
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324780
> Owners-Override: Philip Eliasson <philipel@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40998}

Bug: webrtc:11341
Change-Id: I3cb3e699fd76942c51f0f42a99bcb19ac607632e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324782
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41032}
2023-10-28 16:07:41 +00:00
Tomas Lundqvist
a26d6ed26f Makes sure that RED is not added twice to the list of codecs when it is used with Opus.
Bug: webrtc:15606
Change-Id: I3ab3ee287f5d2e3a0a46520608e5c0931e0bff90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325180
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tomas Lundqvist <tomasl@google.com>
Cr-Commit-Position: refs/heads/main@{#41028}
2023-10-27 15:00:55 +00:00
Philipp Hancke
971f8de35a Remove MediaContentDescriptionImpl<Codec>
after dependencies adopted the RtpMediaContentDescription which
this is currently aliased to.

Also move definition of AudioCodecs and VideoCodecs to the place
where codecs are defined.

BUG=webrtc:15214

Change-Id: I9b0456e1c69c8b23e0cc7665a59baae268872d9c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325021
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@{#41020}
2023-10-27 12:38:36 +00:00
Tommi
af27d4ea38 Initialize worker_thread_safety_ without BlockingCall().
Bug: webrtc:15099
Change-Id: Iac448c768fb90154fbe5b64fb12d68398a314e9a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324281
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41009}
2023-10-25 23:00:52 +00:00
Philipp Hancke
581dc09008 Add more tests for SDP parsing
showing that putting attribute lines before time information in the
session part is rejected and that unknown attribute lines do not
cause parsing errors

BUG=webrtc:15597

Change-Id: I291ee3d7d6c25ca63c86c1b4a92feb9083be408f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324621
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@{#40999}
2023-10-24 08:20:48 +00:00
Philip Eliasson
6b0c5babe0 Revert "Remove unsupported configuration value, allow_codec_switching"
This reverts commit 8f7a17f80f43a47ce3801a3cfd2afda3575c8023.

Reason for revert: breaks downstream

Original change's description:
> Remove unsupported configuration value, `allow_codec_switching`
>
> Bug: webrtc:11341
> Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40995}

Bug: webrtc:11341
Change-Id: I784fd95062fc71f8dcc139b05121985f60709004
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324780
Owners-Override: Philip Eliasson <philipel@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40998}
2023-10-24 08:19:46 +00:00
Tommi
8f7a17f80f Remove unsupported configuration value, allow_codec_switching
Bug: webrtc:11341
Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40995}
2023-10-24 05:07:25 +00:00
Tommi
5b186e98bc Remove effectively dead code for allow_codec_switching
Bug: webrtc:11341
Change-Id: I88e3c1059f5ebcc9d693c0719534aaacd4b9199b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324283
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40990}
2023-10-23 14:08:11 +00:00
Tommi
aea49c953c Simplify PeerConnection::SetConfiguration
* Consolidate ice candidate pool size checks (was in 3 places)
* Consolidate ICE server configuration parsing (was in 2 locations)
* Remove separate blocking call in PC for SetActiveResetSrtpParams().
* Remove unnecessary blocking call inside SetActiveResetSrtpParams
  implementation.

Bug: none
Change-Id: I38c8964f82f91c77c1fd18c407aefaab1d0c7c0d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324303
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40984}
2023-10-22 15:13:54 +00:00
Tommi
2919075ce3 Remove an invoke for datahannel transport uninitialization during Close.
Bug: none
Change-Id: Ic0d482a8a045d3aa0fcaf13e43f8a156fa3560d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324301
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40982}
2023-10-21 16:39:05 +00:00
Tommi
840cf78600 Move Destroy/Create steps for DataChannelTransport to PeerConnection.
This moves steps from the sdp code for pc state over to the PC class
and slightly simplifies the contract between the two classes.
Moving forward it's easier to consolidate those steps in the PC
class with other grouped operations e.g. during teardown.

Also removing GetDataMid() method in favor of the sctp_mid() property.

Bug: none
Change-Id: I938f953099d327377abd94e6b2c9ece803d88e40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324300
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40981}
2023-10-21 16:25:11 +00:00
Philipp Hancke
b527699a53 Reduce usage of audio/video codec specifics
BUG=webrtc:15214

Change-Id: I8e68ac149af53529321ab44776c62afe4cc2f61e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324020
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@{#40960}
2023-10-18 11:34:45 +00:00
Florent Castelli
1adea9806d Return error when requested codec is preferred but not negotiated
Because of our asymmetrical codec situation, it's possible to have
send only codecs that we cannot negotiate even with ourselves.
This means that we should not have a DCHECK, but just a plain error.

Bug: webrtc:15064
Change-Id: I0c170e5c7f356197bcb04bcecb8259c344423ccb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/323183
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40939}
2023-10-16 13:59:13 +00:00
Danil Chapovalov
a3ce407023 Cleanup Call construction
Return unique_ptr to clearly communicate ownership is transfered.
Remove Call::Config alias

Bug: None
Change-Id: Ie3aa1da383ad65fae490d218fced443d44961eab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/323160
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40934}
2023-10-16 06:34:26 +00:00
Philipp Hancke
635061b65e Add test for m-line recycling
which adds test coverage for the offer path.
Removes a DCHECK which is no longer required as the error
is handled in the individual handlers.

BUG=webrtc:15471

Change-Id: I982d517a313cd84574c57974e9d8390a6b78012c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321840
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@{#40928}
2023-10-13 11:37:22 +00:00
Philipp Hancke
19fe2437b7 Remove more codec-related templating
BUG=webrtc:15214

Change-Id: Ia597f674e5650dad31796c9a13769fbe873554fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/322122
Reviewed-by: Florent Castelli <orphis@webrtc.org>
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@{#40920}
2023-10-12 15:36:42 +00:00
Philipp Hancke
f16e139357 Generalize ssrc-group check to apply to groups other than SIM
BUG=chromium:1477075

Change-Id: I20f094dee11ea26a180471ce52d78d916f922f29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/322440
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40888}
2023-10-09 05:59:48 +00:00
Harald Alvestrand
85ea965cc5 Let ValidateSessionDescription decide error on failure
Return the error code from ValidateSessionDescription rather than
returning INTERNAL_ERROR for every failure case.

Bug: chromium:1490510
Change-Id: I3b745174ce986f9d7ebfa051c116b1c9d29e31c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/322622
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40885}
2023-10-06 19:21:34 +00:00
Philipp Hancke
36e4dd2f42 Add histogram for DTLS peer signature algorithm
in order to estimate the impact of deprecating SHA1. Chromium UMA CL:
  https://chromium-review.googlesource.com/c/chromium/src/+/4894345

BUG=webrtc:15517

Change-Id: I5216ba2a8cbba2f276af20d31aa5e111e7c3a141
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321620
Reviewed-by: David Benjamin <davidben@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40882}
2023-10-06 12:25:37 +00:00
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