20 Commits

Author SHA1 Message Date
Boris Tsirkin
536c19a64d Format /sdk/objc/api folder
There are a lot of changes in /sdk so I'm splitting it

Formatting done via:

git ls-files | grep -E '^sdk\/objc\/api\/.*\.(h|cc|mm)' | xargs clang-format -i

No-Iwyu: Includes didn't change and it isn't related to formatting
Bug: webrtc:42225392
Change-Id: Ieebcd026e77db31f94df2b5dd5cd18ccc4f06674
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/373883
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43682}
2025-01-08 08:20:49 -08:00
Jeremy Leconte
076eb6cdf2 Reland "Expose setHeaderExtensionsToNegotiate for iOS"
This reverts commit 1fe80229cc0181ed04f8e8d3ab14aade218fd25d.

Reason for revert: adding a RTC_OBJC_TYPE wrapper should fix the problem.

Original change's description:
> Revert "Expose setHeaderExtensionsToNegotiate for iOS"
>
> This reverts commit f88236066e65762f5543bf0ac141f23b76849126.
>
> Reason for revert: Thanks for the fix Karim ! Unfortunately this commit breaks some downstream projects. I'll work on a reland.
>
> Original change's description:
> > Expose setHeaderExtensionsToNegotiate for iOS
> >
> > Bug: webrtc:15766
> > Change-Id: I56ec97ab272c14b4b70f6c3d7a3daedde11738c4
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336100
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
> > Auto-Submit: Karim Ham <karim@karhm.com>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#43121}
>
> Bug: webrtc:15766
> Change-Id: Ie0ccf73bec192452e288b7421eb8a1ecdb0eda67
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364284
> Owners-Override: Jeremy Leconte <jleconte@webrtc.org>
> Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#43124}

Bug: webrtc:15766
Change-Id: I827bf53764b4725a731d8d9dddad1952b7eb9100
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364285
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Owners-Override: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43128}
2024-10-01 13:52:53 +00:00
Jeremy Leconte
1fe80229cc Revert "Expose setHeaderExtensionsToNegotiate for iOS"
This reverts commit f88236066e65762f5543bf0ac141f23b76849126.

Reason for revert: Thanks for the fix Karim ! Unfortunately this commit breaks some downstream projects. I'll work on a reland.

Original change's description:
> Expose setHeaderExtensionsToNegotiate for iOS
>
> Bug: webrtc:15766
> Change-Id: I56ec97ab272c14b4b70f6c3d7a3daedde11738c4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336100
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
> Auto-Submit: Karim Ham <karim@karhm.com>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43121}

Bug: webrtc:15766
Change-Id: Ie0ccf73bec192452e288b7421eb8a1ecdb0eda67
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364284
Owners-Override: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#43124}
2024-10-01 08:49:13 +00:00
Karim H
f88236066e Expose setHeaderExtensionsToNegotiate for iOS
Bug: webrtc:15766
Change-Id: I56ec97ab272c14b4b70f6c3d7a3daedde11738c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336100
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Auto-Submit: Karim Ham <karim@karhm.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43121}
2024-10-01 08:13:23 +00:00
Dor Hen
f3a33c0162 Prepend all RTCMacros.h includes/imports with the relative path from repo
root

Bug: webrtc:365299881
Change-Id: Id3adf3b4913da1e04534da232d03455a46c30e4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362582
Commit-Queue: Dor Hen <dorhen@meta.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43028}
2024-09-17 08:45:53 +00:00
Byoungchan Lee
e630a3d7ad [iOS] Make RTCRtpTransceiver.setCodecPreferences failable and accept nil
Web Spec and C++ version of setCodecPreferences are failable, as they return
an RTCError (in C++) or throw an InvalidModificationError (in Web Spec).
However, current Objective-C version of setCodecPreferences is not failable,
so callers cannot know if the operation succeeded or not.
Also, the current Objective-C version does not accept nil, which is not
spec-compliant. (Web Spec says if codecs is an empty list, set
transceiver.PreferredCodecs to codecs and abort these steps.)

Bug: webrtc:42226103, webrtc:42226230
Change-Id: Ib90f3e5b45fc959eeb92f623cf50efcb458a7478
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/352400
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42789}
2024-08-16 08:45:39 +00:00
Karim H
1b61c7161e Expose setCodecPreferences/getCapabilities for iOS
Bug: webrtc:15749
Change-Id: I92f5d5dc5d9eb4d0a60c33ed724a0d3e8b4fa1a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/333402
Auto-Submit: Karim Ham <karim@karhm.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41601}
2024-01-23 13:54:26 +00:00
Björn Terelius
924f716b7a Revert "Reland "Expose getCapabilities/setCodecPreferences for objc""
This reverts commit 1939c433551df01d23232c7e486f013b14523ba5.

