├── .github
└── workflows
│ └── ios-build-and-test.yml
├── .gitignore
├── .swiftlint.yml
├── LICENSE
├── Package.swift
├── README.md
├── Resources
└── michael_jackson_audio_mono.mp3
├── ScreenShare
├── Info.plist
├── SampleHandler.swift
├── ScreenShare.entitlements
└── ScreenShareDebug.entitlements
├── WebRTC-Sample-App
├── AppDelegate.swift
├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Ant Media_sosyalmedya_square-01.png
│ │ └── Contents.json
│ ├── Contents.json
│ ├── VideoIcons
│ │ ├── Contents.json
│ │ ├── audioOff.imageset
│ │ │ ├── Contents.json
│ │ │ └── audioOff@2x.png
│ │ ├── audioOn.imageset
│ │ │ ├── Contents.json
│ │ │ └── audioOn@2x.png
│ │ ├── close.imageset
│ │ │ ├── Contents.json
│ │ │ └── hangup@2x.png
│ │ ├── videoOff.imageset
│ │ │ ├── Contents.json
│ │ │ └── videoOff@2x.png
│ │ └── videoOn.imageset
│ │ │ ├── Contents.json
│ │ │ └── videoOn@2x.png
│ ├── last_used.imageset
│ │ ├── Contents.json
│ │ └── last_used.png
│ └── logo.imageset
│ │ ├── Ant Media_sosyalmedya_square.svg
│ │ └── Contents.json
├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
├── CellView.swift
├── ConferenceViewController.swift
├── Info.plist
├── SceneDelegate.swift
├── Util
│ ├── Extension
│ │ └── UIApplication.swift
│ └── Helper
│ │ ├── AlertHelper.swift
│ │ ├── Defaults.swift
│ │ ├── Run.swift
│ │ └── SwiftyUserDefaults.swift
├── VideoViewController.swift
├── WebRTC-Sample-App.entitlements
├── WebRTC-Sample-AppDebug.entitlements
├── WebRTC_Sample_App.xcdatamodeld
│ ├── .xccurrentversion
│ └── WebRTC_Sample_App.xcdatamodel
│ │ └── contents
└── WelcomeViewController.swift
├── WebRTC-Sample-AppTests
└── WebRTC_Sample_AppTests.swift
├── WebRTC-Sample-AppUITests
├── WebRTC_Sample_AppUITests.swift
└── WebRTC_Sample_AppUITestsLaunchTests.swift
├── WebRTC.xcframework
├── Info.plist
├── ios-arm64
│ └── WebRTC.framework
│ │ ├── Headers
│ │ ├── RTCAudioDevice.h
│ │ ├── RTCAudioDeviceModule.h
│ │ ├── RTCAudioSession.h
│ │ ├── RTCAudioSessionConfiguration.h
│ │ ├── RTCAudioSource.h
│ │ ├── RTCAudioTrack.h
│ │ ├── RTCCVPixelBuffer.h
│ │ ├── RTCCallbackLogger.h
│ │ ├── RTCCameraPreviewView.h
│ │ ├── RTCCameraVideoCapturer.h
│ │ ├── RTCCertificate.h
│ │ ├── RTCCodecSpecificInfo.h
│ │ ├── RTCCodecSpecificInfoH264.h
│ │ ├── RTCConfiguration.h
│ │ ├── RTCCryptoOptions.h
│ │ ├── RTCDataChannel.h
│ │ ├── RTCDataChannelConfiguration.h
│ │ ├── RTCDefaultVideoDecoderFactory.h
│ │ ├── RTCDefaultVideoEncoderFactory.h
│ │ ├── RTCDispatcher.h
│ │ ├── RTCDtmfSender.h
│ │ ├── RTCEAGLVideoView.h
│ │ ├── RTCEncodedImage.h
│ │ ├── RTCFieldTrials.h
│ │ ├── RTCFileLogger.h
│ │ ├── RTCFileVideoCapturer.h
│ │ ├── RTCH264ProfileLevelId.h
│ │ ├── RTCI420Buffer.h
│ │ ├── RTCIceCandidate.h
│ │ ├── RTCIceCandidateErrorEvent.h
│ │ ├── RTCIceServer.h
│ │ ├── RTCLegacyStatsReport.h
│ │ ├── RTCLogging.h
│ │ ├── RTCMTLVideoView.h
│ │ ├── RTCMacros.h
│ │ ├── RTCMediaConstraints.h
│ │ ├── RTCMediaSource.h
│ │ ├── RTCMediaStream.h
│ │ ├── RTCMediaStreamTrack.h
│ │ ├── RTCMetrics.h
│ │ ├── RTCMetricsSampleInfo.h
│ │ ├── RTCMutableI420Buffer.h
│ │ ├── RTCMutableYUVPlanarBuffer.h
│ │ ├── RTCNativeI420Buffer.h
│ │ ├── RTCNativeMutableI420Buffer.h
│ │ ├── RTCNetworkMonitor.h
│ │ ├── RTCPeerConnection.h
│ │ ├── RTCPeerConnectionFactory.h
│ │ ├── RTCPeerConnectionFactoryOptions.h
│ │ ├── RTCRtcpParameters.h
│ │ ├── RTCRtpCodecParameters.h
│ │ ├── RTCRtpEncodingParameters.h
│ │ ├── RTCRtpHeaderExtension.h
│ │ ├── RTCRtpParameters.h
│ │ ├── RTCRtpReceiver.h
│ │ ├── RTCRtpSender.h
│ │ ├── RTCRtpTransceiver.h
│ │ ├── RTCSSLAdapter.h
│ │ ├── RTCSSLCertificateVerifier.h
│ │ ├── RTCSessionDescription.h
│ │ ├── RTCStatisticsReport.h
│ │ ├── RTCTracing.h
│ │ ├── RTCVideoCapturer.h
│ │ ├── RTCVideoCodecConstants.h
│ │ ├── RTCVideoCodecInfo.h
│ │ ├── RTCVideoDecoder.h
│ │ ├── RTCVideoDecoderAV1.h
│ │ ├── RTCVideoDecoderFactory.h
│ │ ├── RTCVideoDecoderFactoryH264.h
│ │ ├── RTCVideoDecoderH264.h
│ │ ├── RTCVideoDecoderVP8.h
│ │ ├── RTCVideoDecoderVP9.h
│ │ ├── RTCVideoEncoder.h
│ │ ├── RTCVideoEncoderAV1.h
│ │ ├── RTCVideoEncoderFactory.h
│ │ ├── RTCVideoEncoderFactoryH264.h
│ │ ├── RTCVideoEncoderH264.h
│ │ ├── RTCVideoEncoderQpThresholds.h
│ │ ├── RTCVideoEncoderSettings.h
│ │ ├── RTCVideoEncoderVP8.h
│ │ ├── RTCVideoEncoderVP9.h
│ │ ├── RTCVideoFrame.h
│ │ ├── RTCVideoFrameBuffer.h
│ │ ├── RTCVideoRenderer.h
│ │ ├── RTCVideoSource.h
│ │ ├── RTCVideoTrack.h
│ │ ├── RTCVideoViewShading.h
│ │ ├── RTCYUVPlanarBuffer.h
│ │ ├── UIDevice+RTCDevice.h
│ │ └── WebRTC.h
│ │ ├── Info.plist
│ │ ├── Modules
│ │ └── module.modulemap
│ │ └── WebRTC
└── ios-arm64_x86_64-simulator
│ └── WebRTC.framework
│ ├── Headers
│ ├── RTCAudioDevice.h
│ ├── RTCAudioDeviceModule.h
│ ├── RTCAudioSession.h
│ ├── RTCAudioSessionConfiguration.h
│ ├── RTCAudioSource.h
│ ├── RTCAudioTrack.h
│ ├── RTCCVPixelBuffer.h
│ ├── RTCCallbackLogger.h
│ ├── RTCCameraPreviewView.h
│ ├── RTCCameraVideoCapturer.h
│ ├── RTCCertificate.h
│ ├── RTCCodecSpecificInfo.h
│ ├── RTCCodecSpecificInfoH264.h
│ ├── RTCConfiguration.h
│ ├── RTCCryptoOptions.h
│ ├── RTCDataChannel.h
│ ├── RTCDataChannelConfiguration.h
│ ├── RTCDefaultVideoDecoderFactory.h
│ ├── RTCDefaultVideoEncoderFactory.h
│ ├── RTCDispatcher.h
│ ├── RTCDtmfSender.h
│ ├── RTCEAGLVideoView.h
│ ├── RTCEncodedImage.h
│ ├── RTCFieldTrials.h
│ ├── RTCFileLogger.h
│ ├── RTCFileVideoCapturer.h
│ ├── RTCH264ProfileLevelId.h
│ ├── RTCI420Buffer.h
│ ├── RTCIceCandidate.h
│ ├── RTCIceCandidateErrorEvent.h
│ ├── RTCIceServer.h
│ ├── RTCLegacyStatsReport.h
│ ├── RTCLogging.h
│ ├── RTCMTLVideoView.h
│ ├── RTCMacros.h
│ ├── RTCMediaConstraints.h
│ ├── RTCMediaSource.h
│ ├── RTCMediaStream.h
│ ├── RTCMediaStreamTrack.h
│ ├── RTCMetrics.h
│ ├── RTCMetricsSampleInfo.h
│ ├── RTCMutableI420Buffer.h
│ ├── RTCMutableYUVPlanarBuffer.h
│ ├── RTCNativeI420Buffer.h
│ ├── RTCNativeMutableI420Buffer.h
│ ├── RTCNetworkMonitor.h
│ ├── RTCPeerConnection.h
│ ├── RTCPeerConnectionFactory.h
│ ├── RTCPeerConnectionFactoryOptions.h
│ ├── RTCRtcpParameters.h
│ ├── RTCRtpCodecParameters.h
│ ├── RTCRtpEncodingParameters.h
│ ├── RTCRtpHeaderExtension.h
│ ├── RTCRtpParameters.h
│ ├── RTCRtpReceiver.h
│ ├── RTCRtpSender.h
│ ├── RTCRtpTransceiver.h
│ ├── RTCSSLAdapter.h
│ ├── RTCSSLCertificateVerifier.h
│ ├── RTCSessionDescription.h
│ ├── RTCStatisticsReport.h
│ ├── RTCTracing.h
│ ├── RTCVideoCapturer.h
│ ├── RTCVideoCodecConstants.h
│ ├── RTCVideoCodecInfo.h
│ ├── RTCVideoDecoder.h
│ ├── RTCVideoDecoderAV1.h
│ ├── RTCVideoDecoderFactory.h
│ ├── RTCVideoDecoderFactoryH264.h
│ ├── RTCVideoDecoderH264.h
│ ├── RTCVideoDecoderVP8.h
│ ├── RTCVideoDecoderVP9.h
│ ├── RTCVideoEncoder.h
│ ├── RTCVideoEncoderAV1.h
│ ├── RTCVideoEncoderFactory.h
│ ├── RTCVideoEncoderFactoryH264.h
│ ├── RTCVideoEncoderH264.h
│ ├── RTCVideoEncoderQpThresholds.h
│ ├── RTCVideoEncoderSettings.h
│ ├── RTCVideoEncoderVP8.h
│ ├── RTCVideoEncoderVP9.h
│ ├── RTCVideoFrame.h
│ ├── RTCVideoFrameBuffer.h
│ ├── RTCVideoRenderer.h
│ ├── RTCVideoSource.h
│ ├── RTCVideoTrack.h
│ ├── RTCVideoViewShading.h
│ ├── RTCYUVPlanarBuffer.h
│ ├── UIDevice+RTCDevice.h
│ └── WebRTC.h
│ ├── Info.plist
│ ├── Modules
│ └── module.modulemap
│ └── WebRTC
├── WebRTCiOSSDK.xcframework
├── Info.plist
├── ios-arm64
│ ├── WebRTCiOSSDK.framework
│ │ ├── Headers
│ │ │ ├── WebRTCiOSSDK-Swift.h
│ │ │ └── WebRTCiOSSDK.h
│ │ ├── Info.plist
│ │ ├── Modules
│ │ │ ├── WebRTCiOSSDK.swiftmodule
│ │ │ │ ├── arm64-apple-ios.abi.json
│ │ │ │ ├── arm64-apple-ios.private.swiftinterface
│ │ │ │ ├── arm64-apple-ios.swiftdoc
│ │ │ │ └── arm64-apple-ios.swiftinterface
│ │ │ └── module.modulemap
│ │ ├── WebRTCiOSSDK
│ │ └── _CodeSignature
│ │ │ └── CodeResources
│ └── dSYMs
│ │ └── WebRTCiOSSDK.framework.dSYM
│ │ └── Contents
│ │ ├── Info.plist
│ │ └── Resources
│ │ └── DWARF
│ │ └── WebRTCiOSSDK
└── ios-arm64_x86_64-simulator
│ ├── WebRTCiOSSDK.framework
│ ├── Headers
│ │ ├── WebRTCiOSSDK-Swift.h
│ │ └── WebRTCiOSSDK.h
│ ├── Info.plist
│ ├── Modules
│ │ ├── WebRTCiOSSDK.swiftmodule
│ │ │ ├── arm64-apple-ios-simulator.abi.json
│ │ │ ├── arm64-apple-ios-simulator.private.swiftinterface
│ │ │ ├── arm64-apple-ios-simulator.swiftdoc
│ │ │ ├── arm64-apple-ios-simulator.swiftinterface
│ │ │ ├── x86_64-apple-ios-simulator.abi.json
│ │ │ ├── x86_64-apple-ios-simulator.private.swiftinterface
│ │ │ ├── x86_64-apple-ios-simulator.swiftdoc
│ │ │ └── x86_64-apple-ios-simulator.swiftinterface
│ │ └── module.modulemap
│ ├── WebRTCiOSSDK
│ └── _CodeSignature
│ │ └── CodeResources
│ └── dSYMs
│ └── WebRTCiOSSDK.framework.dSYM
│ └── Contents
│ ├── Info.plist
│ └── Resources
│ └── DWARF
│ └── WebRTCiOSSDK
├── WebRTCiOSSDK.xcodeproj
├── project.pbxproj
└── xcshareddata
│ └── xcschemes
│ ├── ScreenShare.xcscheme
│ ├── WebRTC-Sample-App.xcscheme
│ ├── WebRTCiOSSDK.xcscheme
│ └── WebRTCiOSSDKTests.xcscheme
├── WebRTCiOSSDK
├── WebRTCiOSSDK.h
└── api
│ ├── AntMediaClient.swift
│ ├── AntMediaClientDelegate.swift
│ ├── AntMediaClientProtocol.swift
│ ├── AntMediaError.swift
│ ├── utils
│ └── ClientStatistics.swift
│ └── webrtc
│ ├── Config.swift
│ ├── Dictionary.swift
│ ├── RTCCustomFrameCapturer.swift
│ ├── String.swift
│ ├── WebRTCClient.swift
│ └── WebRTCClientDelegate.swift
├── WebRTCiOSSDKTests
└── WebRTCiOSSDKTests.swift
└── webrtc_framework
├── README.md
└── last-2-commits_m108.patch
/.github/workflows/ios-build-and-test.yml:
--------------------------------------------------------------------------------
1 | name: iOS Build and Test
2 |
3 | on: push
4 |
5 | jobs:
6 | build:
7 | runs-on: macos-latest
8 |
9 | steps:
10 | - uses: actions/checkout@v2
11 | - name: Set up Xcode
12 | uses: maxim-lobanov/setup-xcode@v1
13 | with:
14 | xcode-version: '15.3'
15 |
16 | - name: Build WebRTCiOSSDK
17 | run: xcodebuild -scheme WebRTCiOSSDK -configuration Release -destination "generic/platform=iOS" ARCHS=arm64 CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO build
18 |
19 | - name: Test WebRTCiOSSDK
20 | run: xcodebuild clean -scheme WebRTCiOSSDK -destination "platform=iOS Simulator,name=iPhone 15" test
21 |
22 | - name: Build WebRTCSampleApp
23 | run: xcodebuild -scheme WebRTC-Sample-App -configuration Release -destination "generic/platform=iOS" ARCHS=arm64 CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO build
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | Pods/
2 | .DS_Store
3 | Podfile.lock
4 | Release-iphoneos.xcarchive
5 | Release-iphonesimulator.xcarchive
6 | Release*
7 | Package.resolved
8 |
9 | # Ignore Xcode project files
10 | project.xcworkspace/
11 | xcuserdata/
12 | DerivedData/
13 | .idea/
14 |
15 | # Ignore Xcode specific files
16 | *.xcuserstate
17 | *.xcscmblueprint
18 |
19 | # Ignore signing and capability settings
20 | #*.xcodeproj/project.pbxproj
21 | *.xcodeproj/xcuserdata/
22 | *.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist
23 |
24 | # SPM
25 | Packages/
26 | Package.pins
27 |
28 | # Xcode 11+
29 | .swiftpm/
30 |
31 | # Ignore build products
32 | build/
33 | Build/
34 |
35 | # Ignore temporary files
36 | *.moved-aside
37 | *.xcuserstate
38 |
39 | # Ignore Xcode Cache
40 | xcuserdata/
41 |
--------------------------------------------------------------------------------
/.swiftlint.yml:
--------------------------------------------------------------------------------
1 | disabled_rules:
2 | - trailing_whitespace
3 | - force_cast
4 | - line_length
5 | - identifier_name
6 | - missing_docs
7 | - extension_access_modifier
8 | - type_body_length
9 | - file_length
10 | - function_body_length
11 | - force_try
12 | - attributes
13 | - cyclomatic_complexity
14 | - function_parameter_count
15 | - large_tuple
16 | - empty_count
17 | - type_name
18 |
19 | opt_in_rules:
20 | - array_init
21 | - discouraged_object_literal
22 | - fallthrough
23 | - file_name_no_space
24 | - joined_default_parameter
25 | - unused_setter_value
26 | - xct_specific_matcher
27 | - unavailable_function
28 | - last_where
29 | - flatmap_over_map_reduce
30 | - collection_alignment
31 | - untyped_error_in_catch
32 | - yoda_condition
33 | - empty_string
34 | - type_name
35 | - implicit_getter
36 | - pattern_matching_keywords
37 | - unneeded_parentheses_in_closure_argument
38 | - number_separator
39 | - syntactic_sugar
40 | - first_where
41 | - closure_spacing
42 | - contains_over_first_not_nil
43 | - contains_over_filter_count
44 | - contains_over_filter_is_empty
45 | - contains_over_range_nil_comparison
46 | - weak_delegate
47 | - empty_count
48 | - optional_enum_case_matching
49 | - orphaned_doc_comment
50 | - prefer_self_type_over_type_of_self
51 | - explicit_init
52 | - overridden_super_call
53 | - redundant_nil_coalescing
54 | - attributes
55 | - operator_usage_whitespace
56 | - closure_end_indentation
57 | - prohibited_super_call
58 | - fatal_error_message
59 | - vertical_parameter_alignment_on_call
60 | - let_var_whitespace
61 | - literal_expression_end_indentation
62 | - ibinspectable_in_extension
63 | - prefer_zero_over_explicit_init
64 | - notification_center_detachment
65 |
66 | reporter: "xcode"
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Ant Media
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:5.3
2 | import PackageDescription
3 |
4 | let package = Package(
5 | name: "WebRTCiOSSDK",
6 | platforms: [
7 | .iOS(.v12),
8 | ],
9 | products: [
10 | .library(
11 | name: "WebRTCiOSSDK",
12 | targets: ["WebRTCiOSSDK", "WebRTC"]
13 | ),
14 | ],
15 | dependencies: [
16 | .package(url: "https://github.com/daltoniam/Starscream.git", from: "4.0.6")
17 |
18 | ],
19 | targets: [
20 | .target(
21 | name: "WebRTCiOSSDK",
22 | dependencies: ["Starscream"],
23 | path: "WebRTCiOSSDK"
24 | ),
25 | .binaryTarget(
26 | name: "WebRTC",
27 | path: "WebRTC.xcframework"
28 | )
29 | ]
30 | )
31 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Overview
4 |
5 | Ant Media Server is a streaming engine software that provides adaptive, ultra low latency streaming by using WebRTC technology with ~0.5 seconds latency or low latency by using HLS or CMAF. Ant Media Server is highly scalable, running on-premises or on any cloud provider of your choice.
6 |
7 | This repository includes Ant Media iOS SDK for WebRTC. If you have Ant Media Server Community Edition, you can only use WebRTC publishing feature.
8 |
9 | WebRTC play, Conference and Data Channel features are available in Ant Media Server Enterprise Edition.
10 |
11 | ## Quick Start
12 |
13 | - 4 Simple Steps to Build WebRTC iOS Apps and Stream Like a Pro
14 |
15 | - Documentation
16 |
17 | ## How to run the sample applications
18 |
19 | Clone the project or download the zip file and open `WebRTCiOSSDK.xcodeproj` in Xcode as an existing project.
20 |
21 | At the top of the editor, select from the dropdown menu to either open the screenshare application or the sample application.
22 |
23 | ## Support
24 | For your questions, ask on [Ant Media Github Discussions](https://github.com/orgs/ant-media/discussions)
25 |
26 |
27 | ## Issues
28 | Create issues on the [Ant-Media-Server](https://github.com/ant-media/Ant-Media-Server/issues)
29 |
--------------------------------------------------------------------------------
/Resources/michael_jackson_audio_mono.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/Resources/michael_jackson_audio_mono.mp3
--------------------------------------------------------------------------------
/ScreenShare/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSExtension
6 |
7 | NSExtensionPointIdentifier
8 | com.apple.broadcast-services-upload
9 | NSExtensionPrincipalClass
10 | $(PRODUCT_MODULE_NAME).SampleHandler
11 | RPBroadcastProcessMode
12 | RPBroadcastProcessModeSampleBuffer
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/ScreenShare/ScreenShare.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.application-groups
6 |
7 | group.io.antmedia.ios.webrtc-sample.screen.share
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ScreenShare/ScreenShareDebug.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.application-groups
6 |
7 | group.io.antmedia.ios.webrtc.sample
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/AppIcon.appiconset/Ant Media_sosyalmedya_square-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC-Sample-App/Assets.xcassets/AppIcon.appiconset/Ant Media_sosyalmedya_square-01.png
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Ant Media_sosyalmedya_square-01.png",
5 | "idiom" : "universal",
6 | "platform" : "ios",
7 | "size" : "1024x1024"
8 | }
9 | ],
10 | "info" : {
11 | "author" : "xcode",
12 | "version" : 1
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/audioOff.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "audioOff@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/audioOff.imageset/audioOff@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC-Sample-App/Assets.xcassets/VideoIcons/audioOff.imageset/audioOff@2x.png
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/audioOn.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "audioOn@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/audioOn.imageset/audioOn@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC-Sample-App/Assets.xcassets/VideoIcons/audioOn.imageset/audioOn@2x.png
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "hangup@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/close.imageset/hangup@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC-Sample-App/Assets.xcassets/VideoIcons/close.imageset/hangup@2x.png
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/videoOff.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "videoOff@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/videoOff.imageset/videoOff@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC-Sample-App/Assets.xcassets/VideoIcons/videoOff.imageset/videoOff@2x.png
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/videoOn.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "videoOn@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/VideoIcons/videoOn.imageset/videoOn@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC-Sample-App/Assets.xcassets/VideoIcons/videoOn.imageset/videoOn@2x.png
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/last_used.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "last_used.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/last_used.imageset/last_used.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC-Sample-App/Assets.xcassets/last_used.imageset/last_used.png
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Assets.xcassets/logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Ant Media_sosyalmedya_square.svg",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/CellView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CellView.swift
3 | // WebRTC-Sample-App
4 | //
5 | // Created by Ahmet Oguz Mermerkaya on 15.07.2024.
6 | //
7 |
8 | import Foundation
9 | import UIKit
10 | import WebRTC
11 | public class CellView: UICollectionViewCell {
12 |
13 |
14 | @IBOutlet weak var playerView: RTCMTLVideoView!
15 |
16 | var videoTrack:RTCVideoTrack?
17 |
18 | public override func prepareForReuse() {
19 | videoTrack?.remove(playerView)
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIApplicationSceneManifest
6 |
7 | UIApplicationSupportsMultipleScenes
8 |
9 | UISceneConfigurations
10 |
11 | UIWindowSceneSessionRoleApplication
12 |
13 |
14 | UISceneConfigurationName
15 | Default Configuration
16 | UISceneDelegateClassName
17 | $(PRODUCT_MODULE_NAME).SceneDelegate
18 | UISceneStoryboardFile
19 | Main
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Util/Extension/UIApplication.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIApplication.swift
3 | // AntMediaReferenceApplication
4 | //
5 | // Created by Oğulcan on 11.06.2018.
6 | // Copyright © 2018 AntMedia. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | public extension UIApplication {
12 |
13 | static func presentView(_ view: UIViewController) {
14 | if (view.isBeingPresented) {
15 | return
16 | }
17 |
18 | let window = UIApplication.shared.keyWindow!
19 |
20 | if let modalVC = window.rootViewController?.presentedViewController {
21 | modalVC.present(view, animated: true, completion: nil)
22 | } else {
23 | window.rootViewController!.present(view, animated: true, completion: nil)
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Util/Helper/Defaults.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Defaults.swift
3 | // AntMediaReferenceApplication
4 | //
5 | // Created by Oğulcan on 13.06.2018.
6 | // Copyright © 2018 AntMedia. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension DefaultsKeys {
12 |
13 | static let room = DefaultsKey("room")
14 | static let server = DefaultsKey("server")
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/Util/Helper/Run.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Run.swift
3 | // AntMediaReferenceApplication
4 | //
5 | // Created by Oğulcan on 18.06.2018.
6 | // Copyright © 2018 AntMedia. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | open class Run {
12 |
13 | @discardableResult
14 | open class func afterDelay(_ delayInSeconds: Double, block: @escaping ()->()) -> SimpleClosure? {
15 | var cancelled = false
16 |
17 | let cancelClosure: SimpleClosure = {
18 | cancelled = true
19 | }
20 |
21 | let time = DispatchTime.now() + Double(Int64(delayInSeconds * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC)
22 |
23 | DispatchQueue.main.asyncAfter(deadline: time) { () -> Void in
24 | if !cancelled {
25 | block()
26 | }
27 | }
28 |
29 | return cancelClosure
30 | }
31 |
32 | open class func onMainThread(_ block: @escaping ()->()) {
33 | DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()) { () -> Void in
34 | block()
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/WebRTC-Sample-App.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.application-groups
6 |
7 | group.io.antmedia.ios.webrtc-sample
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/WebRTC-Sample-AppDebug.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.application-groups
6 |
7 | group.io.antmedia.ios.webrtc-sample
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/WebRTC_Sample_App.xcdatamodeld/.xccurrentversion:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | _XCCurrentVersionName
6 | WebRTC_Sample_App.xcdatamodel
7 |
8 |
9 |
--------------------------------------------------------------------------------
/WebRTC-Sample-App/WebRTC_Sample_App.xcdatamodeld/WebRTC_Sample_App.xcdatamodel/contents:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/WebRTC-Sample-AppTests/WebRTC_Sample_AppTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WebRTC_Sample_AppTests.swift
3 | // WebRTC-Sample-AppTests
4 | //
5 | // Created by mekya on 06/05/2023.
6 | //
7 |
8 | import XCTest
9 | @testable import WebRTC_Sample_App
10 |
11 | final class WebRTC_Sample_AppTests: XCTestCase {
12 |
13 | override func setUpWithError() throws {
14 | // Put setup code here. This method is called before the invocation of each test method in the class.
15 | }
16 |
17 | override func tearDownWithError() throws {
18 | // Put teardown code here. This method is called after the invocation of each test method in the class.
19 | }
20 |
21 | func testExample() throws {
22 | // This is an example of a functional test case.
23 | // Use XCTAssert and related functions to verify your tests produce the correct results.
24 | // Any test you write for XCTest can be annotated as throws and async.
25 | // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error.
26 | // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards.
27 | }
28 |
29 | func testPerformanceExample() throws {
30 | // This is an example of a performance test case.
31 | self.measure {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/WebRTC-Sample-AppUITests/WebRTC_Sample_AppUITests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WebRTC_Sample_AppUITests.swift
3 | // WebRTC-Sample-AppUITests
4 | //
5 | // Created by mekya on 06/05/2023.
6 | //
7 |
8 | import XCTest
9 |
10 | final class WebRTC_Sample_AppUITests: XCTestCase {
11 |
12 | override func setUpWithError() throws {
13 | // Put setup code here. This method is called before the invocation of each test method in the class.
14 |
15 | // In UI tests it is usually best to stop immediately when a failure occurs.
16 | continueAfterFailure = false
17 |
18 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
19 | }
20 |
21 | override func tearDownWithError() throws {
22 | // Put teardown code here. This method is called after the invocation of each test method in the class.
23 | }
24 |
25 | func testExample() throws {
26 | // UI tests must launch the application that they test.
27 | let app = XCUIApplication()
28 | app.launch()
29 |
30 | // Use XCTAssert and related functions to verify your tests produce the correct results.
31 | }
32 |
33 | func testLaunchPerformance() throws {
34 | if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
35 | // This measures how long it takes to launch your application.
36 | measure(metrics: [XCTApplicationLaunchMetric()]) {
37 | XCUIApplication().launch()
38 | }
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/WebRTC-Sample-AppUITests/WebRTC_Sample_AppUITestsLaunchTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WebRTC_Sample_AppUITestsLaunchTests.swift
3 | // WebRTC-Sample-AppUITests
4 | //
5 | // Created by mekya on 06/05/2023.
6 | //
7 |
8 | import XCTest
9 |
10 | final class WebRTC_Sample_AppUITestsLaunchTests: XCTestCase {
11 |
12 | override class var runsForEachTargetApplicationUIConfiguration: Bool {
13 | true
14 | }
15 |
16 | override func setUpWithError() throws {
17 | continueAfterFailure = false
18 | }
19 |
20 | func testLaunch() throws {
21 | let app = XCUIApplication()
22 | app.launch()
23 |
24 | // Insert steps here to perform after app launch but before taking a screenshot,
25 | // such as logging into a test account or navigating somewhere in the app
26 |
27 | let attachment = XCTAttachment(screenshot: app.screenshot())
28 | attachment.name = "Launch Screen"
29 | attachment.lifetime = .keepAlways
30 | add(attachment)
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AvailableLibraries
6 |
7 |
8 | LibraryIdentifier
9 | ios-arm64
10 | LibraryPath
11 | WebRTC.framework
12 | SupportedArchitectures
13 |
14 | arm64
15 |
16 | SupportedPlatform
17 | ios
18 |
19 |
20 | LibraryIdentifier
21 | ios-arm64_x86_64-simulator
22 | LibraryPath
23 | WebRTC.framework
24 | SupportedArchitectures
25 |
26 | arm64
27 | x86_64
28 |
29 | SupportedPlatform
30 | ios
31 | SupportedPlatformVariant
32 | simulator
33 |
34 |
35 | CFBundlePackageType
36 | XFWK
37 | XCFrameworkFormatVersion
38 | 1.0
39 |
40 |
41 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioDeviceModule.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 |
5 | #import
6 |
7 | NS_ASSUME_NONNULL_BEGIN
8 |
9 | RTC_OBJC_EXPORT
10 |
11 | NS_CLASS_AVAILABLE_IOS(2_0)
12 | @interface RTCAudioDeviceModule : NSObject
13 |
14 | - (void)deliverRecordedData:(CMSampleBufferRef)sampleBuffer;
15 |
16 | - (void)setExternalAudio:(bool)enable;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #import
13 |
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | RTC_EXTERN const int kRTCAudioSessionPreferredNumberOfChannels;
19 | RTC_EXTERN const double kRTCAudioSessionHighPerformanceSampleRate;
20 | RTC_EXTERN const double kRTCAudioSessionLowComplexitySampleRate;
21 | RTC_EXTERN const double kRTCAudioSessionHighPerformanceIOBufferDuration;
22 | RTC_EXTERN const double kRTCAudioSessionLowComplexityIOBufferDuration;
23 |
24 | // Struct to hold configuration values.
25 | RTC_OBJC_EXPORT
26 | @interface RTC_OBJC_TYPE (RTCAudioSessionConfiguration) : NSObject
27 |
28 | @property(nonatomic, strong) NSString *category;
29 | @property(nonatomic, assign) AVAudioSessionCategoryOptions categoryOptions;
30 | @property(nonatomic, strong) NSString *mode;
31 | @property(nonatomic, assign) double sampleRate;
32 | @property(nonatomic, assign) NSTimeInterval ioBufferDuration;
33 | @property(nonatomic, assign) NSInteger inputNumberOfChannels;
34 | @property(nonatomic, assign) NSInteger outputNumberOfChannels;
35 |
36 | /** Initializes configuration to defaults. */
37 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
38 |
39 | /** Returns the current configuration of the audio session. */
40 | + (instancetype)currentConfiguration;
41 | /** Returns the configuration that WebRTC needs. */
42 | + (instancetype)webRTCConfiguration;
43 | /** Provide a way to override the default configuration. */
44 | + (void)setWebRTCConfiguration:(RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration;
45 |
46 | @end
47 |
48 | NS_ASSUME_NONNULL_END
49 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | RTC_OBJC_EXPORT
19 | @interface RTC_OBJC_TYPE (RTCAudioSource) : RTC_OBJC_TYPE(RTCMediaSource)
20 |
21 | - (instancetype)init NS_UNAVAILABLE;
22 |
23 | // Sets the volume for the RTCMediaSource. `volume` is a gain value in the range
24 | // [0, 10].
25 | // Temporary fix to be able to modify volume of remote audio tracks.
26 | // TODO(kthelgason): Property stays here temporarily until a proper volume-api
27 | // is available on the surface exposed by webrtc.
28 | @property(nonatomic, assign) double volume;
29 |
30 | @end
31 |
32 | NS_ASSUME_NONNULL_END
33 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioTrack.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #import
13 |
14 | NS_ASSUME_NONNULL_BEGIN
15 |
16 | @class RTC_OBJC_TYPE(RTCAudioSource);
17 |
18 | RTC_OBJC_EXPORT
19 | @interface RTC_OBJC_TYPE (RTCAudioTrack) : RTC_OBJC_TYPE(RTCMediaStreamTrack)
20 |
21 | - (instancetype)init NS_UNAVAILABLE;
22 |
23 | /** The audio source for this audio track. */
24 | @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCAudioSource) * source;
25 |
26 | @end
27 |
28 | NS_ASSUME_NONNULL_END
29 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCallbackLogger.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | typedef void (^RTCCallbackLoggerMessageHandler)(NSString *message);
19 | typedef void (^RTCCallbackLoggerMessageAndSeverityHandler)(NSString *message,
20 | RTCLoggingSeverity severity);
21 |
22 | // This class intercepts WebRTC logs and forwards them to a registered block.
23 | // This class is not threadsafe.
24 | RTC_OBJC_EXPORT
25 | @interface RTC_OBJC_TYPE (RTCCallbackLogger) : NSObject
26 |
27 | // The severity level to capture. The default is kRTCLoggingSeverityInfo.
28 | @property(nonatomic, assign) RTCLoggingSeverity severity;
29 |
30 | // The callback handler will be called on the same thread that does the
31 | // logging, so if the logging callback can be slow it may be a good idea
32 | // to implement dispatching to some other queue.
33 | - (void)start:(nullable RTCCallbackLoggerMessageHandler)handler;
34 | - (void)startWithMessageAndSeverityHandler:
35 | (nullable RTCCallbackLoggerMessageAndSeverityHandler)handler;
36 |
37 | - (void)stop;
38 |
39 | @end
40 |
41 | NS_ASSUME_NONNULL_END
42 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCameraPreviewView.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #import
13 |
14 | #import
15 |
16 | @class AVCaptureSession;
17 |
18 | /** RTCCameraPreviewView is a view that renders local video from an
19 | * AVCaptureSession.
20 | */
21 | RTC_OBJC_EXPORT
22 | @interface RTC_OBJC_TYPE (RTCCameraPreviewView) : UIView
23 |
24 | /** The capture session being rendered in the view. Capture session
25 | * is assigned to AVCaptureVideoPreviewLayer async in the same
26 | * queue that the AVCaptureSession is started/stopped.
27 | */
28 | @property(nonatomic, strong) AVCaptureSession* captureSession;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCertificate.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | RTC_OBJC_EXPORT
18 | @interface RTC_OBJC_TYPE (RTCCertificate) : NSObject
19 |
20 | /** Private key in PEM. */
21 | @property(nonatomic, readonly, copy) NSString *private_key;
22 |
23 | /** Public key in an x509 cert encoded in PEM. */
24 | @property(nonatomic, readonly, copy) NSString *certificate;
25 |
26 | /**
27 | * Initialize an RTCCertificate with PEM strings for private_key and certificate.
28 | */
29 | - (instancetype)initWithPrivateKey:(NSString *)private_key
30 | certificate:(NSString *)certificate NS_DESIGNATED_INITIALIZER;
31 |
32 | - (instancetype)init NS_UNAVAILABLE;
33 |
34 | /** Generate a new certificate for 're' use.
35 | *
36 | * Optional dictionary of parameters. Defaults to KeyType ECDSA if none are
37 | * provided.
38 | * - name: "ECDSA" or "RSASSA-PKCS1-v1_5"
39 | */
40 | + (nullable RTC_OBJC_TYPE(RTCCertificate) *)generateCertificateWithParams:(NSDictionary *)params;
41 |
42 | @end
43 |
44 | NS_ASSUME_NONNULL_END
45 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCodecSpecificInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /** Implement this protocol to pass codec specific info from the encoder.
18 | * Corresponds to webrtc::CodecSpecificInfo.
19 | */
20 | RTC_OBJC_EXPORT
21 | @protocol RTC_OBJC_TYPE
22 | (RTCCodecSpecificInfo) @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | /** Class for H264 specific config. */
17 | typedef NS_ENUM(NSUInteger, RTCH264PacketizationMode) {
18 | RTCH264PacketizationModeNonInterleaved = 0, // Mode 1 - STAP-A, FU-A is allowed
19 | RTCH264PacketizationModeSingleNalUnit // Mode 0 - only single NALU allowed
20 | };
21 |
22 | RTC_OBJC_EXPORT
23 | @interface RTC_OBJC_TYPE (RTCCodecSpecificInfoH264) : NSObject
24 |
25 | @property(nonatomic, assign) RTCH264PacketizationMode packetizationMode;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDataChannelConfiguration.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #import
13 |
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | RTC_OBJC_EXPORT
19 | @interface RTC_OBJC_TYPE (RTCDataChannelConfiguration) : NSObject
20 |
21 | /** Set to YES if ordered delivery is required. */
22 | @property(nonatomic, assign) BOOL isOrdered;
23 |
24 | /** Deprecated. Use maxPacketLifeTime. */
25 | @property(nonatomic, assign) NSInteger maxRetransmitTimeMs DEPRECATED_ATTRIBUTE;
26 |
27 | /**
28 | * Max period in milliseconds in which retransmissions will be sent. After this
29 | * time, no more retransmissions will be sent. -1 if unset.
30 | */
31 | @property(nonatomic, assign) int maxPacketLifeTime;
32 |
33 | /** The max number of retransmissions. -1 if unset. */
34 | @property(nonatomic, assign) int maxRetransmits;
35 |
36 | /** Set to YES if the channel has been externally negotiated and we do not send
37 | * an in-band signalling in the form of an "open" message.
38 | */
39 | @property(nonatomic, assign) BOOL isNegotiated;
40 |
41 | /** Deprecated. Use channelId. */
42 | @property(nonatomic, assign) int streamId DEPRECATED_ATTRIBUTE;
43 |
44 | /** The id of the data channel. */
45 | @property(nonatomic, assign) int channelId;
46 |
47 | /** Set by the application and opaque to the WebRTC implementation. */
48 | @property(nonatomic) NSString* protocol;
49 |
50 | @end
51 |
52 | NS_ASSUME_NONNULL_END
53 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | /** This decoder factory include support for all codecs bundled with WebRTC. If using custom
19 | * codecs, create custom implementations of RTCVideoEncoderFactory and
20 | * RTCVideoDecoderFactory.
21 | */
22 | RTC_OBJC_EXPORT
23 | @interface RTC_OBJC_TYPE (RTCDefaultVideoDecoderFactory) : NSObject
24 | @end
25 |
26 | NS_ASSUME_NONNULL_END
27 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | /** This encoder factory include support for all codecs bundled with WebRTC. If using custom
19 | * codecs, create custom implementations of RTCVideoEncoderFactory and
20 | * RTCVideoDecoderFactory.
21 | */
22 | RTC_OBJC_EXPORT
23 | @interface RTC_OBJC_TYPE (RTCDefaultVideoEncoderFactory) : NSObject
24 |
25 | @property(nonatomic, retain) RTC_OBJC_TYPE(RTCVideoCodecInfo) *preferredCodec;
26 |
27 | + (NSArray *)supportedCodecs;
28 |
29 | @end
30 |
31 | NS_ASSUME_NONNULL_END
32 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDispatcher.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | typedef NS_ENUM(NSInteger, RTCDispatcherQueueType) {
16 | // Main dispatcher queue.
17 | RTCDispatcherTypeMain,
18 | // Used for starting/stopping AVCaptureSession, and assigning
19 | // capture session to AVCaptureVideoPreviewLayer.
20 | RTCDispatcherTypeCaptureSession,
21 | // Used for operations on AVAudioSession.
22 | RTCDispatcherTypeAudioSession,
23 | // Used for operations on NWPathMonitor.
24 | RTCDispatcherTypeNetworkMonitor,
25 | };
26 |
27 | /** Dispatcher that asynchronously dispatches blocks to a specific
28 | * shared dispatch queue.
29 | */
30 | RTC_OBJC_EXPORT
31 | @interface RTC_OBJC_TYPE (RTCDispatcher) : NSObject
32 |
33 | - (instancetype)init NS_UNAVAILABLE;
34 |
35 | /** Dispatch the block asynchronously on the queue for dispatchType.
36 | * @param dispatchType The queue type to dispatch on.
37 | * @param block The block to dispatch asynchronously.
38 | */
39 | + (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType block:(dispatch_block_t)block;
40 |
41 | /** Returns YES if run on queue for the dispatchType otherwise NO.
42 | * Useful for asserting that a method is run on a correct queue.
43 | */
44 | + (BOOL)isOnQueueForType:(RTCDispatcherQueueType)dispatchType;
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCEAGLVideoView.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #import
13 |
14 | #import
15 | #import
16 | #import
17 |
18 | NS_ASSUME_NONNULL_BEGIN
19 |
20 | @class RTC_OBJC_TYPE(RTCEAGLVideoView);
21 |
22 | /**
23 | * RTCEAGLVideoView is an RTCVideoRenderer which renders video frames
24 | * in its bounds using OpenGLES 2.0 or OpenGLES 3.0.
25 | */
26 | RTC_OBJC_EXPORT
27 | NS_EXTENSION_UNAVAILABLE_IOS("Rendering not available in app extensions.")
28 | @interface RTC_OBJC_TYPE (RTCEAGLVideoView) : UIView
29 |
30 | @property(nonatomic, weak) id delegate;
31 |
32 | - (instancetype)initWithFrame:(CGRect)frame
33 | shader:(id)shader
34 | NS_DESIGNATED_INITIALIZER;
35 |
36 | - (instancetype)initWithCoder:(NSCoder *)aDecoder
37 | shader:(id)shader
38 | NS_DESIGNATED_INITIALIZER;
39 |
40 | /** @abstract Wrapped RTCVideoRotation, or nil.
41 | */
42 | @property(nonatomic, nullable) NSValue *rotationOverride;
43 | @end
44 |
45 | NS_ASSUME_NONNULL_END
46 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCEncodedImage.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | /** Represents an encoded frame's type. */
19 | typedef NS_ENUM(NSUInteger, RTCFrameType) {
20 | RTCFrameTypeEmptyFrame = 0,
21 | RTCFrameTypeAudioFrameSpeech = 1,
22 | RTCFrameTypeAudioFrameCN = 2,
23 | RTCFrameTypeVideoFrameKey = 3,
24 | RTCFrameTypeVideoFrameDelta = 4,
25 | };
26 |
27 | typedef NS_ENUM(NSUInteger, RTCVideoContentType) {
28 | RTCVideoContentTypeUnspecified,
29 | RTCVideoContentTypeScreenshare,
30 | };
31 |
32 | /** Represents an encoded frame. Corresponds to webrtc::EncodedImage. */
33 | RTC_OBJC_EXPORT
34 | @interface RTC_OBJC_TYPE (RTCEncodedImage) : NSObject
35 |
36 | @property(nonatomic, strong) NSData *buffer;
37 | @property(nonatomic, assign) int32_t encodedWidth;
38 | @property(nonatomic, assign) int32_t encodedHeight;
39 | @property(nonatomic, assign) uint32_t timeStamp;
40 | @property(nonatomic, assign) int64_t captureTimeMs;
41 | @property(nonatomic, assign) int64_t ntpTimeMs;
42 | @property(nonatomic, assign) uint8_t flags;
43 | @property(nonatomic, assign) int64_t encodeStartMs;
44 | @property(nonatomic, assign) int64_t encodeFinishMs;
45 | @property(nonatomic, assign) RTCFrameType frameType;
46 | @property(nonatomic, assign) RTCVideoRotation rotation;
47 | @property(nonatomic, strong) NSNumber *qp;
48 | @property(nonatomic, assign) RTCVideoContentType contentType;
49 |
50 | @end
51 |
52 | NS_ASSUME_NONNULL_END
53 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFieldTrials.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | /** The only valid value for the following if set is kRTCFieldTrialEnabledValue. */
16 | RTC_EXTERN NSString * const kRTCFieldTrialAudioForceNoTWCCKey;
17 | RTC_EXTERN NSString * const kRTCFieldTrialAudioForceABWENoTWCCKey;
18 | RTC_EXTERN NSString * const kRTCFieldTrialSendSideBweWithOverheadKey;
19 | RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03AdvertisedKey;
20 | RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03Key;
21 | RTC_EXTERN NSString * const kRTCFieldTrialH264HighProfileKey;
22 | RTC_EXTERN NSString * const kRTCFieldTrialMinimizeResamplingOnMobileKey;
23 | RTC_EXTERN NSString *const kRTCFieldTrialUseNWPathMonitor;
24 |
25 | /** The valid value for field trials above. */
26 | RTC_EXTERN NSString * const kRTCFieldTrialEnabledValue;
27 |
28 | /** Initialize field trials using a dictionary mapping field trial keys to their
29 | * values. See above for valid keys and values. Must be called before any other
30 | * call into WebRTC. See: webrtc/system_wrappers/include/field_trial.h
31 | */
32 | RTC_EXTERN void RTCInitFieldTrialDictionary(NSDictionary *fieldTrials);
33 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFileVideoCapturer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /**
18 | * Error passing block.
19 | */
20 | typedef void (^RTCFileVideoCapturerErrorBlock)(NSError *error);
21 |
22 | /**
23 | * Captures buffers from bundled video file.
24 | *
25 | * See @c RTCVideoCapturer for more info on capturers.
26 | */
27 | RTC_OBJC_EXPORT
28 |
29 | NS_CLASS_AVAILABLE_IOS(10)
30 | @interface RTC_OBJC_TYPE (RTCFileVideoCapturer) : RTC_OBJC_TYPE(RTCVideoCapturer)
31 |
32 | /**
33 | * Starts asynchronous capture of frames from video file.
34 | *
35 | * Capturing is not started if error occurs. Underlying error will be
36 | * relayed in the errorBlock if one is provided.
37 | * Successfully captured video frames will be passed to the delegate.
38 | *
39 | * @param nameOfFile The name of the bundled video file to be read.
40 | * @errorBlock block to be executed upon error.
41 | */
42 | - (void)startCapturingFromFileNamed:(NSString *)nameOfFile
43 | onError:(__nullable RTCFileVideoCapturerErrorBlock)errorBlock;
44 |
45 | /**
46 | * Immediately stops capture.
47 | */
48 | - (void)stopCapture;
49 | @end
50 |
51 | NS_ASSUME_NONNULL_END
52 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCI420Buffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /** Protocol for RTCYUVPlanarBuffers containing I420 data */
18 | RTC_OBJC_EXPORT
19 | @protocol RTC_OBJC_TYPE
20 | (RTCI420Buffer) @end
21 |
22 | NS_ASSUME_NONNULL_END
23 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceCandidate.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | RTC_OBJC_EXPORT
18 | @interface RTC_OBJC_TYPE (RTCIceCandidate) : NSObject
19 |
20 | /**
21 | * If present, the identifier of the "media stream identification" for the media
22 | * component this candidate is associated with.
23 | */
24 | @property(nonatomic, readonly, nullable) NSString *sdpMid;
25 |
26 | /**
27 | * The index (starting at zero) of the media description this candidate is
28 | * associated with in the SDP.
29 | */
30 | @property(nonatomic, readonly) int sdpMLineIndex;
31 |
32 | /** The SDP string for this candidate. */
33 | @property(nonatomic, readonly) NSString *sdp;
34 |
35 | /** The URL of the ICE server which this candidate is gathered from. */
36 | @property(nonatomic, readonly, nullable) NSString *serverUrl;
37 |
38 | - (instancetype)init NS_UNAVAILABLE;
39 |
40 | /**
41 | * Initialize an RTCIceCandidate from SDP.
42 | */
43 | - (instancetype)initWithSdp:(NSString *)sdp
44 | sdpMLineIndex:(int)sdpMLineIndex
45 | sdpMid:(nullable NSString *)sdpMid NS_DESIGNATED_INITIALIZER;
46 |
47 | @end
48 |
49 | NS_ASSUME_NONNULL_END
50 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2021 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | RTC_OBJC_EXPORT
18 | @interface RTC_OBJC_TYPE (RTCIceCandidateErrorEvent) : NSObject
19 |
20 | /** The local IP address used to communicate with the STUN or TURN server. */
21 | @property(nonatomic, readonly) NSString *address;
22 |
23 | /** The port used to communicate with the STUN or TURN server. */
24 | @property(nonatomic, readonly) int port;
25 |
26 | /** The STUN or TURN URL that identifies the STUN or TURN server for which the failure occurred. */
27 | @property(nonatomic, readonly) NSString *url;
28 |
29 | /** The numeric STUN error code returned by the STUN or TURN server. If no host candidate can reach
30 | * the server, errorCode will be set to the value 701 which is outside the STUN error code range.
31 | * This error is only fired once per server URL while in the RTCIceGatheringState of "gathering". */
32 | @property(nonatomic, readonly) int errorCode;
33 |
34 | /** The STUN reason text returned by the STUN or TURN server. If the server could not be reached,
35 | * errorText will be set to an implementation-specific value providing details about the error. */
36 | @property(nonatomic, readonly) NSString *errorText;
37 |
38 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
39 |
40 | @end
41 |
42 | NS_ASSUME_NONNULL_END
43 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCLegacyStatsReport.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /** This does not currently conform to the spec. */
18 | RTC_OBJC_EXPORT
19 | @interface RTC_OBJC_TYPE (RTCLegacyStatsReport) : NSObject
20 |
21 | /** Time since 1970-01-01T00:00:00Z in milliseconds. */
22 | @property(nonatomic, readonly) CFTimeInterval timestamp;
23 |
24 | /** The type of stats held by this object. */
25 | @property(nonatomic, readonly) NSString *type;
26 |
27 | /** The identifier for this object. */
28 | @property(nonatomic, readonly) NSString *reportId;
29 |
30 | /** A dictionary holding the actual stats. */
31 | @property(nonatomic, readonly) NSDictionary *values;
32 |
33 | - (instancetype)init NS_UNAVAILABLE;
34 |
35 | @end
36 |
37 | NS_ASSUME_NONNULL_END
38 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMTLVideoView.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 | #import
16 |
17 | NS_ASSUME_NONNULL_BEGIN
18 |
19 | /**
20 | * RTCMTLVideoView is thin wrapper around MTKView.
21 | *
22 | * It has id property that renders video frames in the view's
23 | * bounds using Metal.
24 | */
25 | NS_CLASS_AVAILABLE_IOS(9)
26 |
27 | RTC_OBJC_EXPORT
28 | @interface RTC_OBJC_TYPE (RTCMTLVideoView) : UIView
29 |
30 | @property(nonatomic, weak) id delegate;
31 |
32 | @property(nonatomic) UIViewContentMode videoContentMode;
33 |
34 | /** @abstract Enables/disables rendering.
35 | */
36 | @property(nonatomic, getter=isEnabled) BOOL enabled;
37 |
38 | /** @abstract Wrapped RTCVideoRotation, or nil.
39 | */
40 | @property(nonatomic, nullable) NSValue* rotationOverride;
41 |
42 | @end
43 |
44 | NS_ASSUME_NONNULL_END
45 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaConstraints.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /** Constraint keys for media sources. */
18 | /** The value for this key should be a base64 encoded string containing
19 | * the data from the serialized configuration proto.
20 | */
21 | RTC_EXTERN NSString *const kRTCMediaConstraintsAudioNetworkAdaptorConfig;
22 |
23 | /** Constraint keys for generating offers and answers. */
24 | RTC_EXTERN NSString *const kRTCMediaConstraintsIceRestart;
25 | RTC_EXTERN NSString *const kRTCMediaConstraintsOfferToReceiveAudio;
26 | RTC_EXTERN NSString *const kRTCMediaConstraintsOfferToReceiveVideo;
27 | RTC_EXTERN NSString *const kRTCMediaConstraintsVoiceActivityDetection;
28 |
29 | /** Constraint values for Boolean parameters. */
30 | RTC_EXTERN NSString *const kRTCMediaConstraintsValueTrue;
31 | RTC_EXTERN NSString *const kRTCMediaConstraintsValueFalse;
32 |
33 | RTC_OBJC_EXPORT
34 | @interface RTC_OBJC_TYPE (RTCMediaConstraints) : NSObject
35 |
36 | - (instancetype)init NS_UNAVAILABLE;
37 |
38 | /** Initialize with mandatory and/or optional constraints. */
39 | - (instancetype)
40 | initWithMandatoryConstraints:(nullable NSDictionary *)mandatory
41 | optionalConstraints:(nullable NSDictionary *)optional
42 | NS_DESIGNATED_INITIALIZER;
43 |
44 | @end
45 |
46 | NS_ASSUME_NONNULL_END
47 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | typedef NS_ENUM(NSInteger, RTCSourceState) {
16 | RTCSourceStateInitializing,
17 | RTCSourceStateLive,
18 | RTCSourceStateEnded,
19 | RTCSourceStateMuted,
20 | };
21 |
22 | NS_ASSUME_NONNULL_BEGIN
23 |
24 | RTC_OBJC_EXPORT
25 | @interface RTC_OBJC_TYPE (RTCMediaSource) : NSObject
26 |
27 | /** The current state of the RTCMediaSource. */
28 | @property(nonatomic, readonly) RTCSourceState state;
29 |
30 | - (instancetype)init NS_UNAVAILABLE;
31 |
32 | @end
33 |
34 | NS_ASSUME_NONNULL_END
35 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaStream.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @class RTC_OBJC_TYPE(RTCAudioTrack);
18 | @class RTC_OBJC_TYPE(RTCPeerConnectionFactory);
19 | @class RTC_OBJC_TYPE(RTCVideoTrack);
20 |
21 | RTC_OBJC_EXPORT
22 | @interface RTC_OBJC_TYPE (RTCMediaStream) : NSObject
23 |
24 | /** The audio tracks in this stream. */
25 | @property(nonatomic, strong, readonly) NSArray *audioTracks;
26 |
27 | /** The video tracks in this stream. */
28 | @property(nonatomic, strong, readonly) NSArray *videoTracks;
29 |
30 | /** An identifier for this media stream. */
31 | @property(nonatomic, readonly) NSString *streamId;
32 |
33 | - (instancetype)init NS_UNAVAILABLE;
34 |
35 | /** Adds the given audio track to this media stream. */
36 | - (void)addAudioTrack:(RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrack;
37 |
38 | /** Adds the given video track to this media stream. */
39 | - (void)addVideoTrack:(RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrack;
40 |
41 | /** Removes the given audio track to this media stream. */
42 | - (void)removeAudioTrack:(RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrack;
43 |
44 | /** Removes the given video track to this media stream. */
45 | - (void)removeVideoTrack:(RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrack;
46 |
47 | @end
48 |
49 | NS_ASSUME_NONNULL_END
50 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaStreamTrack.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | /**
16 | * Represents the state of the track. This exposes the same states in C++.
17 | */
18 | typedef NS_ENUM(NSInteger, RTCMediaStreamTrackState) {
19 | RTCMediaStreamTrackStateLive,
20 | RTCMediaStreamTrackStateEnded
21 | };
22 |
23 | NS_ASSUME_NONNULL_BEGIN
24 |
25 | RTC_EXTERN NSString *const kRTCMediaStreamTrackKindAudio;
26 | RTC_EXTERN NSString *const kRTCMediaStreamTrackKindVideo;
27 |
28 | RTC_OBJC_EXPORT
29 | @interface RTC_OBJC_TYPE (RTCMediaStreamTrack) : NSObject
30 |
31 | /**
32 | * The kind of track. For example, "audio" if this track represents an audio
33 | * track and "video" if this track represents a video track.
34 | */
35 | @property(nonatomic, readonly) NSString *kind;
36 |
37 | /** An identifier string. */
38 | @property(nonatomic, readonly) NSString *trackId;
39 |
40 | /** The enabled state of the track. */
41 | @property(nonatomic, assign) BOOL isEnabled;
42 |
43 | /** The state of the track. */
44 | @property(nonatomic, readonly) RTCMediaStreamTrackState readyState;
45 |
46 | - (instancetype)init NS_UNAVAILABLE;
47 |
48 | @end
49 |
50 | NS_ASSUME_NONNULL_END
51 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMetrics.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | /**
17 | * Enables gathering of metrics (which can be fetched with
18 | * RTCGetAndResetMetrics). Must be called before any other call into WebRTC.
19 | */
20 | RTC_EXTERN void RTCEnableMetrics(void);
21 |
22 | /** Gets and clears native histograms. */
23 | RTC_EXTERN NSArray* RTCGetAndResetMetrics(void);
24 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMetricsSampleInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | RTC_OBJC_EXPORT
18 | @interface RTC_OBJC_TYPE (RTCMetricsSampleInfo) : NSObject
19 |
20 | /**
21 | * Example of RTCMetricsSampleInfo:
22 | * name: "WebRTC.Video.InputFramesPerSecond"
23 | * min: 1
24 | * max: 100
25 | * bucketCount: 50
26 | * samples: [29]:2 [30]:1
27 | */
28 |
29 | /** The name of the histogram. */
30 | @property(nonatomic, readonly) NSString *name;
31 |
32 | /** The minimum bucket value. */
33 | @property(nonatomic, readonly) int min;
34 |
35 | /** The maximum bucket value. */
36 | @property(nonatomic, readonly) int max;
37 |
38 | /** The number of buckets. */
39 | @property(nonatomic, readonly) int bucketCount;
40 |
41 | /** A dictionary holding the samples . */
42 | @property(nonatomic, readonly) NSDictionary *samples;
43 |
44 | - (instancetype)init NS_UNAVAILABLE;
45 |
46 | @end
47 |
48 | NS_ASSUME_NONNULL_END
49 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMutableI420Buffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | /** Extension of the I420 buffer with mutable data access */
19 | RTC_OBJC_EXPORT
20 | @protocol RTC_OBJC_TYPE
21 | (RTCMutableI420Buffer) @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /** Extension of the YUV planar data buffer with mutable data access */
18 | RTC_OBJC_EXPORT
19 | @protocol RTC_OBJC_TYPE
20 | (RTCMutableYUVPlanarBuffer)
21 |
22 | @property(nonatomic, readonly) uint8_t *mutableDataY;
23 | @property(nonatomic, readonly) uint8_t *mutableDataU;
24 | @property(nonatomic, readonly) uint8_t *mutableDataV;
25 |
26 | @end
27 |
28 | NS_ASSUME_NONNULL_END
29 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNativeI420Buffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | /** RTCI420Buffer implements the RTCI420Buffer protocol */
19 | RTC_OBJC_EXPORT
20 | @interface RTC_OBJC_TYPE (RTCI420Buffer) : NSObject
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 | #import
16 |
17 | NS_ASSUME_NONNULL_BEGIN
18 |
19 | /** Mutable version of RTCI420Buffer */
20 | RTC_OBJC_EXPORT
21 | @interface RTC_OBJC_TYPE (RTCMutableI420Buffer) : RTC_OBJC_TYPE(RTCI420Buffer)
22 | @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNetworkMonitor.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2020 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | /** Listens for NWPathMonitor updates and forwards the results to a C++
16 | * observer.
17 | */
18 | @interface RTCNetworkMonitor : NSObject
19 |
20 | - (instancetype)init NS_UNAVAILABLE;
21 |
22 | @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | RTC_OBJC_EXPORT
18 | @interface RTC_OBJC_TYPE (RTCPeerConnectionFactoryOptions) : NSObject
19 |
20 | @property(nonatomic, assign) BOOL disableEncryption;
21 |
22 | @property(nonatomic, assign) BOOL disableNetworkMonitor;
23 |
24 | @property(nonatomic, assign) BOOL ignoreLoopbackNetworkAdapter;
25 |
26 | @property(nonatomic, assign) BOOL ignoreVPNNetworkAdapter;
27 |
28 | @property(nonatomic, assign) BOOL ignoreCellularNetworkAdapter;
29 |
30 | @property(nonatomic, assign) BOOL ignoreWiFiNetworkAdapter;
31 |
32 | @property(nonatomic, assign) BOOL ignoreEthernetNetworkAdapter;
33 |
34 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
35 |
36 | @end
37 |
38 | NS_ASSUME_NONNULL_END
39 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtcpParameters.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | RTC_OBJC_EXPORT
18 | @interface RTC_OBJC_TYPE (RTCRtcpParameters) : NSObject
19 |
20 | /** The Canonical Name used by RTCP. */
21 | @property(nonatomic, readonly, copy) NSString *cname;
22 |
23 | /** Whether reduced size RTCP is configured or compound RTCP. */
24 | @property(nonatomic, assign) BOOL isReducedSize;
25 |
26 | - (instancetype)init;
27 |
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpHeaderExtension.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | RTC_OBJC_EXPORT
18 | @interface RTC_OBJC_TYPE (RTCRtpHeaderExtension) : NSObject
19 |
20 | /** The URI of the RTP header extension, as defined in RFC5285. */
21 | @property(nonatomic, readonly, copy) NSString *uri;
22 |
23 | /** The value put in the RTP packet to identify the header extension. */
24 | @property(nonatomic, readonly) int id;
25 |
26 | /** Whether the header extension is encrypted or not. */
27 | @property(nonatomic, readonly, getter=isEncrypted) BOOL encrypted;
28 |
29 | - (instancetype)init;
30 |
31 | @end
32 |
33 | NS_ASSUME_NONNULL_END
34 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpSender.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 | #import
16 | #import
17 |
18 | NS_ASSUME_NONNULL_BEGIN
19 |
20 | RTC_OBJC_EXPORT
21 | @protocol RTC_OBJC_TYPE
22 | (RTCRtpSender)
23 |
24 | /** A unique identifier for this sender. */
25 | @property(nonatomic, readonly) NSString *senderId;
26 |
27 | /** The currently active RTCRtpParameters, as defined in
28 | * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters.
29 | */
30 | @property(nonatomic, copy) RTC_OBJC_TYPE(RTCRtpParameters) * parameters;
31 |
32 | /** The RTCMediaStreamTrack associated with the sender.
33 | * Note: reading this property returns a new instance of
34 | * RTCMediaStreamTrack. Use isEqual: instead of == to compare
35 | * RTCMediaStreamTrack instances.
36 | */
37 | @property(nonatomic, copy, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * track;
38 |
39 | /** IDs of streams associated with the RTP sender */
40 | @property(nonatomic, copy) NSArray *streamIds;
41 |
42 | /** The RTCDtmfSender accociated with the RTP sender. */
43 | @property(nonatomic, readonly, nullable) id dtmfSender;
44 |
45 | @end
46 |
47 | RTC_OBJC_EXPORT
48 | @interface RTC_OBJC_TYPE (RTCRtpSender) : NSObject
49 |
50 | - (instancetype)init NS_UNAVAILABLE;
51 |
52 | @end
53 |
54 | NS_ASSUME_NONNULL_END
55 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSSLAdapter.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | /**
16 | * Initialize and clean up the SSL library. Failure is fatal. These call the
17 | * corresponding functions in webrtc/rtc_base/ssladapter.h.
18 | */
19 | RTC_EXTERN BOOL RTCInitializeSSL(void);
20 | RTC_EXTERN BOOL RTCCleanupSSL(void);
21 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE
18 | (RTCSSLCertificateVerifier)
19 |
20 | /** The certificate to verify */
21 | - (BOOL)verify : (NSData *)derCertificate;
22 |
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSessionDescription.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | /**
16 | * Represents the session description type. This exposes the same types that are
17 | * in C++, which doesn't include the rollback type that is in the W3C spec.
18 | */
19 | typedef NS_ENUM(NSInteger, RTCSdpType) {
20 | RTCSdpTypeOffer,
21 | RTCSdpTypePrAnswer,
22 | RTCSdpTypeAnswer,
23 | RTCSdpTypeRollback,
24 | };
25 |
26 | NS_ASSUME_NONNULL_BEGIN
27 |
28 | RTC_OBJC_EXPORT
29 | @interface RTC_OBJC_TYPE (RTCSessionDescription) : NSObject
30 |
31 | /** The type of session description. */
32 | @property(nonatomic, readonly) RTCSdpType type;
33 |
34 | /** The SDP string representation of this session description. */
35 | @property(nonatomic, readonly) NSString *sdp;
36 |
37 | - (instancetype)init NS_UNAVAILABLE;
38 |
39 | /** Initialize a session description with a type and SDP string. */
40 | - (instancetype)initWithType:(RTCSdpType)type sdp:(NSString *)sdp NS_DESIGNATED_INITIALIZER;
41 |
42 | + (NSString *)stringForType:(RTCSdpType)type;
43 |
44 | + (RTCSdpType)typeForString:(NSString *)string;
45 |
46 | @end
47 |
48 | NS_ASSUME_NONNULL_END
49 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCTracing.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | RTC_EXTERN void RTCSetupInternalTracer(void);
16 | /** Starts capture to specified file. Must be a valid writable path.
17 | * Returns YES if capture starts.
18 | */
19 | RTC_EXTERN BOOL RTCStartInternalCapture(NSString* filePath);
20 | RTC_EXTERN void RTCStopInternalCapture(void);
21 | RTC_EXTERN void RTCShutdownInternalTracer(void);
22 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCapturer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @class RTC_OBJC_TYPE(RTCVideoCapturer);
18 |
19 | RTC_OBJC_EXPORT
20 | @protocol RTC_OBJC_TYPE
21 | (RTCVideoCapturerDelegate) -
22 | (void)capturer : (RTC_OBJC_TYPE(RTCVideoCapturer) *)capturer didCaptureVideoFrame
23 | : (RTC_OBJC_TYPE(RTCVideoFrame) *)frame;
24 | @end
25 |
26 | RTC_OBJC_EXPORT
27 | @interface RTC_OBJC_TYPE (RTCVideoCapturer) : NSObject
28 |
29 | @property(nonatomic, weak) id delegate;
30 |
31 | - (instancetype)initWithDelegate:(id)delegate;
32 |
33 | @end
34 |
35 | NS_ASSUME_NONNULL_END
36 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCodecConstants.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | RTC_EXTERN NSString* const kRTCVideoCodecVp8Name;
16 | RTC_EXTERN NSString* const kRTCVideoCodecVp9Name;
17 | RTC_EXTERN NSString* const kRTCVideoCodecAv1Name;
18 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCodecInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /** Holds information to identify a codec. Corresponds to webrtc::SdpVideoFormat. */
18 | RTC_OBJC_EXPORT
19 | @interface RTC_OBJC_TYPE (RTCVideoCodecInfo) : NSObject
20 |
21 | - (instancetype)init NS_UNAVAILABLE;
22 |
23 | - (instancetype)initWithName:(NSString *)name;
24 |
25 | - (instancetype)initWithName:(NSString *)name
26 | parameters:(nullable NSDictionary *)parameters
27 | NS_DESIGNATED_INITIALIZER;
28 |
29 | - (BOOL)isEqualToCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info;
30 |
31 | @property(nonatomic, readonly) NSString *name;
32 | @property(nonatomic, readonly) NSDictionary *parameters;
33 |
34 | @end
35 |
36 | NS_ASSUME_NONNULL_END
37 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoder.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 | #import
16 | #import
17 | #import
18 |
19 | NS_ASSUME_NONNULL_BEGIN
20 |
21 | /** Callback block for decoder. */
22 | typedef void (^RTCVideoDecoderCallback)(RTC_OBJC_TYPE(RTCVideoFrame) * frame);
23 |
24 | /** Protocol for decoder implementations. */
25 | RTC_OBJC_EXPORT
26 | @protocol RTC_OBJC_TYPE
27 | (RTCVideoDecoder)
28 |
29 | - (void)setCallback : (RTCVideoDecoderCallback)callback;
30 | - (NSInteger)startDecodeWithNumberOfCores:(int)numberOfCores;
31 | - (NSInteger)releaseDecoder;
32 | - (NSInteger)decode:(RTC_OBJC_TYPE(RTCEncodedImage) *)encodedImage
33 | missingFrames:(BOOL)missingFrames
34 | codecSpecificInfo:(nullable id)info
35 | renderTimeMs:(int64_t)renderTimeMs;
36 | - (NSString *)implementationName;
37 |
38 | @end
39 |
40 | NS_ASSUME_NONNULL_END
41 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderAV1.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_OBJC_EXPORT
17 | @interface RTC_OBJC_TYPE (RTCVideoDecoderAV1) : NSObject
18 |
19 | /* This returns a AV1 decoder that can be returned from a RTCVideoDecoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)av1Decoder;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderFactory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 | #import
16 |
17 | NS_ASSUME_NONNULL_BEGIN
18 |
19 | /** RTCVideoDecoderFactory is an Objective-C version of webrtc::VideoDecoderFactory.
20 | */
21 | RTC_OBJC_EXPORT
22 | @protocol RTC_OBJC_TYPE
23 | (RTCVideoDecoderFactory)
24 |
25 | - (nullable id)createDecoder
26 | : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info;
27 | - (NSArray *)
28 | supportedCodecs; // TODO(andersc): "supportedFormats" instead?
29 |
30 | @end
31 |
32 | NS_ASSUME_NONNULL_END
33 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_OBJC_EXPORT
17 | @interface RTC_OBJC_TYPE (RTCVideoDecoderFactoryH264) : NSObject
18 | @end
19 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderH264.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_OBJC_EXPORT
17 | @interface RTC_OBJC_TYPE (RTCVideoDecoderH264) : NSObject
18 | @end
19 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderVP8.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_OBJC_EXPORT
17 | @interface RTC_OBJC_TYPE (RTCVideoDecoderVP8) : NSObject
18 |
19 | /* This returns a VP8 decoder that can be returned from a RTCVideoDecoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)vp8Decoder;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderVP9.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_OBJC_EXPORT
17 | @interface RTC_OBJC_TYPE (RTCVideoDecoderVP9) : NSObject
18 |
19 | /* This returns a VP9 decoder that can be returned from a RTCVideoDecoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)vp9Decoder;
24 |
25 | + (bool)isSupported;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderAV1.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_OBJC_EXPORT
17 | @interface RTC_OBJC_TYPE (RTCVideoEncoderAV1) : NSObject
18 |
19 | /* This returns a AV1 encoder that can be returned from a RTCVideoEncoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)av1Encoder;
24 |
25 | + (bool)isSupported;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderFactory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 | #import
16 |
17 | NS_ASSUME_NONNULL_BEGIN
18 |
19 | /** RTCVideoEncoderFactory is an Objective-C version of
20 | webrtc::VideoEncoderFactory::VideoEncoderSelector.
21 | */
22 | RTC_OBJC_EXPORT
23 | @protocol RTC_OBJC_TYPE
24 | (RTCVideoEncoderSelector)
25 |
26 | - (void)registerCurrentEncoderInfo : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info;
27 | - (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBitrate:(NSInteger)bitrate;
28 | - (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBrokenEncoder;
29 |
30 | @optional
31 | - (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForResolutionChangeBySize:(CGSize)size;
32 |
33 | @end
34 |
35 | /** RTCVideoEncoderFactory is an Objective-C version of webrtc::VideoEncoderFactory.
36 | */
37 | RTC_OBJC_EXPORT
38 | @protocol RTC_OBJC_TYPE
39 | (RTCVideoEncoderFactory)
40 |
41 | - (nullable id)createEncoder
42 | : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info;
43 | - (NSArray *)
44 | supportedCodecs; // TODO(andersc): "supportedFormats" instead?
45 |
46 | @optional
47 | - (NSArray *)implementations;
48 | - (nullable id)encoderSelector;
49 |
50 | @end
51 |
52 | NS_ASSUME_NONNULL_END
53 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_OBJC_EXPORT
17 | @interface RTC_OBJC_TYPE (RTCVideoEncoderFactoryH264) : NSObject
18 | @end
19 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderH264.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 | #import
16 |
17 | RTC_OBJC_EXPORT
18 | @interface RTC_OBJC_TYPE (RTCVideoEncoderH264) : NSObject
19 |
20 | - (instancetype)initWithCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)codecInfo;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /** QP thresholds for encoder. Corresponds to webrtc::VideoEncoder::QpThresholds. */
18 | RTC_OBJC_EXPORT
19 | @interface RTC_OBJC_TYPE (RTCVideoEncoderQpThresholds) : NSObject
20 |
21 | - (instancetype)initWithThresholdsLow:(NSInteger)low high:(NSInteger)high;
22 |
23 | @property(nonatomic, readonly) NSInteger low;
24 | @property(nonatomic, readonly) NSInteger high;
25 |
26 | @end
27 |
28 | NS_ASSUME_NONNULL_END
29 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderSettings.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | typedef NS_ENUM(NSUInteger, RTCVideoCodecMode) {
18 | RTCVideoCodecModeRealtimeVideo,
19 | RTCVideoCodecModeScreensharing,
20 | };
21 |
22 | /** Settings for encoder. Corresponds to webrtc::VideoCodec. */
23 | RTC_OBJC_EXPORT
24 | @interface RTC_OBJC_TYPE (RTCVideoEncoderSettings) : NSObject
25 |
26 | @property(nonatomic, strong) NSString *name;
27 |
28 | @property(nonatomic, assign) unsigned short width;
29 | @property(nonatomic, assign) unsigned short height;
30 |
31 | @property(nonatomic, assign) unsigned int startBitrate; // kilobits/sec.
32 | @property(nonatomic, assign) unsigned int maxBitrate;
33 | @property(nonatomic, assign) unsigned int minBitrate;
34 |
35 | @property(nonatomic, assign) uint32_t maxFramerate;
36 |
37 | @property(nonatomic, assign) unsigned int qpMax;
38 | @property(nonatomic, assign) RTCVideoCodecMode mode;
39 |
40 | @end
41 |
42 | NS_ASSUME_NONNULL_END
43 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderVP8.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_OBJC_EXPORT
17 | @interface RTC_OBJC_TYPE (RTCVideoEncoderVP8) : NSObject
18 |
19 | /* This returns a VP8 encoder that can be returned from a RTCVideoEncoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)vp8Encoder;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderVP9.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | RTC_OBJC_EXPORT
17 | @interface RTC_OBJC_TYPE (RTCVideoEncoderVP9) : NSObject
18 |
19 | /* This returns a VP9 encoder that can be returned from a RTCVideoEncoderFactory injected into
20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be
21 | * used independently from the RTCPeerConnectionFactory.
22 | */
23 | + (id)vp9Encoder;
24 |
25 | + (bool)isSupported;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoFrameBuffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @protocol RTC_OBJC_TYPE
18 | (RTCI420Buffer);
19 |
20 | // RTCVideoFrameBuffer is an ObjectiveC version of webrtc::VideoFrameBuffer.
21 | RTC_OBJC_EXPORT
22 | @protocol RTC_OBJC_TYPE
23 | (RTCVideoFrameBuffer)
24 |
25 | @property(nonatomic, readonly) int width;
26 | @property(nonatomic, readonly) int height;
27 |
28 | - (id)toI420;
29 |
30 | @optional
31 | - (id)cropAndScaleWith:(int)offsetX
32 | offsetY:(int)offsetY
33 | cropWidth:(int)cropWidth
34 | cropHeight:(int)cropHeight
35 | scaleWidth:(int)scaleWidth
36 | scaleHeight:(int)scaleHeight;
37 |
38 | @end
39 |
40 | NS_ASSUME_NONNULL_END
41 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoRenderer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #if TARGET_OS_IPHONE
13 | #import
14 | #endif
15 |
16 | #import
17 |
18 | NS_ASSUME_NONNULL_BEGIN
19 |
20 | @class RTC_OBJC_TYPE(RTCVideoFrame);
21 |
22 | RTC_OBJC_EXPORT
23 | @protocol RTC_OBJC_TYPE
24 | (RTCVideoRenderer)
25 |
26 | /** The size of the frame. */
27 | - (void)setSize : (CGSize)size;
28 |
29 | /** The frame to be displayed. */
30 | - (void)renderFrame:(nullable RTC_OBJC_TYPE(RTCVideoFrame) *)frame;
31 |
32 | @end
33 |
34 | RTC_OBJC_EXPORT
35 | @protocol RTC_OBJC_TYPE
36 | (RTCVideoViewDelegate)
37 |
38 | - (void)videoView : (id)videoView didChangeVideoSize
39 | : (CGSize)size;
40 |
41 | @end
42 |
43 | NS_ASSUME_NONNULL_END
44 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 | #import
16 |
17 | NS_ASSUME_NONNULL_BEGIN
18 |
19 | RTC_OBJC_EXPORT
20 |
21 | @interface RTC_OBJC_TYPE (RTCVideoSource) : RTC_OBJC_TYPE(RTCMediaSource)
22 |
23 | - (instancetype)init NS_UNAVAILABLE;
24 |
25 | /**
26 | * Calling this function will cause frames to be scaled down to the
27 | * requested resolution. Also, frames will be cropped to match the
28 | * requested aspect ratio, and frames will be dropped to match the
29 | * requested fps. The requested aspect ratio is orientation agnostic and
30 | * will be adjusted to maintain the input orientation, so it doesn't
31 | * matter if e.g. 1280x720 or 720x1280 is requested.
32 | */
33 | - (void)adaptOutputFormatToWidth:(int)width height:(int)height fps:(int)fps;
34 |
35 | @end
36 |
37 | NS_ASSUME_NONNULL_END
38 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoTrack.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @protocol RTC_OBJC_TYPE
18 | (RTCVideoRenderer);
19 | @class RTC_OBJC_TYPE(RTCPeerConnectionFactory);
20 | @class RTC_OBJC_TYPE(RTCVideoSource);
21 |
22 | RTC_OBJC_EXPORT
23 | @interface RTC_OBJC_TYPE (RTCVideoTrack) : RTC_OBJC_TYPE(RTCMediaStreamTrack)
24 |
25 | /** The video source for this video track. */
26 | @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCVideoSource) *source;
27 |
28 | - (instancetype)init NS_UNAVAILABLE;
29 |
30 | /** Register a renderer that will render all frames received on this track. */
31 | - (void)addRenderer:(id)renderer;
32 |
33 | /** Deregister a renderer. */
34 | - (void)removeRenderer:(id)renderer;
35 |
36 | @end
37 |
38 | NS_ASSUME_NONNULL_END
39 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoViewShading.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /**
18 | * RTCVideoViewShading provides a way for apps to customize the OpenGL(ES shaders
19 | * used in rendering for the RTCEAGLVideoView/RTCNSGLVideoView.
20 | */
21 | RTC_OBJC_EXPORT
22 | @protocol RTC_OBJC_TYPE
23 | (RTCVideoViewShading)
24 |
25 | /** Callback for I420 frames. Each plane is given as a texture. */
26 | - (void)applyShadingForFrameWithWidth : (int)width height : (int)height rotation
27 | : (RTCVideoRotation)rotation yPlane : (GLuint)yPlane uPlane : (GLuint)uPlane vPlane
28 | : (GLuint)vPlane;
29 |
30 | /** Callback for NV12 frames. Each plane is given as a texture. */
31 | - (void)applyShadingForFrameWithWidth:(int)width
32 | height:(int)height
33 | rotation:(RTCVideoRotation)rotation
34 | yPlane:(GLuint)yPlane
35 | uvPlane:(GLuint)uvPlane;
36 |
37 | @end
38 |
39 | NS_ASSUME_NONNULL_END
40 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | /** Protocol for RTCVideoFrameBuffers containing YUV planar data. */
19 | RTC_OBJC_EXPORT
20 | @protocol RTC_OBJC_TYPE
21 | (RTCYUVPlanarBuffer)
22 |
23 | @property(nonatomic, readonly) int chromaWidth;
24 | @property(nonatomic, readonly) int chromaHeight;
25 | @property(nonatomic, readonly) const uint8_t *dataY;
26 | @property(nonatomic, readonly) const uint8_t *dataU;
27 | @property(nonatomic, readonly) const uint8_t *dataV;
28 | @property(nonatomic, readonly) int strideY;
29 | @property(nonatomic, readonly) int strideU;
30 | @property(nonatomic, readonly) int strideV;
31 |
32 | - (instancetype)initWithWidth:(int)width
33 | height:(int)height
34 | dataY:(const uint8_t *)dataY
35 | dataU:(const uint8_t *)dataU
36 | dataV:(const uint8_t *)dataV;
37 | - (instancetype)initWithWidth:(int)width height:(int)height;
38 | - (instancetype)initWithWidth:(int)width
39 | height:(int)height
40 | strideY:(int)strideY
41 | strideU:(int)strideU
42 | strideV:(int)strideV;
43 |
44 | @end
45 |
46 | NS_ASSUME_NONNULL_END
47 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC.xcframework/ios-arm64/WebRTC.framework/Info.plist
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module WebRTC {
2 | umbrella header "WebRTC.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64/WebRTC.framework/WebRTC:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC.xcframework/ios-arm64/WebRTC.framework/WebRTC
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioDeviceModule.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 |
5 | #import
6 |
7 | NS_ASSUME_NONNULL_BEGIN
8 |
9 | RTC_OBJC_EXPORT
10 |
11 | NS_CLASS_AVAILABLE_IOS(2_0)
12 | @interface RTCAudioDeviceModule : NSObject
13 |
14 | - (void)deliverRecordedData:(CMSampleBufferRef)sampleBuffer;
15 |
16 | - (void)setExternalAudio:(bool)enable;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 | #import
13 |
14 | #import
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | RTC_EXTERN const int kRTCAudioSessionPreferredNumberOfChannels;
19 | RTC_EXTERN const double kRTCAudioSessionHighPerformanceSampleRate;
20 | RTC_EXTERN const double kRTCAudioSessionLowComplexitySampleRate;
21 | RTC_EXTERN const double kRTCAudioSessionHighPerformanceIOBufferDuration;
22 | RTC_EXTERN const double kRTCAudioSessionLowComplexityIOBufferDuration;
23 |
24 | // Struct to hold configuration values.
25 | RTC_OBJC_EXPORT
26 | @interface RTC_OBJC_TYPE (RTCAudioSessionConfiguration) : NSObject
27 |
28 | @property(nonatomic, strong) NSString *category;
29 | @property(nonatomic, assign) AVAudioSessionCategoryOptions categoryOptions;
30 | @property(nonatomic, strong) NSString *mode;
31 | @property(nonatomic, assign) double sampleRate;
32 | @property(nonatomic, assign) NSTimeInterval ioBufferDuration;
33 | @property(nonatomic, assign) NSInteger inputNumberOfChannels;
34 | @property(nonatomic, assign) NSInteger outputNumberOfChannels;
35 |
36 | /** Initializes configuration to defaults. */
37 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
38 |
39 | /** Returns the current configuration of the audio session. */
40 | + (instancetype)currentConfiguration;
41 | /** Returns the configuration that WebRTC needs. */
42 | + (instancetype)webRTCConfiguration;
43 | /** Provide a way to override the default configuration. */
44 | + (void)setWebRTCConfiguration:(RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration;
45 |
46 | @end
47 |
48 | NS_ASSUME_NONNULL_END
49 |
--------------------------------------------------------------------------------
/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | #import
12 |
13 | #import
14 | #import