├── .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 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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/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_x86_64-simulator/WebRTC.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Info.plist -------------------------------------------------------------------------------- /WebRTC.xcframework/ios-arm64_x86_64-simulator/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_x86_64-simulator/WebRTC.framework/WebRTC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/WebRTC -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AvailableLibraries 6 | 7 | 8 | DebugSymbolsPath 9 | dSYMs 10 | LibraryIdentifier 11 | ios-arm64 12 | LibraryPath 13 | WebRTCiOSSDK.framework 14 | SupportedArchitectures 15 | 16 | arm64 17 | 18 | SupportedPlatform 19 | ios 20 | 21 | 22 | DebugSymbolsPath 23 | dSYMs 24 | LibraryIdentifier 25 | ios-arm64_x86_64-simulator 26 | LibraryPath 27 | WebRTCiOSSDK.framework 28 | SupportedArchitectures 29 | 30 | arm64 31 | x86_64 32 | 33 | SupportedPlatform 34 | ios 35 | SupportedPlatformVariant 36 | simulator 37 | 38 | 39 | CFBundlePackageType 40 | XFWK 41 | XCFrameworkFormatVersion 42 | 1.0 43 | 44 | 45 | -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64/WebRTCiOSSDK.framework/Headers/WebRTCiOSSDK.h: -------------------------------------------------------------------------------- 1 | // 2 | // WebRTCiOSSDK.h 3 | // WebRTCiOSSDK 4 | // 5 | // Created by mekya on 06/05/2023. 6 | // 7 | 8 | #import 9 | 10 | //! Project version number for WebRTCiOSSDK. 11 | FOUNDATION_EXPORT double WebRTCiOSSDKVersionNumber; 12 | 13 | //! Project version string for WebRTCiOSSDK. 14 | FOUNDATION_EXPORT const unsigned char WebRTCiOSSDKVersionString[]; 15 | 16 | // In this header, you should import all the public headers of your framework using statements like #import 17 | 18 | 19 | -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64/WebRTCiOSSDK.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTCiOSSDK.xcframework/ios-arm64/WebRTCiOSSDK.framework/Info.plist -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64/WebRTCiOSSDK.framework/Modules/WebRTCiOSSDK.swiftmodule/arm64-apple-ios.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTCiOSSDK.xcframework/ios-arm64/WebRTCiOSSDK.framework/Modules/WebRTCiOSSDK.swiftmodule/arm64-apple-ios.swiftdoc -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64/WebRTCiOSSDK.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module WebRTCiOSSDK { 2 | umbrella header "WebRTCiOSSDK.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | 8 | module WebRTCiOSSDK.Swift { 9 | header "WebRTCiOSSDK-Swift.h" 10 | requires objc 11 | } 12 | -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64/WebRTCiOSSDK.framework/WebRTCiOSSDK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTCiOSSDK.xcframework/ios-arm64/WebRTCiOSSDK.framework/WebRTCiOSSDK -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64/dSYMs/WebRTCiOSSDK.framework.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.io.antmedia.ios.WebRTCiOSSDK 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | 20 | 21 | -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64/dSYMs/WebRTCiOSSDK.framework.dSYM/Contents/Resources/DWARF/WebRTCiOSSDK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTCiOSSDK.xcframework/ios-arm64/dSYMs/WebRTCiOSSDK.framework.dSYM/Contents/Resources/DWARF/WebRTCiOSSDK -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/Headers/WebRTCiOSSDK.h: -------------------------------------------------------------------------------- 1 | // 2 | // WebRTCiOSSDK.h 3 | // WebRTCiOSSDK 4 | // 5 | // Created by mekya on 06/05/2023. 6 | // 7 | 8 | #import 9 | 10 | //! Project version number for WebRTCiOSSDK. 11 | FOUNDATION_EXPORT double WebRTCiOSSDKVersionNumber; 12 | 13 | //! Project version string for WebRTCiOSSDK. 14 | FOUNDATION_EXPORT const unsigned char WebRTCiOSSDKVersionString[]; 15 | 16 | // In this header, you should import all the public headers of your framework using statements like #import 17 | 18 | 19 | -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/Info.plist -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/Modules/WebRTCiOSSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/Modules/WebRTCiOSSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/Modules/WebRTCiOSSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/Modules/WebRTCiOSSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module WebRTCiOSSDK { 2 | umbrella header "WebRTCiOSSDK.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | 8 | module WebRTCiOSSDK.Swift { 9 | header "WebRTCiOSSDK-Swift.h" 10 | requires objc 11 | } 12 | -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/WebRTCiOSSDK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/WebRTCiOSSDK.framework/WebRTCiOSSDK -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/WebRTCiOSSDK.framework.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.io.antmedia.ios.WebRTCiOSSDK 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | 20 | 21 | -------------------------------------------------------------------------------- /WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/WebRTCiOSSDK.framework.dSYM/Contents/Resources/DWARF/WebRTCiOSSDK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ant-media/WebRTC-iOS-SDK/eecdb7c540ff12dffb1751593ea5a31da9eb372e/WebRTCiOSSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/WebRTCiOSSDK.framework.dSYM/Contents/Resources/DWARF/WebRTCiOSSDK -------------------------------------------------------------------------------- /WebRTCiOSSDK/WebRTCiOSSDK.h: -------------------------------------------------------------------------------- 1 | // 2 | // WebRTCiOSSDK.h 3 | // WebRTCiOSSDK 4 | // 5 | // Created by mekya on 06/05/2023. 6 | // 7 | 8 | #import 9 | 10 | //! Project version number for WebRTCiOSSDK. 11 | FOUNDATION_EXPORT double WebRTCiOSSDKVersionNumber; 12 | 13 | //! Project version string for WebRTCiOSSDK. 14 | FOUNDATION_EXPORT const unsigned char WebRTCiOSSDKVersionString[]; 15 | 16 | // In this header, you should import all the public headers of your framework using statements like #import 17 | 18 | 19 | -------------------------------------------------------------------------------- /WebRTCiOSSDK/api/AntMediaError.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AntMediaError.swift 3 | // AntMediaSDK 4 | // 5 | // Copyright © 2018 AntMedia. All rights reserved. 6 | // 7 | 8 | import Foundation 9 | 10 | class AntMediaError { 11 | 12 | static func localized(_ message: String) -> String { 13 | switch message { 14 | case "no_stream_exist": 15 | return "No stream exists on server." 16 | case "unauthorized_access": 17 | return "Unauthorized access: Check your token" 18 | default: 19 | return "An error occured: " + message 20 | } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /WebRTCiOSSDK/api/webrtc/Dictionary.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Dictionary.swift 3 | // AntMediaSDK 4 | // 5 | // Created by Oğulcan on 27.05.2018. 6 | // Copyright © 2018 AntMedia. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public extension Dictionary { 12 | 13 | var json: String { 14 | let invalidJson = "Not a valid JSON" 15 | do { 16 | let jsonData = try JSONSerialization.data(withJSONObject: self) 17 | return String(bytes: jsonData, encoding: String.Encoding.utf8) ?? invalidJson 18 | } catch { 19 | return invalidJson 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /WebRTCiOSSDK/api/webrtc/String.swift: -------------------------------------------------------------------------------- 1 | // 2 | // String.swift 3 | // AntMediaSDK 4 | // 5 | // 6 | 7 | import Foundation 8 | 9 | public extension String { 10 | 11 | func toURL() -> URL { 12 | return URL(string: self)! 13 | } 14 | 15 | func toJSON() -> [String: Any]? { 16 | let data = self.data(using: .utf8)! 17 | do { 18 | if let jsonArray = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any] { 19 | return jsonArray 20 | } else { 21 | return nil 22 | } 23 | } catch { 24 | return nil 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /WebRTCiOSSDK/api/webrtc/WebRTCClientDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // WebRTCClientDelegate.swift 3 | // AntMediaSDK 4 | // 5 | // Copyright © 2018 AntMedia. All rights reserved. 6 | // 7 | 8 | import Foundation 9 | import WebRTC 10 | 11 | internal protocol WebRTCClientDelegate: AnyObject { 12 | 13 | func sendMessage(_ message: [String: Any]) 14 | 15 | /** 16 | It's triggered when remote stream is added to the peer connection. 17 | */ 18 | func remoteStreamAdded(streamId: String) 19 | 20 | /** 21 | It's called when remote steram is removed from the peer connection 22 | */ 23 | func remoteStreamRemoved(streamId: String) 24 | 25 | /** 26 | It's called when a new track is added to the stream 27 | */ 28 | func trackAdded(track: RTCMediaStreamTrack, stream: [RTCMediaStream]) 29 | 30 | /** 31 | It's called when a tack is removed 32 | */ 33 | func trackRemoved(track: RTCMediaStreamTrack) 34 | 35 | func addLocalStream(streamId: String) 36 | 37 | func connectionStateChanged(newState: RTCIceConnectionState, streamId: String) 38 | 39 | func dataReceivedFromDataChannel(didReceiveData data: RTCDataBuffer, streamId: String) 40 | } 41 | --------------------------------------------------------------------------------