Reason for revert: Breaks downstream build

Original change's description:
> Reland "Expose getCapabilities/setCodecPreferences for objc"
>
> This is a reland of commit a2f30e1a7508c25c1402ee756b8fe948cbb53e7c
>
> Original change's description:
> > Expose getCapabilities/setCodecPreferences for objc
> >
> > Bug: None
> > Change-Id: I31cf22bae595cf2b995ff648523d25485106fcd5
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305200
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
> > Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#40841}
>
> Bug: None
> Change-Id: I6503b8c2473cfb90e79273e839ad83dd5a199d5a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/323700
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#41287}

Bug: None
Change-Id: I33114926152f0dcf504cd94eb63b798e0f15a311
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/329341
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41289}
2023-11-30 14:36:32 +00:00
David Liu
1939c43355 Reland "Expose getCapabilities/setCodecPreferences for objc"
This is a reland of commit a2f30e1a7508c25c1402ee756b8fe948cbb53e7c

Original change's description:
> Expose getCapabilities/setCodecPreferences for objc
>
> Bug: None
> Change-Id: I31cf22bae595cf2b995ff648523d25485106fcd5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305200
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
> Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40841}

Bug: None
Change-Id: I6503b8c2473cfb90e79273e839ad83dd5a199d5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/323700
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41287}
2023-11-30 14:08:08 +00:00
Manashi Sarkar
c27034b694 Revert "Expose getCapabilities/setCodecPreferences for objc"
This reverts commit a2f30e1a7508c25c1402ee756b8fe948cbb53e7c.

Reason for revert: Breaks downstream project.

Original change's description:
> Expose getCapabilities/setCodecPreferences for objc
>
> Bug: None
> Change-Id: I31cf22bae595cf2b995ff648523d25485106fcd5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305200
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
> Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40841}

Bug: None
Change-Id: I60d65cdb674a7fb535a9f8e91f346f50c396744d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/322000
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Manashi Sarkar <manashi@google.com>
Owners-Override: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40842}
2023-09-29 12:00:49 +00:00
David Liu
a2f30e1a75 Expose getCapabilities/setCodecPreferences for objc
Bug: None
Change-Id: I31cf22bae595cf2b995ff648523d25485106fcd5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305200
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40841}
2023-09-29 11:31:43 +00:00
Harald Alvestrand
fcf5e7b131 Make Objective-C interface use SetDirectionWithError
Also moves implementation of legacy setDirection() without error to the
api/ directory.

This is one step in the plan for changing the API
to return RTCError.

Bug: chromium:980879
Change-Id: Ibce8edf8e3c6d41de7ce49d2ffc33f5b282a0e9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181520
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31943}
2020-08-17 10:01:49 +00:00
Harald Alvestrand
6060df5948 Reland "Implement transceiver.stop()"
This is a reland of 11dc6571cb4ff3e71dee1557dfff8d9076e108d3

One fix that makes Web Platform Tests pass in debug mode is applied.

Original change's description:
> Implement transceiver.stop()
>
> This adds RtpTransceiver.StopStandard(), which behaves according to
> the specification at
> https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stop
>
> It modifies RTCPeerConnection.getTransceivers() to return only
> transceivers that have not been stopped.
>
> Rebase of armax' https://webrtc-review.googlesource.com/c/src/+/172762
>
> Bug: chromium:980879
> Change-Id: I7d383ee874ccc0a006fdcf280496b5d4235425ce
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180580
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31893}

Bug: chromium:980879
Change-Id: Ide31d929ac5ea118d83fdf6a35a592af23f7dfa7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181263
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31907}
2020-08-11 10:46:23 +00:00
Harald Alvestrand
a88c9776de Revert "Implement transceiver.stop()"
This reverts commit 11dc6571cb4ff3e71dee1557dfff8d9076e108d3.

Reason for revert: Breaks Chromium WPT tests

Original change's description:
> Implement transceiver.stop()
> 
> This adds RtpTransceiver.StopStandard(), which behaves according to
> the specification at
> https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stop
> 
> It modifies RTCPeerConnection.getTransceivers() to return only
> transceivers that have not been stopped.
> 
> Rebase of armax' https://webrtc-review.googlesource.com/c/src/+/172762
> 
> Bug: chromium:980879
> Change-Id: I7d383ee874ccc0a006fdcf280496b5d4235425ce
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180580
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31893}

TBR=sakal@webrtc.org,kthelgason@webrtc.org,hta@webrtc.org,guidou@webrtc.org,marinaciocea@webrtc.org

Change-Id: Ibdc24f7d41e481293ca74ba6d1572de64f7e4654
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:980879
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181262
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31897}
2020-08-10 18:06:30 +00:00
Harald Alvestrand
11dc6571cb Implement transceiver.stop()
This adds RtpTransceiver.StopStandard(), which behaves according to
the specification at
https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stop

It modifies RTCPeerConnection.getTransceivers() to return only
transceivers that have not been stopped.

Rebase of armax' https://webrtc-review.googlesource.com/c/src/+/172762

Bug: chromium:980879
Change-Id: I7d383ee874ccc0a006fdcf280496b5d4235425ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180580
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31893}
2020-08-10 13:29:15 +00:00
Mirko Bonadei
a81e9c82fc Wrap WebRTC OBJC API types with RTC_OBJC_TYPE.
This CL introduced 2 new macros that affect the WebRTC OBJC API symbols:

- RTC_OBJC_TYPE_PREFIX:
  Macro used to prepend a prefix to the API types that are exported with
  RTC_OBJC_EXPORT.

  Clients can patch the definition of this macro locally and build
  WebRTC.framework with their own prefix in case symbol clashing is a
  problem.

  This macro must only be defined by changing the value in
  sdk/objc/base/RTCMacros.h  and not on via compiler flag to ensure
  it has a unique value.

- RCT_OBJC_TYPE:
  Macro used internally to reference API types. Declaring an API type
  without using this macro will not include the declared type in the
  set of types that will be affected by the configurable
  RTC_OBJC_TYPE_PREFIX.

Manual changes:
https://webrtc-review.googlesource.com/c/src/+/173781/5..10

The auto-generated changes in PS#5 have been done with:
https://webrtc-review.googlesource.com/c/src/+/174061.

Bug: None
Change-Id: I0d54ca94db764fb3b6cb4365873f79e14cd879b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173781
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31153}
2020-05-04 15:01:26 +00:00
Markus Handell
45c104b4fd RtpTransceiver: add kStopped enumeration value.
This change introduces a new kStopped enumeration value to
RtpTransceiverDirection, preparing for later CLs which
implement RTP header extension control,
https://chromestatus.com/feature/5680189201711104.

The new enumeration value is unused in the code.

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/65YdUi02yZk

Bug: chromium:980879
Change-Id: Id8cab9891236884542689fbf1b300e64a2cb636d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170050
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30756}
2020-03-11 11:19:51 +00:00
Piasy
e6caa9fbf6 export RTCRtpTransceiverInit
Bug: none
Change-Id: Ia21d7635d5016e1db277f7491c4bbcb1e6ad23ec
Reviewed-on: https://webrtc-review.googlesource.com/c/105943
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25449}
2018-10-31 12:20:05 +00:00
Mirko Bonadei
e8d5724cc5 Rename RTC_EXPORT to RTC_OBJC_EXPORT.
A new version of RTC_EXPORT will be introduced by [1] and it will be
used by WebRTC native code.

This CL renames the current RTC_EXPORT to RTC_OBJC_EXPORT in order
to avoid to mix them. It has been decided to avoid to unify them because
RTC_OBJC_EXPORT always marks symbols with default visibility, while
RTC_EXPORT will do it only when COMPONENT_BUILD is defined.

[1] - https://webrtc-review.googlesource.com/c/src/+/97960 is

Bug: webrtc:9419
Change-Id: I56a3fc6601c72d3ad6a58f9961a00e3761dfb5da
Reviewed-on: https://webrtc-review.googlesource.com/100521
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24754}
2018-09-17 10:06:57 +00:00
Anders Carlsson
7bca8ca4e2 Obj-C SDK Cleanup
This CL separates the files under sdk/objc into logical directories, replacing
the previous file layout under Framework/.

A long term goal is to have some system set up to generate the files under
sdk/objc/api (the PeerConnection API wrappers) from the C++ code. In the shorter
term the goal is to abstract out shared concepts from these classes in order to
make them as uniform as possible.

The separation into base/, components/, and helpers/ are to differentiate between
the base layer's common protocols, various utilities and the actual platform
specific components.

The old directory layout that resembled a framework's internal layout is not
necessary, since it is generated by the framework target when building it.

Bug: webrtc:9627
Change-Id: Ib084fd83f050ae980649ca99e841f4fb0580bd8f
Reviewed-on: https://webrtc-review.googlesource.com/94142
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24493}
2018-08-30 10:42:41 +00:00