├── README.md └── WeBR ├── WeBR.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ └── fengzhiyuan.xcuserdatad │ │ ├── IDEFindNavigatorScopes.plist │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── fengzhiyuan.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ └── xcschememanagement.plist └── WeBR ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets ├── AppIcon.appiconset │ └── Contents.json └── Contents.json ├── Base.lproj └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m ├── WeBR.entitlements ├── WebRTC.framework ├── Headers ├── Modules ├── Resources ├── Versions │ ├── A │ │ ├── Headers │ │ │ ├── RTCAudioSource.h │ │ │ ├── RTCAudioTrack.h │ │ │ ├── RTCCVPixelBuffer.h │ │ │ ├── RTCCallbackLogger.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 │ │ │ ├── RTCEncodedImage.h │ │ │ ├── RTCFieldTrials.h │ │ │ ├── RTCFileLogger.h │ │ │ ├── RTCFileVideoCapturer.h │ │ │ ├── RTCH264ProfileLevelId.h │ │ │ ├── RTCI420Buffer.h │ │ │ ├── RTCIceCandidate.h │ │ │ ├── RTCIceServer.h │ │ │ ├── RTCIntervalRange.h │ │ │ ├── RTCLegacyStatsReport.h │ │ │ ├── RTCLogging.h │ │ │ ├── RTCMTLNSVideoView.h │ │ │ ├── RTCMacros.h │ │ │ ├── RTCMediaConstraints.h │ │ │ ├── RTCMediaSource.h │ │ │ ├── RTCMediaStream.h │ │ │ ├── RTCMediaStreamTrack.h │ │ │ ├── RTCMetrics.h │ │ │ ├── RTCMetricsSampleInfo.h │ │ │ ├── RTCMutableI420Buffer.h │ │ │ ├── RTCMutableYUVPlanarBuffer.h │ │ │ ├── RTCNSGLVideoView.h │ │ │ ├── RTCNativeI420Buffer.h │ │ │ ├── RTCNativeMutableI420Buffer.h │ │ │ ├── RTCPeerConnection.h │ │ │ ├── RTCPeerConnectionFactory.h │ │ │ ├── RTCPeerConnectionFactoryOptions.h │ │ │ ├── RTCRtcpParameters.h │ │ │ ├── RTCRtpCodecParameters.h │ │ │ ├── RTCRtpEncodingParameters.h │ │ │ ├── RTCRtpFragmentationHeader.h │ │ │ ├── RTCRtpHeaderExtension.h │ │ │ ├── RTCRtpParameters.h │ │ │ ├── RTCRtpReceiver.h │ │ │ ├── RTCRtpSender.h │ │ │ ├── RTCRtpTransceiver.h │ │ │ ├── RTCSSLAdapter.h │ │ │ ├── RTCSessionDescription.h │ │ │ ├── RTCTracing.h │ │ │ ├── RTCVideoCapturer.h │ │ │ ├── RTCVideoCodecInfo.h │ │ │ ├── RTCVideoDecoder.h │ │ │ ├── RTCVideoDecoderFactory.h │ │ │ ├── RTCVideoDecoderFactoryH264.h │ │ │ ├── RTCVideoDecoderH264.h │ │ │ ├── RTCVideoDecoderVP8.h │ │ │ ├── RTCVideoDecoderVP9.h │ │ │ ├── RTCVideoEncoder.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 │ │ │ └── WebRTC.h │ │ ├── Modules │ │ │ └── module.modulemap │ │ ├── Resources │ │ │ └── Info.plist │ │ └── WebRTC │ └── Current └── WebRTC └── main.m /README.md: -------------------------------------------------------------------------------- 1 | # Build pass in macos 10.10 2 | webRTC mac framework 3 | -------------------------------------------------------------------------------- /WeBR/WeBR.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | CF6607D9218A96BB0073F88B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CF6607D8218A96BB0073F88B /* AppDelegate.m */; }; 11 | CF6607DC218A96BB0073F88B /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CF6607DB218A96BB0073F88B /* ViewController.m */; }; 12 | CF6607DE218A96BD0073F88B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CF6607DD218A96BD0073F88B /* Assets.xcassets */; }; 13 | CF6607E1218A96BD0073F88B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CF6607DF218A96BD0073F88B /* Main.storyboard */; }; 14 | CF6607E4218A96BD0073F88B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CF6607E3218A96BD0073F88B /* main.m */; }; 15 | CF660812218AA13B0073F88B /* WebRTC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CF660810218AA1270073F88B /* WebRTC.framework */; }; 16 | CF660813218AA13B0073F88B /* WebRTC.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CF660810218AA1270073F88B /* WebRTC.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXCopyFilesBuildPhase section */ 20 | CF660814218AA13B0073F88B /* Embed Frameworks */ = { 21 | isa = PBXCopyFilesBuildPhase; 22 | buildActionMask = 2147483647; 23 | dstPath = ""; 24 | dstSubfolderSpec = 10; 25 | files = ( 26 | CF660813218AA13B0073F88B /* WebRTC.framework in Embed Frameworks */, 27 | ); 28 | name = "Embed Frameworks"; 29 | runOnlyForDeploymentPostprocessing = 0; 30 | }; 31 | /* End PBXCopyFilesBuildPhase section */ 32 | 33 | /* Begin PBXFileReference section */ 34 | CF6607D4218A96BB0073F88B /* WeBR.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WeBR.app; sourceTree = BUILT_PRODUCTS_DIR; }; 35 | CF6607D7218A96BB0073F88B /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 36 | CF6607D8218A96BB0073F88B /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 37 | CF6607DA218A96BB0073F88B /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 38 | CF6607DB218A96BB0073F88B /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 39 | CF6607DD218A96BD0073F88B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 40 | CF6607E0218A96BD0073F88B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 41 | CF6607E2218A96BD0073F88B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 42 | CF6607E3218A96BD0073F88B /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 43 | CF6607E5218A96BD0073F88B /* WeBR.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = WeBR.entitlements; sourceTree = ""; }; 44 | CF6607FE218AA0450073F88B /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; 45 | CF660800218AA04C0073F88B /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 46 | CF660802218AA0530073F88B /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 47 | CF660804218AA0630073F88B /* libicucore.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libicucore.tbd; path = usr/lib/libicucore.tbd; sourceTree = SDKROOT; }; 48 | CF660806218AA07B0073F88B /* libc.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libc.tbd; path = usr/lib/libc.tbd; sourceTree = SDKROOT; }; 49 | CF660808218AA0800073F88B /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; 50 | CF66080A218AA0920073F88B /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; 51 | CF66080C218AA09C0073F88B /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = System/Library/Frameworks/VideoToolbox.framework; sourceTree = SDKROOT; }; 52 | CF66080E218AA0A30073F88B /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; 53 | CF660810218AA1270073F88B /* WebRTC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebRTC.framework; sourceTree = ""; }; 54 | /* End PBXFileReference section */ 55 | 56 | /* Begin PBXFrameworksBuildPhase section */ 57 | CF6607D1218A96BB0073F88B /* Frameworks */ = { 58 | isa = PBXFrameworksBuildPhase; 59 | buildActionMask = 2147483647; 60 | files = ( 61 | CF660812218AA13B0073F88B /* WebRTC.framework in Frameworks */, 62 | ); 63 | runOnlyForDeploymentPostprocessing = 0; 64 | }; 65 | /* End PBXFrameworksBuildPhase section */ 66 | 67 | /* Begin PBXGroup section */ 68 | CF6607CB218A96BB0073F88B = { 69 | isa = PBXGroup; 70 | children = ( 71 | CF6607D6218A96BB0073F88B /* WeBR */, 72 | CF6607D5218A96BB0073F88B /* Products */, 73 | CF6607FD218AA0450073F88B /* Frameworks */, 74 | ); 75 | sourceTree = ""; 76 | }; 77 | CF6607D5218A96BB0073F88B /* Products */ = { 78 | isa = PBXGroup; 79 | children = ( 80 | CF6607D4218A96BB0073F88B /* WeBR.app */, 81 | ); 82 | name = Products; 83 | sourceTree = ""; 84 | }; 85 | CF6607D6218A96BB0073F88B /* WeBR */ = { 86 | isa = PBXGroup; 87 | children = ( 88 | CF660810218AA1270073F88B /* WebRTC.framework */, 89 | CF6607D7218A96BB0073F88B /* AppDelegate.h */, 90 | CF6607D8218A96BB0073F88B /* AppDelegate.m */, 91 | CF6607DA218A96BB0073F88B /* ViewController.h */, 92 | CF6607DB218A96BB0073F88B /* ViewController.m */, 93 | CF6607DD218A96BD0073F88B /* Assets.xcassets */, 94 | CF6607DF218A96BD0073F88B /* Main.storyboard */, 95 | CF6607E2218A96BD0073F88B /* Info.plist */, 96 | CF6607E3218A96BD0073F88B /* main.m */, 97 | CF6607E5218A96BD0073F88B /* WeBR.entitlements */, 98 | ); 99 | path = WeBR; 100 | sourceTree = ""; 101 | }; 102 | CF6607FD218AA0450073F88B /* Frameworks */ = { 103 | isa = PBXGroup; 104 | children = ( 105 | CF66080E218AA0A30073F88B /* CoreTelephony.framework */, 106 | CF66080C218AA09C0073F88B /* VideoToolbox.framework */, 107 | CF66080A218AA0920073F88B /* OpenGL.framework */, 108 | CF660808218AA0800073F88B /* GLKit.framework */, 109 | CF660806218AA07B0073F88B /* libc.tbd */, 110 | CF660804218AA0630073F88B /* libicucore.tbd */, 111 | CF660802218AA0530073F88B /* AudioToolbox.framework */, 112 | CF660800218AA04C0073F88B /* AVFoundation.framework */, 113 | CF6607FE218AA0450073F88B /* CoreMedia.framework */, 114 | ); 115 | name = Frameworks; 116 | sourceTree = ""; 117 | }; 118 | /* End PBXGroup section */ 119 | 120 | /* Begin PBXNativeTarget section */ 121 | CF6607D3218A96BB0073F88B /* WeBR */ = { 122 | isa = PBXNativeTarget; 123 | buildConfigurationList = CF6607E8218A96BD0073F88B /* Build configuration list for PBXNativeTarget "WeBR" */; 124 | buildPhases = ( 125 | CF6607D0218A96BB0073F88B /* Sources */, 126 | CF6607D1218A96BB0073F88B /* Frameworks */, 127 | CF6607D2218A96BB0073F88B /* Resources */, 128 | CF660814218AA13B0073F88B /* Embed Frameworks */, 129 | ); 130 | buildRules = ( 131 | ); 132 | dependencies = ( 133 | ); 134 | name = WeBR; 135 | productName = WeBR; 136 | productReference = CF6607D4218A96BB0073F88B /* WeBR.app */; 137 | productType = "com.apple.product-type.application"; 138 | }; 139 | /* End PBXNativeTarget section */ 140 | 141 | /* Begin PBXProject section */ 142 | CF6607CC218A96BB0073F88B /* Project object */ = { 143 | isa = PBXProject; 144 | attributes = { 145 | LastUpgradeCheck = 1000; 146 | ORGANIZATIONNAME = bat; 147 | TargetAttributes = { 148 | CF6607D3218A96BB0073F88B = { 149 | CreatedOnToolsVersion = 10.0; 150 | }; 151 | }; 152 | }; 153 | buildConfigurationList = CF6607CF218A96BB0073F88B /* Build configuration list for PBXProject "WeBR" */; 154 | compatibilityVersion = "Xcode 9.3"; 155 | developmentRegion = en; 156 | hasScannedForEncodings = 0; 157 | knownRegions = ( 158 | en, 159 | Base, 160 | ); 161 | mainGroup = CF6607CB218A96BB0073F88B; 162 | productRefGroup = CF6607D5218A96BB0073F88B /* Products */; 163 | projectDirPath = ""; 164 | projectRoot = ""; 165 | targets = ( 166 | CF6607D3218A96BB0073F88B /* WeBR */, 167 | ); 168 | }; 169 | /* End PBXProject section */ 170 | 171 | /* Begin PBXResourcesBuildPhase section */ 172 | CF6607D2218A96BB0073F88B /* Resources */ = { 173 | isa = PBXResourcesBuildPhase; 174 | buildActionMask = 2147483647; 175 | files = ( 176 | CF6607DE218A96BD0073F88B /* Assets.xcassets in Resources */, 177 | CF6607E1218A96BD0073F88B /* Main.storyboard in Resources */, 178 | ); 179 | runOnlyForDeploymentPostprocessing = 0; 180 | }; 181 | /* End PBXResourcesBuildPhase section */ 182 | 183 | /* Begin PBXSourcesBuildPhase section */ 184 | CF6607D0218A96BB0073F88B /* Sources */ = { 185 | isa = PBXSourcesBuildPhase; 186 | buildActionMask = 2147483647; 187 | files = ( 188 | CF6607DC218A96BB0073F88B /* ViewController.m in Sources */, 189 | CF6607E4218A96BD0073F88B /* main.m in Sources */, 190 | CF6607D9218A96BB0073F88B /* AppDelegate.m in Sources */, 191 | ); 192 | runOnlyForDeploymentPostprocessing = 0; 193 | }; 194 | /* End PBXSourcesBuildPhase section */ 195 | 196 | /* Begin PBXVariantGroup section */ 197 | CF6607DF218A96BD0073F88B /* Main.storyboard */ = { 198 | isa = PBXVariantGroup; 199 | children = ( 200 | CF6607E0218A96BD0073F88B /* Base */, 201 | ); 202 | name = Main.storyboard; 203 | sourceTree = ""; 204 | }; 205 | /* End PBXVariantGroup section */ 206 | 207 | /* Begin XCBuildConfiguration section */ 208 | CF6607E6218A96BD0073F88B /* Debug */ = { 209 | isa = XCBuildConfiguration; 210 | buildSettings = { 211 | ALWAYS_SEARCH_USER_PATHS = NO; 212 | CLANG_ANALYZER_NONNULL = YES; 213 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 214 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 215 | CLANG_CXX_LIBRARY = "libc++"; 216 | CLANG_ENABLE_MODULES = YES; 217 | CLANG_ENABLE_OBJC_ARC = YES; 218 | CLANG_ENABLE_OBJC_WEAK = YES; 219 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 220 | CLANG_WARN_BOOL_CONVERSION = YES; 221 | CLANG_WARN_COMMA = YES; 222 | CLANG_WARN_CONSTANT_CONVERSION = YES; 223 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 224 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 225 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 226 | CLANG_WARN_EMPTY_BODY = YES; 227 | CLANG_WARN_ENUM_CONVERSION = YES; 228 | CLANG_WARN_INFINITE_RECURSION = YES; 229 | CLANG_WARN_INT_CONVERSION = YES; 230 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 231 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 232 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 233 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 234 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 235 | CLANG_WARN_STRICT_PROTOTYPES = YES; 236 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 237 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 238 | CLANG_WARN_UNREACHABLE_CODE = YES; 239 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 240 | CODE_SIGN_IDENTITY = "Mac Developer"; 241 | COPY_PHASE_STRIP = NO; 242 | DEBUG_INFORMATION_FORMAT = dwarf; 243 | ENABLE_STRICT_OBJC_MSGSEND = YES; 244 | ENABLE_TESTABILITY = YES; 245 | GCC_C_LANGUAGE_STANDARD = gnu11; 246 | GCC_DYNAMIC_NO_PIC = NO; 247 | GCC_NO_COMMON_BLOCKS = YES; 248 | GCC_OPTIMIZATION_LEVEL = 0; 249 | GCC_PREPROCESSOR_DEFINITIONS = ( 250 | "DEBUG=1", 251 | "$(inherited)", 252 | ); 253 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 254 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 255 | GCC_WARN_UNDECLARED_SELECTOR = YES; 256 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 257 | GCC_WARN_UNUSED_FUNCTION = YES; 258 | GCC_WARN_UNUSED_VARIABLE = YES; 259 | MACOSX_DEPLOYMENT_TARGET = 10.13; 260 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 261 | MTL_FAST_MATH = YES; 262 | ONLY_ACTIVE_ARCH = YES; 263 | SDKROOT = macosx; 264 | }; 265 | name = Debug; 266 | }; 267 | CF6607E7218A96BD0073F88B /* Release */ = { 268 | isa = XCBuildConfiguration; 269 | buildSettings = { 270 | ALWAYS_SEARCH_USER_PATHS = NO; 271 | CLANG_ANALYZER_NONNULL = YES; 272 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 273 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 274 | CLANG_CXX_LIBRARY = "libc++"; 275 | CLANG_ENABLE_MODULES = YES; 276 | CLANG_ENABLE_OBJC_ARC = YES; 277 | CLANG_ENABLE_OBJC_WEAK = YES; 278 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 279 | CLANG_WARN_BOOL_CONVERSION = YES; 280 | CLANG_WARN_COMMA = YES; 281 | CLANG_WARN_CONSTANT_CONVERSION = YES; 282 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 283 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 284 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 285 | CLANG_WARN_EMPTY_BODY = YES; 286 | CLANG_WARN_ENUM_CONVERSION = YES; 287 | CLANG_WARN_INFINITE_RECURSION = YES; 288 | CLANG_WARN_INT_CONVERSION = YES; 289 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 290 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 291 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 292 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 293 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 294 | CLANG_WARN_STRICT_PROTOTYPES = YES; 295 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 296 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 297 | CLANG_WARN_UNREACHABLE_CODE = YES; 298 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 299 | CODE_SIGN_IDENTITY = "Mac Developer"; 300 | COPY_PHASE_STRIP = NO; 301 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 302 | ENABLE_NS_ASSERTIONS = NO; 303 | ENABLE_STRICT_OBJC_MSGSEND = YES; 304 | GCC_C_LANGUAGE_STANDARD = gnu11; 305 | GCC_NO_COMMON_BLOCKS = YES; 306 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 307 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 308 | GCC_WARN_UNDECLARED_SELECTOR = YES; 309 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 310 | GCC_WARN_UNUSED_FUNCTION = YES; 311 | GCC_WARN_UNUSED_VARIABLE = YES; 312 | MACOSX_DEPLOYMENT_TARGET = 10.13; 313 | MTL_ENABLE_DEBUG_INFO = NO; 314 | MTL_FAST_MATH = YES; 315 | SDKROOT = macosx; 316 | }; 317 | name = Release; 318 | }; 319 | CF6607E9218A96BD0073F88B /* Debug */ = { 320 | isa = XCBuildConfiguration; 321 | buildSettings = { 322 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 323 | CODE_SIGN_ENTITLEMENTS = WeBR/WeBR.entitlements; 324 | CODE_SIGN_STYLE = Automatic; 325 | COMBINE_HIDPI_IMAGES = YES; 326 | DEVELOPMENT_TEAM = KB9FW2X72R; 327 | FRAMEWORK_SEARCH_PATHS = ( 328 | "$(inherited)", 329 | "$(PROJECT_DIR)/WeBR", 330 | ); 331 | INFOPLIST_FILE = WeBR/Info.plist; 332 | LD_RUNPATH_SEARCH_PATHS = ( 333 | "$(inherited)", 334 | "@executable_path/../Frameworks", 335 | ); 336 | PRODUCT_BUNDLE_IDENTIFIER = bat.WeBR; 337 | PRODUCT_NAME = "$(TARGET_NAME)"; 338 | }; 339 | name = Debug; 340 | }; 341 | CF6607EA218A96BD0073F88B /* Release */ = { 342 | isa = XCBuildConfiguration; 343 | buildSettings = { 344 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 345 | CODE_SIGN_ENTITLEMENTS = WeBR/WeBR.entitlements; 346 | CODE_SIGN_STYLE = Automatic; 347 | COMBINE_HIDPI_IMAGES = YES; 348 | DEVELOPMENT_TEAM = KB9FW2X72R; 349 | FRAMEWORK_SEARCH_PATHS = ( 350 | "$(inherited)", 351 | "$(PROJECT_DIR)/WeBR", 352 | ); 353 | INFOPLIST_FILE = WeBR/Info.plist; 354 | LD_RUNPATH_SEARCH_PATHS = ( 355 | "$(inherited)", 356 | "@executable_path/../Frameworks", 357 | ); 358 | PRODUCT_BUNDLE_IDENTIFIER = bat.WeBR; 359 | PRODUCT_NAME = "$(TARGET_NAME)"; 360 | }; 361 | name = Release; 362 | }; 363 | /* End XCBuildConfiguration section */ 364 | 365 | /* Begin XCConfigurationList section */ 366 | CF6607CF218A96BB0073F88B /* Build configuration list for PBXProject "WeBR" */ = { 367 | isa = XCConfigurationList; 368 | buildConfigurations = ( 369 | CF6607E6218A96BD0073F88B /* Debug */, 370 | CF6607E7218A96BD0073F88B /* Release */, 371 | ); 372 | defaultConfigurationIsVisible = 0; 373 | defaultConfigurationName = Release; 374 | }; 375 | CF6607E8218A96BD0073F88B /* Build configuration list for PBXNativeTarget "WeBR" */ = { 376 | isa = XCConfigurationList; 377 | buildConfigurations = ( 378 | CF6607E9218A96BD0073F88B /* Debug */, 379 | CF6607EA218A96BD0073F88B /* Release */, 380 | ); 381 | defaultConfigurationIsVisible = 0; 382 | defaultConfigurationName = Release; 383 | }; 384 | /* End XCConfigurationList section */ 385 | }; 386 | rootObject = CF6607CC218A96BB0073F88B /* Project object */; 387 | } 388 | -------------------------------------------------------------------------------- /WeBR/WeBR.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /WeBR/WeBR.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /WeBR/WeBR.xcodeproj/project.xcworkspace/xcuserdata/fengzhiyuan.xcuserdatad/IDEFindNavigatorScopes.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /WeBR/WeBR.xcodeproj/project.xcworkspace/xcuserdata/fengzhiyuan.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DSPerson/WebRTCMacFramework/63d5d7af3b2cd1ee0581831feab2d46be7a3fcc2/WeBR/WeBR.xcodeproj/project.xcworkspace/xcuserdata/fengzhiyuan.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /WeBR/WeBR.xcodeproj/xcuserdata/fengzhiyuan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /WeBR/WeBR.xcodeproj/xcuserdata/fengzhiyuan.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | WeBR.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /WeBR/WeBR/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // WeBR 4 | // 5 | // Created by ds on 2018/11/1. 6 | // Copyright © 2018年 bat. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : NSObject 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /WeBR/WeBR/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // WeBR 4 | // 5 | // Created by ds on 2018/11/1. 6 | // Copyright © 2018年 bat. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | #import 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 18 | // Insert code here to initialize your application 19 | RTCPeerConnectionFactory *fatory = [[RTCPeerConnectionFactory alloc] init]; 20 | RTCAudioTrack *tack = [fatory audioTrackWithTrackId:@"ARDAMSa0"]; 21 | NSLog(@"\n %@", tack); 22 | } 23 | 24 | 25 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 26 | // Insert code here to tear down your application 27 | } 28 | 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /WeBR/WeBR/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "mac", 5 | "size" : "16x16", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "mac", 10 | "size" : "16x16", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "mac", 15 | "size" : "32x32", 16 | "scale" : "1x" 17 | }, 18 | { 19 | "idiom" : "mac", 20 | "size" : "32x32", 21 | "scale" : "2x" 22 | }, 23 | { 24 | "idiom" : "mac", 25 | "size" : "128x128", 26 | "scale" : "1x" 27 | }, 28 | { 29 | "idiom" : "mac", 30 | "size" : "128x128", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "idiom" : "mac", 35 | "size" : "256x256", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "mac", 40 | "size" : "256x256", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "mac", 45 | "size" : "512x512", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "mac", 50 | "size" : "512x512", 51 | "scale" : "2x" 52 | } 53 | ], 54 | "info" : { 55 | "version" : 1, 56 | "author" : "xcode" 57 | } 58 | } -------------------------------------------------------------------------------- /WeBR/WeBR/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /WeBR/WeBR/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSHumanReadableCopyright 26 | Copyright © 2018年 bat. All rights reserved. 27 | NSMainStoryboardFile 28 | Main 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /WeBR/WeBR/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // WeBR 4 | // 5 | // Created by ds on 2018/11/1. 6 | // Copyright © 2018年 bat. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : NSViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /WeBR/WeBR/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // WeBR 4 | // 5 | // Created by ds on 2018/11/1. 6 | // Copyright © 2018年 bat. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @implementation ViewController 12 | 13 | - (void)viewDidLoad { 14 | [super viewDidLoad]; 15 | 16 | // Do any additional setup after loading the view. 17 | } 18 | 19 | 20 | - (void)setRepresentedObject:(id)representedObject { 21 | [super setRepresentedObject:representedObject]; 22 | 23 | // Update the view, if already loaded. 24 | } 25 | 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /WeBR/WeBR/WeBR.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Modules: -------------------------------------------------------------------------------- 1 | Versions/Current/Modules -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCMediaSource.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | RTC_OBJC_EXPORT 19 | @interface RTCAudioSource : 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 12 | #import "RTCMediaStreamTrack.h" 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | @class RTCAudioSource; 17 | 18 | RTC_OBJC_EXPORT 19 | @interface RTCAudioTrack : RTCMediaStreamTrack 20 | 21 | - (instancetype)init NS_UNAVAILABLE; 22 | 23 | /** The audio source for this audio track. */ 24 | @property(nonatomic, readonly) RTCAudioSource *source; 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCCVPixelBuffer.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 "RTCMacros.h" 14 | #import "RTCVideoFrameBuffer.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | /** RTCVideoFrameBuffer containing a CVPixelBufferRef */ 19 | RTC_OBJC_EXPORT 20 | @interface RTCCVPixelBuffer : NSObject 21 | 22 | @property(nonatomic, readonly) CVPixelBufferRef pixelBuffer; 23 | @property(nonatomic, readonly) int cropX; 24 | @property(nonatomic, readonly) int cropY; 25 | @property(nonatomic, readonly) int cropWidth; 26 | @property(nonatomic, readonly) int cropHeight; 27 | 28 | + (NSSet *)supportedPixelFormats; 29 | 30 | - (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer; 31 | - (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer 32 | adaptedWidth:(int)adaptedWidth 33 | adaptedHeight:(int)adaptedHeight 34 | cropWidth:(int)cropWidth 35 | cropHeight:(int)cropHeight 36 | cropX:(int)cropX 37 | cropY:(int)cropY; 38 | 39 | - (BOOL)requiresCropping; 40 | - (BOOL)requiresScalingToWidth:(int)width height:(int)height; 41 | - (int)bufferSizeForCroppingAndScalingToWidth:(int)width height:(int)height; 42 | 43 | /** The minimum size of the |tmpBuffer| must be the number of bytes returned from the 44 | * bufferSizeForCroppingAndScalingToWidth:height: method. 45 | * If that size is 0, the |tmpBuffer| may be nil. 46 | */ 47 | - (BOOL)cropAndScaleTo:(CVPixelBufferRef)outputPixelBuffer 48 | withTempBuffer:(nullable uint8_t *)tmpBuffer; 49 | 50 | @end 51 | 52 | NS_ASSUME_NONNULL_END 53 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCLogging.h" 14 | #import "RTCMacros.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | // This class intercepts WebRTC logs and forwards them to a registered block. 19 | // This class is not threadsafe. 20 | RTC_OBJC_EXPORT 21 | @interface RTCCallbackLogger : NSObject 22 | 23 | // The severity level to capture. The default is kRTCLoggingSeverityInfo. 24 | @property(nonatomic, assign) RTCLoggingSeverity severity; 25 | 26 | // The callback will be called on the same thread that does the logging, so 27 | // if the logging callback can be slow it may be a good idea to implement 28 | // dispatching to some other queue. 29 | - (void)start:(nullable void (^)(NSString*))callback; 30 | 31 | - (void)stop; 32 | 33 | @end 34 | 35 | NS_ASSUME_NONNULL_END 36 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCCameraVideoCapturer.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 | #import 13 | 14 | #import "RTCMacros.h" 15 | #import "RTCVideoCapturer.h" 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | RTC_OBJC_EXPORT 20 | // Camera capture that implements RTCVideoCapturer. Delivers frames to a RTCVideoCapturerDelegate 21 | // (usually RTCVideoSource). 22 | NS_EXTENSION_UNAVAILABLE_IOS("Camera not available in app extensions.") 23 | @interface RTCCameraVideoCapturer : RTCVideoCapturer 24 | 25 | // Capture session that is used for capturing. Valid from initialization to dealloc. 26 | @property(readonly, nonatomic) AVCaptureSession *captureSession; 27 | 28 | // Returns list of available capture devices that support video capture. 29 | + (NSArray *)captureDevices; 30 | // Returns list of formats that are supported by this class for this device. 31 | + (NSArray *)supportedFormatsForDevice:(AVCaptureDevice *)device; 32 | 33 | // Returns the most efficient supported output pixel format for this capturer. 34 | - (FourCharCode)preferredOutputPixelFormat; 35 | 36 | // Starts the capture session asynchronously and notifies callback on completion. 37 | // The device will capture video in the format given in the `format` parameter. If the pixel format 38 | // in `format` is supported by the WebRTC pipeline, the same pixel format will be used for the 39 | // output. Otherwise, the format returned by `preferredOutputPixelFormat` will be used. 40 | - (void)startCaptureWithDevice:(AVCaptureDevice *)device 41 | format:(AVCaptureDeviceFormat *)format 42 | fps:(NSInteger)fps 43 | completionHandler:(nullable void (^)(NSError *))completionHandler; 44 | // Stops the capture session asynchronously and notifies callback on completion. 45 | - (void)stopCaptureWithCompletionHandler:(nullable void (^)(void))completionHandler; 46 | 47 | // Starts the capture session asynchronously. 48 | - (void)startCaptureWithDevice:(AVCaptureDevice *)device 49 | format:(AVCaptureDeviceFormat *)format 50 | fps:(NSInteger)fps; 51 | // Stops the capture session asynchronously. 52 | - (void)stopCapture; 53 | 54 | @end 55 | 56 | NS_ASSUME_NONNULL_END 57 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface 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 RTCCertificate *)generateCertificateWithParams:(NSDictionary *)params; 41 | 42 | @end 43 | 44 | NS_ASSUME_NONNULL_END 45 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 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 RTCCodecSpecificInfo 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCCodecSpecificInfo.h" 14 | #import "RTCMacros.h" 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 RTCCodecSpecificInfoH264 : NSObject 24 | 25 | @property(nonatomic, assign) RTCH264PacketizationMode packetizationMode; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCConfiguration.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 "RTCCertificate.h" 14 | #import "RTCCryptoOptions.h" 15 | #import "RTCMacros.h" 16 | 17 | @class RTCIceServer; 18 | @class RTCIntervalRange; 19 | 20 | /** 21 | * Represents the ice transport policy. This exposes the same states in C++, 22 | * which include one more state than what exists in the W3C spec. 23 | */ 24 | typedef NS_ENUM(NSInteger, RTCIceTransportPolicy) { 25 | RTCIceTransportPolicyNone, 26 | RTCIceTransportPolicyRelay, 27 | RTCIceTransportPolicyNoHost, 28 | RTCIceTransportPolicyAll 29 | }; 30 | 31 | /** Represents the bundle policy. */ 32 | typedef NS_ENUM(NSInteger, RTCBundlePolicy) { 33 | RTCBundlePolicyBalanced, 34 | RTCBundlePolicyMaxCompat, 35 | RTCBundlePolicyMaxBundle 36 | }; 37 | 38 | /** Represents the rtcp mux policy. */ 39 | typedef NS_ENUM(NSInteger, RTCRtcpMuxPolicy) { RTCRtcpMuxPolicyNegotiate, RTCRtcpMuxPolicyRequire }; 40 | 41 | /** Represents the tcp candidate policy. */ 42 | typedef NS_ENUM(NSInteger, RTCTcpCandidatePolicy) { 43 | RTCTcpCandidatePolicyEnabled, 44 | RTCTcpCandidatePolicyDisabled 45 | }; 46 | 47 | /** Represents the candidate network policy. */ 48 | typedef NS_ENUM(NSInteger, RTCCandidateNetworkPolicy) { 49 | RTCCandidateNetworkPolicyAll, 50 | RTCCandidateNetworkPolicyLowCost 51 | }; 52 | 53 | /** Represents the continual gathering policy. */ 54 | typedef NS_ENUM(NSInteger, RTCContinualGatheringPolicy) { 55 | RTCContinualGatheringPolicyGatherOnce, 56 | RTCContinualGatheringPolicyGatherContinually 57 | }; 58 | 59 | /** Represents the encryption key type. */ 60 | typedef NS_ENUM(NSInteger, RTCEncryptionKeyType) { 61 | RTCEncryptionKeyTypeRSA, 62 | RTCEncryptionKeyTypeECDSA, 63 | }; 64 | 65 | /** Represents the chosen SDP semantics for the RTCPeerConnection. */ 66 | typedef NS_ENUM(NSInteger, RTCSdpSemantics) { 67 | RTCSdpSemanticsPlanB, 68 | RTCSdpSemanticsUnifiedPlan, 69 | }; 70 | 71 | NS_ASSUME_NONNULL_BEGIN 72 | 73 | RTC_OBJC_EXPORT 74 | @interface RTCConfiguration : NSObject 75 | 76 | /** An array of Ice Servers available to be used by ICE. */ 77 | @property(nonatomic, copy) NSArray *iceServers; 78 | 79 | /** An RTCCertificate for 're' use. */ 80 | @property(nonatomic, nullable) RTCCertificate *certificate; 81 | 82 | /** Which candidates the ICE agent is allowed to use. The W3C calls it 83 | * |iceTransportPolicy|, while in C++ it is called |type|. */ 84 | @property(nonatomic, assign) RTCIceTransportPolicy iceTransportPolicy; 85 | 86 | /** The media-bundling policy to use when gathering ICE candidates. */ 87 | @property(nonatomic, assign) RTCBundlePolicy bundlePolicy; 88 | 89 | /** The rtcp-mux policy to use when gathering ICE candidates. */ 90 | @property(nonatomic, assign) RTCRtcpMuxPolicy rtcpMuxPolicy; 91 | @property(nonatomic, assign) RTCTcpCandidatePolicy tcpCandidatePolicy; 92 | @property(nonatomic, assign) RTCCandidateNetworkPolicy candidateNetworkPolicy; 93 | @property(nonatomic, assign) RTCContinualGatheringPolicy continualGatheringPolicy; 94 | 95 | /** By default, the PeerConnection will use a limited number of IPv6 network 96 | * interfaces, in order to avoid too many ICE candidate pairs being created 97 | * and delaying ICE completion. 98 | * 99 | * Can be set to INT_MAX to effectively disable the limit. 100 | */ 101 | @property(nonatomic, assign) int maxIPv6Networks; 102 | 103 | /** Exclude link-local network interfaces 104 | * from considertaion for gathering ICE candidates. 105 | * Defaults to NO. 106 | */ 107 | @property(nonatomic, assign) BOOL disableLinkLocalNetworks; 108 | 109 | @property(nonatomic, assign) int audioJitterBufferMaxPackets; 110 | @property(nonatomic, assign) BOOL audioJitterBufferFastAccelerate; 111 | @property(nonatomic, assign) int iceConnectionReceivingTimeout; 112 | @property(nonatomic, assign) int iceBackupCandidatePairPingInterval; 113 | 114 | /** Key type used to generate SSL identity. Default is ECDSA. */ 115 | @property(nonatomic, assign) RTCEncryptionKeyType keyType; 116 | 117 | /** ICE candidate pool size as defined in JSEP. Default is 0. */ 118 | @property(nonatomic, assign) int iceCandidatePoolSize; 119 | 120 | /** Prune turn ports on the same network to the same turn server. 121 | * Default is NO. 122 | */ 123 | @property(nonatomic, assign) BOOL shouldPruneTurnPorts; 124 | 125 | /** If set to YES, this means the ICE transport should presume TURN-to-TURN 126 | * candidate pairs will succeed, even before a binding response is received. 127 | */ 128 | @property(nonatomic, assign) BOOL shouldPresumeWritableWhenFullyRelayed; 129 | 130 | /** If set to non-nil, controls the minimal interval between consecutive ICE 131 | * check packets. 132 | */ 133 | @property(nonatomic, copy, nullable) NSNumber *iceCheckMinInterval; 134 | 135 | /** ICE Periodic Regathering 136 | * If set, WebRTC will periodically create and propose candidates without 137 | * starting a new ICE generation. The regathering happens continuously with 138 | * interval specified in milliseconds by the uniform distribution [a, b]. 139 | */ 140 | @property(nonatomic, strong, nullable) RTCIntervalRange *iceRegatherIntervalRange; 141 | 142 | /** Configure the SDP semantics used by this PeerConnection. Note that the 143 | * WebRTC 1.0 specification requires UnifiedPlan semantics. The 144 | * RTCRtpTransceiver API is only available with UnifiedPlan semantics. 145 | * 146 | * PlanB will cause RTCPeerConnection to create offers and answers with at 147 | * most one audio and one video m= section with multiple RTCRtpSenders and 148 | * RTCRtpReceivers specified as multiple a=ssrc lines within the section. This 149 | * will also cause RTCPeerConnection to ignore all but the first m= section of 150 | * the same media type. 151 | * 152 | * UnifiedPlan will cause RTCPeerConnection to create offers and answers with 153 | * multiple m= sections where each m= section maps to one RTCRtpSender and one 154 | * RTCRtpReceiver (an RTCRtpTransceiver), either both audio or both video. This 155 | * will also cause RTCPeerConnection to ignore all but the first a=ssrc lines 156 | * that form a Plan B stream. 157 | * 158 | * For users who wish to send multiple audio/video streams and need to stay 159 | * interoperable with legacy WebRTC implementations or use legacy APIs, 160 | * specify PlanB. 161 | * 162 | * For all other users, specify UnifiedPlan. 163 | */ 164 | @property(nonatomic, assign) RTCSdpSemantics sdpSemantics; 165 | 166 | /** Actively reset the SRTP parameters when the DTLS transports underneath are 167 | * changed after offer/answer negotiation. This is only intended to be a 168 | * workaround for crbug.com/835958 169 | */ 170 | @property(nonatomic, assign) BOOL activeResetSrtpParams; 171 | 172 | /** 173 | * If MediaTransportFactory is provided in PeerConnectionFactory, this flag informs PeerConnection 174 | * that it should use the MediaTransportInterface. 175 | */ 176 | @property(nonatomic, assign) BOOL useMediaTransport; 177 | 178 | /** 179 | * Defines advanced optional cryptographic settings related to SRTP and 180 | * frame encryption for native WebRTC. Setting this will overwrite any 181 | * options set through the PeerConnectionFactory (which is deprecated). 182 | */ 183 | @property(nonatomic, nullable) RTCCryptoOptions *cryptoOptions; 184 | 185 | - (instancetype)init; 186 | 187 | @end 188 | 189 | NS_ASSUME_NONNULL_END 190 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCCryptoOptions.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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** 18 | * Objective-C bindings for webrtc::CryptoOptions. This API had to be flattened 19 | * as Objective-C doesn't support nested structures. 20 | */ 21 | RTC_OBJC_EXPORT 22 | @interface RTCCryptoOptions : NSObject 23 | 24 | /** 25 | * Enable GCM crypto suites from RFC 7714 for SRTP. GCM will only be used 26 | * if both sides enable it 27 | */ 28 | @property(nonatomic, assign) BOOL srtpEnableGcmCryptoSuites; 29 | /** 30 | * If set to true, the (potentially insecure) crypto cipher 31 | * SRTP_AES128_CM_SHA1_32 will be included in the list of supported ciphers 32 | * during negotiation. It will only be used if both peers support it and no 33 | * other ciphers get preferred. 34 | */ 35 | @property(nonatomic, assign) BOOL srtpEnableAes128Sha1_32CryptoCipher; 36 | /** 37 | * If set to true, encrypted RTP header extensions as defined in RFC 6904 38 | * will be negotiated. They will only be used if both peers support them. 39 | */ 40 | @property(nonatomic, assign) BOOL srtpEnableEncryptedRtpHeaderExtensions; 41 | 42 | /** 43 | * If set all RtpSenders must have an FrameEncryptor attached to them before 44 | * they are allowed to send packets. All RtpReceivers must have a 45 | * FrameDecryptor attached to them before they are able to receive packets. 46 | */ 47 | @property(nonatomic, assign) BOOL sframeRequireFrameEncryption; 48 | 49 | /** 50 | * Initializes CryptoOptions with all possible options set explicitly. This 51 | * is done when converting from a native RTCConfiguration.crypto_options. 52 | */ 53 | - (instancetype)initWithSrtpEnableGcmCryptoSuites:(BOOL)srtpEnableGcmCryptoSuites 54 | srtpEnableAes128Sha1_32CryptoCipher:(BOOL)srtpEnableAes128Sha1_32CryptoCipher 55 | srtpEnableEncryptedRtpHeaderExtensions:(BOOL)srtpEnableEncryptedRtpHeaderExtensions 56 | sframeRequireFrameEncryption:(BOOL)sframeRequireFrameEncryption 57 | NS_DESIGNATED_INITIALIZER; 58 | 59 | - (instancetype)init NS_UNAVAILABLE; 60 | 61 | @end 62 | 63 | NS_ASSUME_NONNULL_END 64 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCDataChannel.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 "RTCMacros.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | RTC_OBJC_EXPORT 19 | @interface RTCDataBuffer : NSObject 20 | 21 | /** NSData representation of the underlying buffer. */ 22 | @property(nonatomic, readonly) NSData *data; 23 | 24 | /** Indicates whether |data| contains UTF-8 or binary data. */ 25 | @property(nonatomic, readonly) BOOL isBinary; 26 | 27 | - (instancetype)init NS_UNAVAILABLE; 28 | 29 | /** 30 | * Initialize an RTCDataBuffer from NSData. |isBinary| indicates whether |data| 31 | * contains UTF-8 or binary data. 32 | */ 33 | - (instancetype)initWithData:(NSData *)data isBinary:(BOOL)isBinary; 34 | 35 | @end 36 | 37 | @class RTCDataChannel; 38 | RTC_OBJC_EXPORT 39 | @protocol RTCDataChannelDelegate 40 | 41 | /** The data channel state changed. */ 42 | - (void)dataChannelDidChangeState:(RTCDataChannel *)dataChannel; 43 | 44 | /** The data channel successfully received a data buffer. */ 45 | - (void)dataChannel:(RTCDataChannel *)dataChannel 46 | didReceiveMessageWithBuffer:(RTCDataBuffer *)buffer; 47 | 48 | @optional 49 | /** The data channel's |bufferedAmount| changed. */ 50 | - (void)dataChannel:(RTCDataChannel *)dataChannel didChangeBufferedAmount:(uint64_t)amount; 51 | 52 | @end 53 | 54 | /** Represents the state of the data channel. */ 55 | typedef NS_ENUM(NSInteger, RTCDataChannelState) { 56 | RTCDataChannelStateConnecting, 57 | RTCDataChannelStateOpen, 58 | RTCDataChannelStateClosing, 59 | RTCDataChannelStateClosed, 60 | }; 61 | 62 | RTC_OBJC_EXPORT 63 | @interface RTCDataChannel : NSObject 64 | 65 | /** 66 | * A label that can be used to distinguish this data channel from other data 67 | * channel objects. 68 | */ 69 | @property(nonatomic, readonly) NSString *label; 70 | 71 | /** Whether the data channel can send messages in unreliable mode. */ 72 | @property(nonatomic, readonly) BOOL isReliable DEPRECATED_ATTRIBUTE; 73 | 74 | /** Returns whether this data channel is ordered or not. */ 75 | @property(nonatomic, readonly) BOOL isOrdered; 76 | 77 | /** Deprecated. Use maxPacketLifeTime. */ 78 | @property(nonatomic, readonly) NSUInteger maxRetransmitTime DEPRECATED_ATTRIBUTE; 79 | 80 | /** 81 | * The length of the time window (in milliseconds) during which transmissions 82 | * and retransmissions may occur in unreliable mode. 83 | */ 84 | @property(nonatomic, readonly) uint16_t maxPacketLifeTime; 85 | 86 | /** 87 | * The maximum number of retransmissions that are attempted in unreliable mode. 88 | */ 89 | @property(nonatomic, readonly) uint16_t maxRetransmits; 90 | 91 | /** 92 | * The name of the sub-protocol used with this data channel, if any. Otherwise 93 | * this returns an empty string. 94 | */ 95 | @property(nonatomic, readonly) NSString *protocol; 96 | 97 | /** 98 | * Returns whether this data channel was negotiated by the application or not. 99 | */ 100 | @property(nonatomic, readonly) BOOL isNegotiated; 101 | 102 | /** Deprecated. Use channelId. */ 103 | @property(nonatomic, readonly) NSInteger streamId DEPRECATED_ATTRIBUTE; 104 | 105 | /** The identifier for this data channel. */ 106 | @property(nonatomic, readonly) int channelId; 107 | 108 | /** The state of the data channel. */ 109 | @property(nonatomic, readonly) RTCDataChannelState readyState; 110 | 111 | /** 112 | * The number of bytes of application data that have been queued using 113 | * |sendData:| but that have not yet been transmitted to the network. 114 | */ 115 | @property(nonatomic, readonly) uint64_t bufferedAmount; 116 | 117 | /** The delegate for this data channel. */ 118 | @property(nonatomic, weak) id delegate; 119 | 120 | - (instancetype)init NS_UNAVAILABLE; 121 | 122 | /** Closes the data channel. */ 123 | - (void)close; 124 | 125 | /** Attempt to send |data| on this data channel's underlying data transport. */ 126 | - (BOOL)sendData:(RTCDataBuffer *)data; 127 | 128 | @end 129 | 130 | NS_ASSUME_NONNULL_END 131 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | RTC_OBJC_EXPORT 19 | @interface 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoDecoderFactory.h" 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 RTCVideoDecoderFactory. 20 | */ 21 | RTC_OBJC_EXPORT 22 | @interface RTCDefaultVideoDecoderFactory : NSObject 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoEncoderFactory.h" 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 RTCVideoDecoderFactory. 20 | */ 21 | RTC_OBJC_EXPORT 22 | @interface RTCDefaultVideoEncoderFactory : NSObject 23 | 24 | @property(nonatomic, retain) RTCVideoCodecInfo *preferredCodec; 25 | 26 | + (NSArray *)supportedCodecs; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 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 | }; 24 | 25 | /** Dispatcher that asynchronously dispatches blocks to a specific 26 | * shared dispatch queue. 27 | */ 28 | RTC_OBJC_EXPORT 29 | @interface RTCDispatcher : NSObject 30 | 31 | - (instancetype)init NS_UNAVAILABLE; 32 | 33 | /** Dispatch the block asynchronously on the queue for dispatchType. 34 | * @param dispatchType The queue type to dispatch on. 35 | * @param block The block to dispatch asynchronously. 36 | */ 37 | + (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType block:(dispatch_block_t)block; 38 | 39 | /** Returns YES if run on queue for the dispatchType otherwise NO. 40 | * Useful for asserting that a method is run on a correct queue. 41 | */ 42 | + (BOOL)isOnQueueForType:(RTCDispatcherQueueType)dispatchType; 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCDtmfSender.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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @protocol RTCDtmfSender 19 | 20 | /** 21 | * Returns true if this RTCDtmfSender is capable of sending DTMF. Otherwise 22 | * returns false. To be able to send DTMF, the associated RTCRtpSender must be 23 | * able to send packets, and a "telephone-event" codec must be negotiated. 24 | */ 25 | @property(nonatomic, readonly) BOOL canInsertDtmf; 26 | 27 | /** 28 | * Queues a task that sends the DTMF tones. The tones parameter is treated 29 | * as a series of characters. The characters 0 through 9, A through D, #, and * 30 | * generate the associated DTMF tones. The characters a to d are equivalent 31 | * to A to D. The character ',' indicates a delay of 2 seconds before 32 | * processing the next character in the tones parameter. 33 | * 34 | * Unrecognized characters are ignored. 35 | * 36 | * @param duration The parameter indicates the duration to use for each 37 | * character passed in the tones parameter. The duration cannot be more 38 | * than 6000 or less than 70 ms. 39 | * 40 | * @param interToneGap The parameter indicates the gap between tones. 41 | * This parameter must be at least 50 ms but should be as short as 42 | * possible. 43 | * 44 | * If InsertDtmf is called on the same object while an existing task for this 45 | * object to generate DTMF is still running, the previous task is canceled. 46 | * Returns true on success and false on failure. 47 | */ 48 | - (BOOL)insertDtmf:(nonnull NSString *)tones 49 | duration:(NSTimeInterval)duration 50 | interToneGap:(NSTimeInterval)interToneGap; 51 | 52 | /** The tones remaining to be played out */ 53 | - (nonnull NSString *)remainingTones; 54 | 55 | /** 56 | * The current tone duration value. This value will be the value last set via the 57 | * insertDtmf method, or the default value of 100 ms if insertDtmf was never called. 58 | */ 59 | - (NSTimeInterval)duration; 60 | 61 | /** 62 | * The current value of the between-tone gap. This value will be the value last set 63 | * via the insertDtmf() method, or the default value of 50 ms if insertDtmf() was never 64 | * called. 65 | */ 66 | - (NSTimeInterval)interToneGap; 67 | 68 | @end 69 | 70 | NS_ASSUME_NONNULL_END 71 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoFrame.h" 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 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, assign) BOOL completeFrame; 48 | @property(nonatomic, strong) NSNumber *qp; 49 | @property(nonatomic, assign) RTCVideoContentType contentType; 50 | 51 | @end 52 | 53 | NS_ASSUME_NONNULL_END 54 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | /** The only valid value for the following if set is kRTCFieldTrialEnabledValue. */ 16 | RTC_EXTERN NSString * const kRTCFieldTrialAudioSendSideBweKey; 17 | RTC_EXTERN NSString * const kRTCFieldTrialAudioSendSideBweForVideoKey; 18 | RTC_EXTERN NSString * const kRTCFieldTrialAudioForceNoTWCCKey; 19 | RTC_EXTERN NSString * const kRTCFieldTrialAudioForceABWENoTWCCKey; 20 | RTC_EXTERN NSString * const kRTCFieldTrialSendSideBweWithOverheadKey; 21 | RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03AdvertisedKey; 22 | RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03Key; 23 | RTC_EXTERN NSString * const kRTCFieldTrialImprovedBitrateEstimateKey; 24 | RTC_EXTERN NSString * const kRTCFieldTrialH264HighProfileKey; 25 | RTC_EXTERN NSString * const kRTCFieldTrialMinimizeResamplingOnMobileKey; 26 | 27 | /** The valid value for field trials above. */ 28 | RTC_EXTERN NSString * const kRTCFieldTrialEnabledValue; 29 | 30 | /** Use a string returned by RTCFieldTrialMedianSlopeFilterValue as the value. */ 31 | RTC_EXTERN NSString * const kRTCFieldTrialMedianSlopeFilterKey; 32 | RTC_EXTERN NSString *RTCFieldTrialMedianSlopeFilterValue( 33 | size_t windowSize, double thresholdGain); 34 | 35 | /** Use a string returned by RTCFieldTrialTrendlineFilterValue as the value. */ 36 | RTC_EXTERN NSString * const kRTCFieldTrialTrendlineFilterKey; 37 | /** Returns a valid value for kRTCFieldTrialTrendlineFilterKey. */ 38 | RTC_EXTERN NSString *RTCFieldTrialTrendlineFilterValue( 39 | size_t windowSize, double smoothingCoeff, double thresholdGain); 40 | 41 | /** Initialize field trials using a dictionary mapping field trial keys to their 42 | * values. See above for valid keys and values. Must be called before any other 43 | * call into WebRTC. See: webrtc/system_wrappers/include/field_trial.h 44 | */ 45 | RTC_EXTERN void RTCInitFieldTrialDictionary(NSDictionary *fieldTrials); 46 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCFileLogger.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 "RTCMacros.h" 14 | 15 | typedef NS_ENUM(NSUInteger, RTCFileLoggerSeverity) { 16 | RTCFileLoggerSeverityVerbose, 17 | RTCFileLoggerSeverityInfo, 18 | RTCFileLoggerSeverityWarning, 19 | RTCFileLoggerSeverityError 20 | }; 21 | 22 | typedef NS_ENUM(NSUInteger, RTCFileLoggerRotationType) { 23 | RTCFileLoggerTypeCall, 24 | RTCFileLoggerTypeApp, 25 | }; 26 | 27 | NS_ASSUME_NONNULL_BEGIN 28 | 29 | // This class intercepts WebRTC logs and saves them to a file. The file size 30 | // will not exceed the given maximum bytesize. When the maximum bytesize is 31 | // reached, logs are rotated according to the rotationType specified. 32 | // For kRTCFileLoggerTypeCall, logs from the beginning and the end 33 | // are preserved while the middle section is overwritten instead. 34 | // For kRTCFileLoggerTypeApp, the oldest log is overwritten. 35 | // This class is not threadsafe. 36 | RTC_OBJC_EXPORT 37 | @interface RTCFileLogger : NSObject 38 | 39 | // The severity level to capture. The default is kRTCFileLoggerSeverityInfo. 40 | @property(nonatomic, assign) RTCFileLoggerSeverity severity; 41 | 42 | // The rotation type for this file logger. The default is 43 | // kRTCFileLoggerTypeCall. 44 | @property(nonatomic, readonly) RTCFileLoggerRotationType rotationType; 45 | 46 | // Disables buffering disk writes. Should be set before |start|. Buffering 47 | // is enabled by default for performance. 48 | @property(nonatomic, assign) BOOL shouldDisableBuffering; 49 | 50 | // Default constructor provides default settings for dir path, file size and 51 | // rotation type. 52 | - (instancetype)init; 53 | 54 | // Create file logger with default rotation type. 55 | - (instancetype)initWithDirPath:(NSString *)dirPath maxFileSize:(NSUInteger)maxFileSize; 56 | 57 | - (instancetype)initWithDirPath:(NSString *)dirPath 58 | maxFileSize:(NSUInteger)maxFileSize 59 | rotationType:(RTCFileLoggerRotationType)rotationType NS_DESIGNATED_INITIALIZER; 60 | 61 | // Starts writing WebRTC logs to disk if not already started. Overwrites any 62 | // existing file(s). 63 | - (void)start; 64 | 65 | // Stops writing WebRTC logs to disk. This method is also called on dealloc. 66 | - (void)stop; 67 | 68 | // Returns the current contents of the logs, or nil if start has been called 69 | // without a stop. 70 | - (nullable NSData *)logData; 71 | 72 | @end 73 | 74 | NS_ASSUME_NONNULL_END 75 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCVideoCapturer.h" 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 RTCFileVideoCapturer : 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCH264ProfileLevelId.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 "RTCMacros.h" 14 | 15 | RTC_OBJC_EXPORT extern NSString *const kRTCVideoCodecH264Name; 16 | RTC_OBJC_EXPORT extern NSString *const kRTCLevel31ConstrainedHigh; 17 | RTC_OBJC_EXPORT extern NSString *const kRTCLevel31ConstrainedBaseline; 18 | RTC_OBJC_EXPORT extern NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedHigh; 19 | RTC_OBJC_EXPORT extern NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedBaseline; 20 | 21 | /** H264 Profiles and levels. */ 22 | typedef NS_ENUM(NSUInteger, RTCH264Profile) { 23 | RTCH264ProfileConstrainedBaseline, 24 | RTCH264ProfileBaseline, 25 | RTCH264ProfileMain, 26 | RTCH264ProfileConstrainedHigh, 27 | RTCH264ProfileHigh, 28 | }; 29 | 30 | typedef NS_ENUM(NSUInteger, RTCH264Level) { 31 | RTCH264Level1_b = 0, 32 | RTCH264Level1 = 10, 33 | RTCH264Level1_1 = 11, 34 | RTCH264Level1_2 = 12, 35 | RTCH264Level1_3 = 13, 36 | RTCH264Level2 = 20, 37 | RTCH264Level2_1 = 21, 38 | RTCH264Level2_2 = 22, 39 | RTCH264Level3 = 30, 40 | RTCH264Level3_1 = 31, 41 | RTCH264Level3_2 = 32, 42 | RTCH264Level4 = 40, 43 | RTCH264Level4_1 = 41, 44 | RTCH264Level4_2 = 42, 45 | RTCH264Level5 = 50, 46 | RTCH264Level5_1 = 51, 47 | RTCH264Level5_2 = 52 48 | }; 49 | 50 | RTC_OBJC_EXPORT 51 | @interface RTCH264ProfileLevelId : NSObject 52 | 53 | @property(nonatomic, readonly) RTCH264Profile profile; 54 | @property(nonatomic, readonly) RTCH264Level level; 55 | @property(nonatomic, readonly) NSString *hexString; 56 | 57 | - (instancetype)initWithHexString:(NSString *)hexString; 58 | - (instancetype)initWithProfile:(RTCH264Profile)profile level:(RTCH264Level)level; 59 | 60 | @end 61 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCYUVPlanarBuffer.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** Protocol for RTCYUVPlanarBuffers containing I420 data */ 18 | RTC_OBJC_EXPORT 19 | @protocol RTCI420Buffer 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCIceServer.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 "RTCMacros.h" 14 | 15 | typedef NS_ENUM(NSUInteger, RTCTlsCertPolicy) { 16 | RTCTlsCertPolicySecure, 17 | RTCTlsCertPolicyInsecureNoCheck 18 | }; 19 | 20 | NS_ASSUME_NONNULL_BEGIN 21 | 22 | RTC_OBJC_EXPORT 23 | @interface RTCIceServer : NSObject 24 | 25 | /** URI(s) for this server represented as NSStrings. */ 26 | @property(nonatomic, readonly) NSArray *urlStrings; 27 | 28 | /** Username to use if this RTCIceServer object is a TURN server. */ 29 | @property(nonatomic, readonly, nullable) NSString *username; 30 | 31 | /** Credential to use if this RTCIceServer object is a TURN server. */ 32 | @property(nonatomic, readonly, nullable) NSString *credential; 33 | 34 | /** 35 | * TLS certificate policy to use if this RTCIceServer object is a TURN server. 36 | */ 37 | @property(nonatomic, readonly) RTCTlsCertPolicy tlsCertPolicy; 38 | 39 | /** 40 | If the URIs in |urls| only contain IP addresses, this field can be used 41 | to indicate the hostname, which may be necessary for TLS (using the SNI 42 | extension). If |urls| itself contains the hostname, this isn't necessary. 43 | */ 44 | @property(nonatomic, readonly, nullable) NSString *hostname; 45 | 46 | /** List of protocols to be used in the TLS ALPN extension. */ 47 | @property(nonatomic, readonly) NSArray *tlsAlpnProtocols; 48 | 49 | /** 50 | List elliptic curves to be used in the TLS elliptic curves extension. 51 | Only curve names supported by OpenSSL should be used (eg. "P-256","X25519"). 52 | */ 53 | @property(nonatomic, readonly) NSArray *tlsEllipticCurves; 54 | 55 | - (nonnull instancetype)init NS_UNAVAILABLE; 56 | 57 | /** Convenience initializer for a server with no authentication (e.g. STUN). */ 58 | - (instancetype)initWithURLStrings:(NSArray *)urlStrings; 59 | 60 | /** 61 | * Initialize an RTCIceServer with its associated URLs, optional username, 62 | * optional credential, and credentialType. 63 | */ 64 | - (instancetype)initWithURLStrings:(NSArray *)urlStrings 65 | username:(nullable NSString *)username 66 | credential:(nullable NSString *)credential; 67 | 68 | /** 69 | * Initialize an RTCIceServer with its associated URLs, optional username, 70 | * optional credential, and TLS cert policy. 71 | */ 72 | - (instancetype)initWithURLStrings:(NSArray *)urlStrings 73 | username:(nullable NSString *)username 74 | credential:(nullable NSString *)credential 75 | tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy; 76 | 77 | /** 78 | * Initialize an RTCIceServer with its associated URLs, optional username, 79 | * optional credential, TLS cert policy and hostname. 80 | */ 81 | - (instancetype)initWithURLStrings:(NSArray *)urlStrings 82 | username:(nullable NSString *)username 83 | credential:(nullable NSString *)credential 84 | tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy 85 | hostname:(nullable NSString *)hostname; 86 | 87 | /** 88 | * Initialize an RTCIceServer with its associated URLs, optional username, 89 | * optional credential, TLS cert policy, hostname and ALPN protocols. 90 | */ 91 | - (instancetype)initWithURLStrings:(NSArray *)urlStrings 92 | username:(nullable NSString *)username 93 | credential:(nullable NSString *)credential 94 | tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy 95 | hostname:(nullable NSString *)hostname 96 | tlsAlpnProtocols:(NSArray *)tlsAlpnProtocols; 97 | 98 | /** 99 | * Initialize an RTCIceServer with its associated URLs, optional username, 100 | * optional credential, TLS cert policy, hostname, ALPN protocols and 101 | * elliptic curves. 102 | */ 103 | - (instancetype)initWithURLStrings:(NSArray *)urlStrings 104 | username:(nullable NSString *)username 105 | credential:(nullable NSString *)credential 106 | tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy 107 | hostname:(nullable NSString *)hostname 108 | tlsAlpnProtocols:(nullable NSArray *)tlsAlpnProtocols 109 | tlsEllipticCurves:(nullable NSArray *)tlsEllipticCurves 110 | NS_DESIGNATED_INITIALIZER; 111 | 112 | @end 113 | 114 | NS_ASSUME_NONNULL_END 115 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCIntervalRange.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 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface RTCIntervalRange : NSObject 16 | 17 | @property(nonatomic, readonly) NSInteger min; 18 | @property(nonatomic, readonly) NSInteger max; 19 | 20 | - (instancetype)init; 21 | - (instancetype)initWithMin:(NSInteger)min max:(NSInteger)max NS_DESIGNATED_INITIALIZER; 22 | 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** This does not currently conform to the spec. */ 18 | RTC_OBJC_EXPORT 19 | @interface 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCLogging.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 "RTCMacros.h" 14 | 15 | // Subset of rtc::LoggingSeverity. 16 | typedef NS_ENUM(NSInteger, RTCLoggingSeverity) { 17 | RTCLoggingSeverityVerbose, 18 | RTCLoggingSeverityInfo, 19 | RTCLoggingSeverityWarning, 20 | RTCLoggingSeverityError, 21 | RTCLoggingSeverityNone, 22 | }; 23 | 24 | // Wrapper for C++ RTC_LOG(sev) macros. 25 | // Logs the log string to the webrtc logstream for the given severity. 26 | RTC_EXTERN void RTCLogEx(RTCLoggingSeverity severity, NSString* log_string); 27 | 28 | // Wrapper for rtc::LogMessage::LogToDebug. 29 | // Sets the minimum severity to be logged to console. 30 | RTC_EXTERN void RTCSetMinDebugLogLevel(RTCLoggingSeverity severity); 31 | 32 | // Returns the filename with the path prefix removed. 33 | RTC_EXTERN NSString* RTCFileName(const char* filePath); 34 | 35 | // Some convenience macros. 36 | 37 | #define RTCLogString(format, ...) \ 38 | [NSString stringWithFormat:@"(%@:%d %s): " format, RTCFileName(__FILE__), \ 39 | __LINE__, __FUNCTION__, ##__VA_ARGS__] 40 | 41 | #define RTCLogFormat(severity, format, ...) \ 42 | do { \ 43 | NSString* log_string = RTCLogString(format, ##__VA_ARGS__); \ 44 | RTCLogEx(severity, log_string); \ 45 | } while (false) 46 | 47 | #define RTCLogVerbose(format, ...) \ 48 | RTCLogFormat(RTCLoggingSeverityVerbose, format, ##__VA_ARGS__) 49 | 50 | #define RTCLogInfo(format, ...) \ 51 | RTCLogFormat(RTCLoggingSeverityInfo, format, ##__VA_ARGS__) 52 | 53 | #define RTCLogWarning(format, ...) \ 54 | RTCLogFormat(RTCLoggingSeverityWarning, format, ##__VA_ARGS__) 55 | 56 | #define RTCLogError(format, ...) \ 57 | RTCLogFormat(RTCLoggingSeverityError, format, ##__VA_ARGS__) 58 | 59 | #if !defined(NDEBUG) 60 | #define RTCLogDebug(format, ...) RTCLogInfo(format, ##__VA_ARGS__) 61 | #else 62 | #define RTCLogDebug(format, ...) \ 63 | do { \ 64 | } while (false) 65 | #endif 66 | 67 | #define RTCLog(format, ...) RTCLogInfo(format, ##__VA_ARGS__) 68 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCMTLNSVideoView.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 "RTCVideoRenderer.h" 14 | 15 | NS_AVAILABLE_MAC(10.11) 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTCMTLNSVideoView : NSView 19 | 20 | @property(nonatomic, weak) id delegate; 21 | 22 | + (BOOL)isMetalAvailable; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCMacros.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 | #ifndef SDK_OBJC_BASE_RTCMACROS_H_ 12 | #define SDK_OBJC_BASE_RTCMACROS_H_ 13 | 14 | #define RTC_OBJC_EXPORT __attribute__((visibility("default"))) 15 | 16 | #if defined(__cplusplus) 17 | #define RTC_EXTERN extern "C" RTC_OBJC_EXPORT 18 | #else 19 | #define RTC_EXTERN extern RTC_OBJC_EXPORT 20 | #endif 21 | 22 | #ifdef __OBJC__ 23 | #define RTC_FWD_DECL_OBJC_CLASS(classname) @class classname 24 | #else 25 | #define RTC_FWD_DECL_OBJC_CLASS(classname) typedef struct objc_object classname 26 | #endif 27 | 28 | #endif // SDK_OBJC_BASE_RTCMACROS_H_ 29 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** Constraint keys for media sources. */ 18 | RTC_EXTERN NSString *const kRTCMediaConstraintsMinAspectRatio; 19 | RTC_EXTERN NSString *const kRTCMediaConstraintsMaxAspectRatio; 20 | RTC_EXTERN NSString *const kRTCMediaConstraintsMaxWidth; 21 | RTC_EXTERN NSString *const kRTCMediaConstraintsMinWidth; 22 | RTC_EXTERN NSString *const kRTCMediaConstraintsMaxHeight; 23 | RTC_EXTERN NSString *const kRTCMediaConstraintsMinHeight; 24 | RTC_EXTERN NSString *const kRTCMediaConstraintsMaxFrameRate; 25 | RTC_EXTERN NSString *const kRTCMediaConstraintsMinFrameRate; 26 | /** The value for this key should be a base64 encoded string containing 27 | * the data from the serialized configuration proto. 28 | */ 29 | RTC_EXTERN NSString *const kRTCMediaConstraintsAudioNetworkAdaptorConfig; 30 | 31 | /** Constraint keys for generating offers and answers. */ 32 | RTC_EXTERN NSString *const kRTCMediaConstraintsIceRestart; 33 | RTC_EXTERN NSString *const kRTCMediaConstraintsOfferToReceiveAudio; 34 | RTC_EXTERN NSString *const kRTCMediaConstraintsOfferToReceiveVideo; 35 | RTC_EXTERN NSString *const kRTCMediaConstraintsVoiceActivityDetection; 36 | 37 | /** Constraint values for Boolean parameters. */ 38 | RTC_EXTERN NSString *const kRTCMediaConstraintsValueTrue; 39 | RTC_EXTERN NSString *const kRTCMediaConstraintsValueFalse; 40 | 41 | RTC_OBJC_EXPORT 42 | @interface RTCMediaConstraints : NSObject 43 | 44 | - (instancetype)init NS_UNAVAILABLE; 45 | 46 | /** Initialize with mandatory and/or optional constraints. */ 47 | - (instancetype) 48 | initWithMandatoryConstraints:(nullable NSDictionary *)mandatory 49 | optionalConstraints:(nullable NSDictionary *)optional 50 | NS_DESIGNATED_INITIALIZER; 51 | 52 | @end 53 | 54 | NS_ASSUME_NONNULL_END 55 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 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 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @class RTCAudioTrack; 18 | @class RTCPeerConnectionFactory; 19 | @class RTCVideoTrack; 20 | 21 | RTC_OBJC_EXPORT 22 | @interface 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:(RTCAudioTrack *)audioTrack; 37 | 38 | /** Adds the given video track to this media stream. */ 39 | - (void)addVideoTrack:(RTCVideoTrack *)videoTrack; 40 | 41 | /** Removes the given audio track to this media stream. */ 42 | - (void)removeAudioTrack:(RTCAudioTrack *)audioTrack; 43 | 44 | /** Removes the given video track to this media stream. */ 45 | - (void)removeVideoTrack:(RTCVideoTrack *)videoTrack; 46 | 47 | @end 48 | 49 | NS_ASSUME_NONNULL_END 50 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 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 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCMetricsSampleInfo.h" 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCI420Buffer.h" 14 | #import "RTCMutableYUVPlanarBuffer.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | /** Extension of the I420 buffer with mutable data access */ 19 | RTC_OBJC_EXPORT 20 | @protocol RTCMutableI420Buffer 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCYUVPlanarBuffer.h" 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 RTCMutableYUVPlanarBuffer 20 | 21 | @property(nonatomic, readonly) uint8_t *mutableDataY; 22 | @property(nonatomic, readonly) uint8_t *mutableDataU; 23 | @property(nonatomic, readonly) uint8_t *mutableDataV; 24 | 25 | @end 26 | 27 | NS_ASSUME_NONNULL_END 28 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCNSGLVideoView.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 | #if !TARGET_OS_IPHONE 14 | 15 | #import 16 | 17 | #import "RTCVideoRenderer.h" 18 | #import "RTCVideoViewShading.h" 19 | 20 | NS_ASSUME_NONNULL_BEGIN 21 | 22 | @class RTCNSGLVideoView; 23 | 24 | RTC_OBJC_EXPORT 25 | @protocol RTCNSGLVideoViewDelegate 26 | @end 27 | 28 | RTC_OBJC_EXPORT 29 | @interface RTCNSGLVideoView : NSOpenGLView 30 | 31 | @property(nonatomic, weak) id delegate; 32 | 33 | - (instancetype)initWithFrame:(NSRect)frameRect 34 | pixelFormat:(NSOpenGLPixelFormat *)format 35 | shader:(id)shader NS_DESIGNATED_INITIALIZER; 36 | 37 | @end 38 | 39 | NS_ASSUME_NONNULL_END 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCI420Buffer.h" 14 | #import "RTCMacros.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | /** RTCI420Buffer implements the RTCI420Buffer protocol */ 19 | RTC_OBJC_EXPORT 20 | @interface RTCI420Buffer : NSObject 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCMutableI420Buffer.h" 15 | #import "RTCNativeI420Buffer.h" 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | /** Mutable version of RTCI420Buffer */ 20 | RTC_OBJC_EXPORT 21 | @interface RTCMutableI420Buffer : RTCI420Buffer 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCPeerConnection.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 "RTCMacros.h" 14 | 15 | @class RTCConfiguration; 16 | @class RTCDataChannel; 17 | @class RTCDataChannelConfiguration; 18 | @class RTCIceCandidate; 19 | @class RTCMediaConstraints; 20 | @class RTCMediaStream; 21 | @class RTCMediaStreamTrack; 22 | @class RTCPeerConnectionFactory; 23 | @class RTCRtpReceiver; 24 | @class RTCRtpSender; 25 | @class RTCRtpTransceiver; 26 | @class RTCRtpTransceiverInit; 27 | @class RTCSessionDescription; 28 | @class RTCLegacyStatsReport; 29 | 30 | typedef NS_ENUM(NSInteger, RTCRtpMediaType); 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | extern NSString *const kRTCPeerConnectionErrorDomain; 35 | extern int const kRTCSessionDescriptionErrorCode; 36 | 37 | /** Represents the signaling state of the peer connection. */ 38 | typedef NS_ENUM(NSInteger, RTCSignalingState) { 39 | RTCSignalingStateStable, 40 | RTCSignalingStateHaveLocalOffer, 41 | RTCSignalingStateHaveLocalPrAnswer, 42 | RTCSignalingStateHaveRemoteOffer, 43 | RTCSignalingStateHaveRemotePrAnswer, 44 | // Not an actual state, represents the total number of states. 45 | RTCSignalingStateClosed, 46 | }; 47 | 48 | /** Represents the ice connection state of the peer connection. */ 49 | typedef NS_ENUM(NSInteger, RTCIceConnectionState) { 50 | RTCIceConnectionStateNew, 51 | RTCIceConnectionStateChecking, 52 | RTCIceConnectionStateConnected, 53 | RTCIceConnectionStateCompleted, 54 | RTCIceConnectionStateFailed, 55 | RTCIceConnectionStateDisconnected, 56 | RTCIceConnectionStateClosed, 57 | RTCIceConnectionStateCount, 58 | }; 59 | 60 | /** Represents the ice gathering state of the peer connection. */ 61 | typedef NS_ENUM(NSInteger, RTCIceGatheringState) { 62 | RTCIceGatheringStateNew, 63 | RTCIceGatheringStateGathering, 64 | RTCIceGatheringStateComplete, 65 | }; 66 | 67 | /** Represents the stats output level. */ 68 | typedef NS_ENUM(NSInteger, RTCStatsOutputLevel) { 69 | RTCStatsOutputLevelStandard, 70 | RTCStatsOutputLevelDebug, 71 | }; 72 | 73 | @class RTCPeerConnection; 74 | 75 | RTC_OBJC_EXPORT 76 | @protocol RTCPeerConnectionDelegate 77 | 78 | /** Called when the SignalingState changed. */ 79 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 80 | didChangeSignalingState:(RTCSignalingState)stateChanged; 81 | 82 | /** Called when media is received on a new stream from remote peer. */ 83 | - (void)peerConnection:(RTCPeerConnection *)peerConnection didAddStream:(RTCMediaStream *)stream; 84 | 85 | /** Called when a remote peer closes a stream. 86 | * This is not called when RTCSdpSemanticsUnifiedPlan is specified. 87 | */ 88 | - (void)peerConnection:(RTCPeerConnection *)peerConnection didRemoveStream:(RTCMediaStream *)stream; 89 | 90 | /** Called when negotiation is needed, for example ICE has restarted. */ 91 | - (void)peerConnectionShouldNegotiate:(RTCPeerConnection *)peerConnection; 92 | 93 | /** Called any time the IceConnectionState changes. */ 94 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 95 | didChangeIceConnectionState:(RTCIceConnectionState)newState; 96 | 97 | /** Called any time the IceGatheringState changes. */ 98 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 99 | didChangeIceGatheringState:(RTCIceGatheringState)newState; 100 | 101 | /** New ice candidate has been found. */ 102 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 103 | didGenerateIceCandidate:(RTCIceCandidate *)candidate; 104 | 105 | /** Called when a group of local Ice candidates have been removed. */ 106 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 107 | didRemoveIceCandidates:(NSArray *)candidates; 108 | 109 | /** New data channel has been opened. */ 110 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 111 | didOpenDataChannel:(RTCDataChannel *)dataChannel; 112 | 113 | /** Called when signaling indicates a transceiver will be receiving media from 114 | * the remote endpoint. 115 | * This is only called with RTCSdpSemanticsUnifiedPlan specified. 116 | */ 117 | @optional 118 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 119 | didStartReceivingOnTransceiver:(RTCRtpTransceiver *)transceiver; 120 | 121 | /** Called when a receiver and its track are created. */ 122 | @optional 123 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 124 | didAddReceiver:(RTCRtpReceiver *)rtpReceiver 125 | streams:(NSArray *)mediaStreams; 126 | 127 | /** Called when the receiver and its track are removed. */ 128 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 129 | didRemoveReceiver:(RTCRtpReceiver *)rtpReceiver; 130 | 131 | @end 132 | 133 | RTC_OBJC_EXPORT 134 | @interface RTCPeerConnection : NSObject 135 | 136 | /** The object that will be notifed about events such as state changes and 137 | * streams being added or removed. 138 | */ 139 | @property(nonatomic, weak, nullable) id delegate; 140 | /** This property is not available with RTCSdpSemanticsUnifiedPlan. Please use 141 | * |senders| instead. 142 | */ 143 | @property(nonatomic, readonly) NSArray *localStreams; 144 | @property(nonatomic, readonly, nullable) RTCSessionDescription *localDescription; 145 | @property(nonatomic, readonly, nullable) RTCSessionDescription *remoteDescription; 146 | @property(nonatomic, readonly) RTCSignalingState signalingState; 147 | @property(nonatomic, readonly) RTCIceConnectionState iceConnectionState; 148 | @property(nonatomic, readonly) RTCIceGatheringState iceGatheringState; 149 | @property(nonatomic, readonly, copy) RTCConfiguration *configuration; 150 | 151 | /** Gets all RTCRtpSenders associated with this peer connection. 152 | * Note: reading this property returns different instances of RTCRtpSender. 153 | * Use isEqual: instead of == to compare RTCRtpSender instances. 154 | */ 155 | @property(nonatomic, readonly) NSArray *senders; 156 | 157 | /** Gets all RTCRtpReceivers associated with this peer connection. 158 | * Note: reading this property returns different instances of RTCRtpReceiver. 159 | * Use isEqual: instead of == to compare RTCRtpReceiver instances. 160 | */ 161 | @property(nonatomic, readonly) NSArray *receivers; 162 | 163 | /** Gets all RTCRtpTransceivers associated with this peer connection. 164 | * Note: reading this property returns different instances of 165 | * RTCRtpTransceiver. Use isEqual: instead of == to compare RTCRtpTransceiver 166 | * instances. 167 | * This is only available with RTCSdpSemanticsUnifiedPlan specified. 168 | */ 169 | @property(nonatomic, readonly) NSArray *transceivers; 170 | 171 | - (instancetype)init NS_UNAVAILABLE; 172 | 173 | /** Sets the PeerConnection's global configuration to |configuration|. 174 | * Any changes to STUN/TURN servers or ICE candidate policy will affect the 175 | * next gathering phase, and cause the next call to createOffer to generate 176 | * new ICE credentials. Note that the BUNDLE and RTCP-multiplexing policies 177 | * cannot be changed with this method. 178 | */ 179 | - (BOOL)setConfiguration:(RTCConfiguration *)configuration; 180 | 181 | /** Terminate all media and close the transport. */ 182 | - (void)close; 183 | 184 | /** Provide a remote candidate to the ICE Agent. */ 185 | - (void)addIceCandidate:(RTCIceCandidate *)candidate; 186 | 187 | /** Remove a group of remote candidates from the ICE Agent. */ 188 | - (void)removeIceCandidates:(NSArray *)candidates; 189 | 190 | /** Add a new media stream to be sent on this peer connection. 191 | * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use 192 | * addTrack instead. 193 | */ 194 | - (void)addStream:(RTCMediaStream *)stream; 195 | 196 | /** Remove the given media stream from this peer connection. 197 | * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use 198 | * removeTrack instead. 199 | */ 200 | - (void)removeStream:(RTCMediaStream *)stream; 201 | 202 | /** Add a new media stream track to be sent on this peer connection, and return 203 | * the newly created RTCRtpSender. The RTCRtpSender will be associated with 204 | * the streams specified in the |streamIds| list. 205 | * 206 | * Errors: If an error occurs, returns nil. An error can occur if: 207 | * - A sender already exists for the track. 208 | * - The peer connection is closed. 209 | */ 210 | - (RTCRtpSender *)addTrack:(RTCMediaStreamTrack *)track streamIds:(NSArray *)streamIds; 211 | 212 | /** With PlanB semantics, removes an RTCRtpSender from this peer connection. 213 | * 214 | * With UnifiedPlan semantics, sets sender's track to null and removes the 215 | * send component from the associated RTCRtpTransceiver's direction. 216 | * 217 | * Returns YES on success. 218 | */ 219 | - (BOOL)removeTrack:(RTCRtpSender *)sender; 220 | 221 | /** addTransceiver creates a new RTCRtpTransceiver and adds it to the set of 222 | * transceivers. Adding a transceiver will cause future calls to CreateOffer 223 | * to add a media description for the corresponding transceiver. 224 | * 225 | * The initial value of |mid| in the returned transceiver is nil. Setting a 226 | * new session description may change it to a non-nil value. 227 | * 228 | * https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtransceiver 229 | * 230 | * Optionally, an RtpTransceiverInit structure can be specified to configure 231 | * the transceiver from construction. If not specified, the transceiver will 232 | * default to having a direction of kSendRecv and not be part of any streams. 233 | * 234 | * These methods are only available when Unified Plan is enabled (see 235 | * RTCConfiguration). 236 | */ 237 | 238 | /** Adds a transceiver with a sender set to transmit the given track. The kind 239 | * of the transceiver (and sender/receiver) will be derived from the kind of 240 | * the track. 241 | */ 242 | - (RTCRtpTransceiver *)addTransceiverWithTrack:(RTCMediaStreamTrack *)track; 243 | - (RTCRtpTransceiver *)addTransceiverWithTrack:(RTCMediaStreamTrack *)track 244 | init:(RTCRtpTransceiverInit *)init; 245 | 246 | /** Adds a transceiver with the given kind. Can either be RTCRtpMediaTypeAudio 247 | * or RTCRtpMediaTypeVideo. 248 | */ 249 | - (RTCRtpTransceiver *)addTransceiverOfType:(RTCRtpMediaType)mediaType; 250 | - (RTCRtpTransceiver *)addTransceiverOfType:(RTCRtpMediaType)mediaType 251 | init:(RTCRtpTransceiverInit *)init; 252 | 253 | /** Generate an SDP offer. */ 254 | - (void)offerForConstraints:(RTCMediaConstraints *)constraints 255 | completionHandler:(nullable void (^)(RTCSessionDescription *_Nullable sdp, 256 | NSError *_Nullable error))completionHandler; 257 | 258 | /** Generate an SDP answer. */ 259 | - (void)answerForConstraints:(RTCMediaConstraints *)constraints 260 | completionHandler:(nullable void (^)(RTCSessionDescription *_Nullable sdp, 261 | NSError *_Nullable error))completionHandler; 262 | 263 | /** Apply the supplied RTCSessionDescription as the local description. */ 264 | - (void)setLocalDescription:(RTCSessionDescription *)sdp 265 | completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler; 266 | 267 | /** Apply the supplied RTCSessionDescription as the remote description. */ 268 | - (void)setRemoteDescription:(RTCSessionDescription *)sdp 269 | completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler; 270 | 271 | /** Limits the bandwidth allocated for all RTP streams sent by this 272 | * PeerConnection. Nil parameters will be unchanged. Setting 273 | * |currentBitrateBps| will force the available bitrate estimate to the given 274 | * value. Returns YES if the parameters were successfully updated. 275 | */ 276 | - (BOOL)setBweMinBitrateBps:(nullable NSNumber *)minBitrateBps 277 | currentBitrateBps:(nullable NSNumber *)currentBitrateBps 278 | maxBitrateBps:(nullable NSNumber *)maxBitrateBps; 279 | 280 | /** Start or stop recording an Rtc EventLog. */ 281 | - (BOOL)startRtcEventLogWithFilePath:(NSString *)filePath maxSizeInBytes:(int64_t)maxSizeInBytes; 282 | - (void)stopRtcEventLog; 283 | 284 | @end 285 | 286 | @interface RTCPeerConnection (Media) 287 | 288 | /** Create an RTCRtpSender with the specified kind and media stream ID. 289 | * See RTCMediaStreamTrack.h for available kinds. 290 | * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use 291 | * addTransceiver instead. 292 | */ 293 | - (RTCRtpSender *)senderWithKind:(NSString *)kind streamId:(NSString *)streamId; 294 | 295 | @end 296 | 297 | @interface RTCPeerConnection (DataChannel) 298 | 299 | /** Create a new data channel with the given label and configuration. */ 300 | - (nullable RTCDataChannel *)dataChannelForLabel:(NSString *)label 301 | configuration:(RTCDataChannelConfiguration *)configuration; 302 | 303 | @end 304 | 305 | @interface RTCPeerConnection (Stats) 306 | 307 | /** Gather stats for the given RTCMediaStreamTrack. If |mediaStreamTrack| is nil 308 | * statistics are gathered for all tracks. 309 | */ 310 | - (void)statsForTrack:(nullable RTCMediaStreamTrack *)mediaStreamTrack 311 | statsOutputLevel:(RTCStatsOutputLevel)statsOutputLevel 312 | completionHandler:(nullable void (^)(NSArray *stats))completionHandler; 313 | 314 | @end 315 | 316 | NS_ASSUME_NONNULL_END 317 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCPeerConnectionFactory.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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @class RTCAudioSource; 18 | @class RTCAudioTrack; 19 | @class RTCConfiguration; 20 | @class RTCMediaConstraints; 21 | @class RTCMediaStream; 22 | @class RTCPeerConnection; 23 | @class RTCVideoSource; 24 | @class RTCVideoTrack; 25 | @class RTCPeerConnectionFactoryOptions; 26 | @protocol RTCPeerConnectionDelegate; 27 | @protocol RTCVideoDecoderFactory; 28 | @protocol RTCVideoEncoderFactory; 29 | 30 | RTC_OBJC_EXPORT 31 | @interface RTCPeerConnectionFactory : NSObject 32 | 33 | /* Initialize object with default H264 video encoder/decoder factories */ 34 | - (instancetype)init; 35 | 36 | /* Initialize object with injectable video encoder/decoder factories */ 37 | - (instancetype)initWithEncoderFactory:(nullable id)encoderFactory 38 | decoderFactory:(nullable id)decoderFactory; 39 | 40 | /** Initialize an RTCAudioSource with constraints. */ 41 | - (RTCAudioSource *)audioSourceWithConstraints:(nullable RTCMediaConstraints *)constraints; 42 | 43 | /** Initialize an RTCAudioTrack with an id. Convenience ctor to use an audio source with no 44 | * constraints. 45 | */ 46 | - (RTCAudioTrack *)audioTrackWithTrackId:(NSString *)trackId; 47 | 48 | /** Initialize an RTCAudioTrack with a source and an id. */ 49 | - (RTCAudioTrack *)audioTrackWithSource:(RTCAudioSource *)source trackId:(NSString *)trackId; 50 | 51 | /** Initialize a generic RTCVideoSource. The RTCVideoSource should be passed to a RTCVideoCapturer 52 | * implementation, e.g. RTCCameraVideoCapturer, in order to produce frames. 53 | */ 54 | - (RTCVideoSource *)videoSource; 55 | 56 | /** Initialize an RTCVideoTrack with a source and an id. */ 57 | - (RTCVideoTrack *)videoTrackWithSource:(RTCVideoSource *)source trackId:(NSString *)trackId; 58 | 59 | /** Initialize an RTCMediaStream with an id. */ 60 | - (RTCMediaStream *)mediaStreamWithStreamId:(NSString *)streamId; 61 | 62 | /** Initialize an RTCPeerConnection with a configuration, constraints, and 63 | * delegate. 64 | */ 65 | - (RTCPeerConnection *)peerConnectionWithConfiguration:(RTCConfiguration *)configuration 66 | constraints:(RTCMediaConstraints *)constraints 67 | delegate: 68 | (nullable id)delegate; 69 | 70 | /** Set the options to be used for subsequently created RTCPeerConnections */ 71 | - (void)setOptions:(nonnull RTCPeerConnectionFactoryOptions *)options; 72 | 73 | /** Start an AecDump recording. This API call will likely change in the future. */ 74 | - (BOOL)startAecDumpWithFilePath:(NSString *)filePath maxSizeInBytes:(int64_t)maxSizeInBytes; 75 | 76 | /* Stop an active AecDump recording */ 77 | - (void)stopAecDump; 78 | 79 | @end 80 | 81 | NS_ASSUME_NONNULL_END 82 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface 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 | @property(nonatomic, assign) BOOL enableAes128Sha1_32CryptoCipher; 35 | 36 | @property(nonatomic, assign) BOOL enableGcmCryptoSuites; 37 | 38 | @property(nonatomic, assign) BOOL requireFrameEncryption; 39 | 40 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 41 | 42 | @end 43 | 44 | NS_ASSUME_NONNULL_END 45 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface 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 NS_DESIGNATED_INITIALIZER; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCRtpCodecParameters.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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_EXTERN const NSString *const kRTCRtxCodecName; 18 | RTC_EXTERN const NSString *const kRTCRedCodecName; 19 | RTC_EXTERN const NSString *const kRTCUlpfecCodecName; 20 | RTC_EXTERN const NSString *const kRTCFlexfecCodecName; 21 | RTC_EXTERN const NSString *const kRTCOpusCodecName; 22 | RTC_EXTERN const NSString *const kRTCIsacCodecName; 23 | RTC_EXTERN const NSString *const kRTCL16CodecName; 24 | RTC_EXTERN const NSString *const kRTCG722CodecName; 25 | RTC_EXTERN const NSString *const kRTCIlbcCodecName; 26 | RTC_EXTERN const NSString *const kRTCPcmuCodecName; 27 | RTC_EXTERN const NSString *const kRTCPcmaCodecName; 28 | RTC_EXTERN const NSString *const kRTCDtmfCodecName; 29 | RTC_EXTERN const NSString *const kRTCComfortNoiseCodecName; 30 | RTC_EXTERN const NSString *const kRTCVp8CodecName; 31 | RTC_EXTERN const NSString *const kRTCVp9CodecName; 32 | RTC_EXTERN const NSString *const kRTCH264CodecName; 33 | 34 | /** Defined in http://w3c.github.io/webrtc-pc/#idl-def-RTCRtpCodecParameters */ 35 | RTC_OBJC_EXPORT 36 | @interface RTCRtpCodecParameters : NSObject 37 | 38 | /** The RTP payload type. */ 39 | @property(nonatomic, assign) int payloadType; 40 | 41 | /** 42 | * The codec MIME subtype. Valid types are listed in: 43 | * http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-2 44 | * 45 | * Several supported types are represented by the constants above. 46 | */ 47 | @property(nonatomic, readonly, nonnull) NSString *name; 48 | 49 | /** 50 | * The media type of this codec. Equivalent to MIME top-level type. 51 | * 52 | * Valid values are kRTCMediaStreamTrackKindAudio and 53 | * kRTCMediaStreamTrackKindVideo. 54 | */ 55 | @property(nonatomic, readonly, nonnull) NSString *kind; 56 | 57 | /** The codec clock rate expressed in Hertz. */ 58 | @property(nonatomic, readonly, nullable) NSNumber *clockRate; 59 | 60 | /** 61 | * The number of channels (mono=1, stereo=2). 62 | * Set to null for video codecs. 63 | **/ 64 | @property(nonatomic, readonly, nullable) NSNumber *numChannels; 65 | 66 | /** The "format specific parameters" field from the "a=fmtp" line in the SDP */ 67 | @property(nonatomic, readonly, nonnull) NSDictionary *parameters; 68 | 69 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 70 | 71 | @end 72 | 73 | NS_ASSUME_NONNULL_END 74 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCRtpEncodingParameters.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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTCRtpEncodingParameters : NSObject 19 | 20 | /** Controls whether the encoding is currently transmitted. */ 21 | @property(nonatomic, assign) BOOL isActive; 22 | 23 | /** The maximum bitrate to use for the encoding, or nil if there is no 24 | * limit. 25 | */ 26 | @property(nonatomic, copy, nullable) NSNumber *maxBitrateBps; 27 | 28 | /** The minimum bitrate to use for the encoding, or nil if there is no 29 | * limit. 30 | */ 31 | @property(nonatomic, copy, nullable) NSNumber *minBitrateBps; 32 | 33 | /** The maximum framerate to use for the encoding, or nil if there is no 34 | * limit. 35 | */ 36 | @property(nonatomic, copy, nullable) NSNumber *maxFramerate; 37 | 38 | /** The requested number of temporal layers to use for the encoding, or nil 39 | * if the default should be used. 40 | */ 41 | @property(nonatomic, copy, nullable) NSNumber *numTemporalLayers; 42 | 43 | /** The SSRC being used by this encoding. */ 44 | @property(nonatomic, readonly, nullable) NSNumber *ssrc; 45 | 46 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 47 | 48 | @end 49 | 50 | NS_ASSUME_NONNULL_END 51 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCRtpFragmentationHeader.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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** Information for header. Corresponds to webrtc::RTPFragmentationHeader. */ 18 | RTC_OBJC_EXPORT 19 | @interface RTCRtpFragmentationHeader : NSObject 20 | 21 | @property(nonatomic, strong) NSArray *fragmentationOffset; 22 | @property(nonatomic, strong) NSArray *fragmentationLength; 23 | @property(nonatomic, strong) NSArray *fragmentationTimeDiff; 24 | @property(nonatomic, strong) NSArray *fragmentationPlType; 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface 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 NS_DESIGNATED_INITIALIZER; 30 | 31 | @end 32 | 33 | NS_ASSUME_NONNULL_END 34 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCRtpParameters.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 "RTCMacros.h" 14 | #import "RTCRtcpParameters.h" 15 | #import "RTCRtpCodecParameters.h" 16 | #import "RTCRtpEncodingParameters.h" 17 | #import "RTCRtpHeaderExtension.h" 18 | 19 | NS_ASSUME_NONNULL_BEGIN 20 | 21 | RTC_OBJC_EXPORT 22 | @interface RTCRtpParameters : NSObject 23 | 24 | /** A unique identifier for the last set of parameters applied. */ 25 | @property(nonatomic, copy) NSString *transactionId; 26 | 27 | /** Parameters used for RTCP. */ 28 | @property(nonatomic, readonly, copy) RTCRtcpParameters *rtcp; 29 | 30 | /** An array containing parameters for RTP header extensions. */ 31 | @property(nonatomic, readonly, copy) NSArray *headerExtensions; 32 | 33 | /** The currently active encodings in the order of preference. */ 34 | @property(nonatomic, copy) NSArray *encodings; 35 | 36 | /** The negotiated set of send codecs in order of preference. */ 37 | @property(nonatomic, copy) NSArray *codecs; 38 | 39 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 40 | 41 | @end 42 | 43 | NS_ASSUME_NONNULL_END 44 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCRtpReceiver.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 "RTCMacros.h" 14 | #import "RTCMediaStreamTrack.h" 15 | #import "RTCRtpParameters.h" 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | /** Represents the media type of the RtpReceiver. */ 20 | typedef NS_ENUM(NSInteger, RTCRtpMediaType) { 21 | RTCRtpMediaTypeAudio, 22 | RTCRtpMediaTypeVideo, 23 | RTCRtpMediaTypeData, 24 | }; 25 | 26 | @class RTCRtpReceiver; 27 | 28 | RTC_OBJC_EXPORT 29 | @protocol RTCRtpReceiverDelegate 30 | 31 | /** Called when the first RTP packet is received. 32 | * 33 | * Note: Currently if there are multiple RtpReceivers of the same media type, 34 | * they will all call OnFirstPacketReceived at once. 35 | * 36 | * For example, if we create three audio receivers, A/B/C, they will listen to 37 | * the same signal from the underneath network layer. Whenever the first audio packet 38 | * is received, the underneath signal will be fired. All the receivers A/B/C will be 39 | * notified and the callback of the receiver's delegate will be called. 40 | * 41 | * The process is the same for video receivers. 42 | */ 43 | - (void)rtpReceiver:(RTCRtpReceiver *)rtpReceiver 44 | didReceiveFirstPacketForMediaType:(RTCRtpMediaType)mediaType; 45 | 46 | @end 47 | 48 | RTC_OBJC_EXPORT 49 | @protocol RTCRtpReceiver 50 | 51 | /** A unique identifier for this receiver. */ 52 | @property(nonatomic, readonly) NSString *receiverId; 53 | 54 | /** The currently active RTCRtpParameters, as defined in 55 | * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters. 56 | * 57 | * The WebRTC specification only defines RTCRtpParameters in terms of senders, 58 | * but this API also applies them to receivers, similar to ORTC: 59 | * http://ortc.org/wp-content/uploads/2016/03/ortc.html#rtcrtpparameters*. 60 | */ 61 | @property(nonatomic, readonly) RTCRtpParameters *parameters; 62 | 63 | /** The RTCMediaStreamTrack associated with the receiver. 64 | * Note: reading this property returns a new instance of 65 | * RTCMediaStreamTrack. Use isEqual: instead of == to compare 66 | * RTCMediaStreamTrack instances. 67 | */ 68 | @property(nonatomic, readonly, nullable) RTCMediaStreamTrack *track; 69 | 70 | /** The delegate for this RtpReceiver. */ 71 | @property(nonatomic, weak) id delegate; 72 | 73 | @end 74 | 75 | RTC_OBJC_EXPORT 76 | @interface RTCRtpReceiver : NSObject 77 | 78 | - (instancetype)init NS_UNAVAILABLE; 79 | 80 | @end 81 | 82 | NS_ASSUME_NONNULL_END 83 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCDtmfSender.h" 14 | #import "RTCMacros.h" 15 | #import "RTCMediaStreamTrack.h" 16 | #import "RTCRtpParameters.h" 17 | 18 | NS_ASSUME_NONNULL_BEGIN 19 | 20 | RTC_OBJC_EXPORT 21 | @protocol RTCRtpSender 22 | 23 | /** A unique identifier for this sender. */ 24 | @property(nonatomic, readonly) NSString *senderId; 25 | 26 | /** The currently active RTCRtpParameters, as defined in 27 | * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters. 28 | */ 29 | @property(nonatomic, copy) RTCRtpParameters *parameters; 30 | 31 | /** The RTCMediaStreamTrack associated with the sender. 32 | * Note: reading this property returns a new instance of 33 | * RTCMediaStreamTrack. Use isEqual: instead of == to compare 34 | * RTCMediaStreamTrack instances. 35 | */ 36 | @property(nonatomic, copy, nullable) RTCMediaStreamTrack *track; 37 | 38 | /** The RTCDtmfSender accociated with the RTP sender. */ 39 | @property(nonatomic, readonly, nullable) id dtmfSender; 40 | 41 | @end 42 | 43 | RTC_OBJC_EXPORT 44 | @interface RTCRtpSender : NSObject 45 | 46 | - (instancetype)init NS_UNAVAILABLE; 47 | 48 | @end 49 | 50 | NS_ASSUME_NONNULL_END 51 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCRtpTransceiver.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 "RTCMacros.h" 14 | #import "RTCRtpReceiver.h" 15 | #import "RTCRtpSender.h" 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | /** https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiverdirection */ 20 | typedef NS_ENUM(NSInteger, RTCRtpTransceiverDirection) { 21 | RTCRtpTransceiverDirectionSendRecv, 22 | RTCRtpTransceiverDirectionSendOnly, 23 | RTCRtpTransceiverDirectionRecvOnly, 24 | RTCRtpTransceiverDirectionInactive, 25 | }; 26 | 27 | /** Structure for initializing an RTCRtpTransceiver in a call to 28 | * RTCPeerConnection.addTransceiver. 29 | * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiverinit 30 | */ 31 | @interface RTCRtpTransceiverInit : NSObject 32 | 33 | /** Direction of the RTCRtpTransceiver. See RTCRtpTransceiver.direction. */ 34 | @property(nonatomic) RTCRtpTransceiverDirection direction; 35 | 36 | /** The added RTCRtpTransceiver will be added to these streams. */ 37 | @property(nonatomic) NSArray *streamIds; 38 | 39 | /** TODO(bugs.webrtc.org/7600): Not implemented. */ 40 | @property(nonatomic) NSArray *sendEncodings; 41 | 42 | @end 43 | 44 | @class RTCRtpTransceiver; 45 | 46 | /** The RTCRtpTransceiver maps to the RTCRtpTransceiver defined by the WebRTC 47 | * specification. A transceiver represents a combination of an RTCRtpSender 48 | * and an RTCRtpReceiver that share a common mid. As defined in JSEP, an 49 | * RTCRtpTransceiver is said to be associated with a media description if its 50 | * mid property is non-nil; otherwise, it is said to be disassociated. 51 | * JSEP: https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24 52 | * 53 | * Note that RTCRtpTransceivers are only supported when using 54 | * RTCPeerConnection with Unified Plan SDP. 55 | * 56 | * WebRTC specification for RTCRtpTransceiver, the JavaScript analog: 57 | * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver 58 | */ 59 | RTC_OBJC_EXPORT 60 | @protocol RTCRtpTransceiver 61 | 62 | /** Media type of the transceiver. The sender and receiver will also have this 63 | * type. 64 | */ 65 | @property(nonatomic, readonly) RTCRtpMediaType mediaType; 66 | 67 | /** The mid attribute is the mid negotiated and present in the local and 68 | * remote descriptions. Before negotiation is complete, the mid value may be 69 | * nil. After rollbacks, the value may change from a non-nil value to nil. 70 | * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-mid 71 | */ 72 | @property(nonatomic, readonly) NSString *mid; 73 | 74 | /** The sender attribute exposes the RTCRtpSender corresponding to the RTP 75 | * media that may be sent with the transceiver's mid. The sender is always 76 | * present, regardless of the direction of media. 77 | * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-sender 78 | */ 79 | @property(nonatomic, readonly) RTCRtpSender *sender; 80 | 81 | /** The receiver attribute exposes the RTCRtpReceiver corresponding to the RTP 82 | * media that may be received with the transceiver's mid. The receiver is 83 | * always present, regardless of the direction of media. 84 | * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-receiver 85 | */ 86 | @property(nonatomic, readonly) RTCRtpReceiver *receiver; 87 | 88 | /** The isStopped attribute indicates that the sender of this transceiver will 89 | * no longer send, and that the receiver will no longer receive. It is true if 90 | * either stop has been called or if setting the local or remote description 91 | * has caused the RTCRtpTransceiver to be stopped. 92 | * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stopped 93 | */ 94 | @property(nonatomic, readonly) BOOL isStopped; 95 | 96 | /** The direction attribute indicates the preferred direction of this 97 | * transceiver, which will be used in calls to createOffer and createAnswer. 98 | * An update of directionality does not take effect immediately. Instead, 99 | * future calls to createOffer and createAnswer mark the corresponding media 100 | * descriptions as sendrecv, sendonly, recvonly, or inactive. 101 | * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction 102 | */ 103 | @property(nonatomic) RTCRtpTransceiverDirection direction; 104 | 105 | /** The currentDirection attribute indicates the current direction negotiated 106 | * for this transceiver. If this transceiver has never been represented in an 107 | * offer/answer exchange, or if the transceiver is stopped, the value is not 108 | * present and this method returns NO. 109 | * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-currentdirection 110 | */ 111 | - (BOOL)currentDirection:(RTCRtpTransceiverDirection *)currentDirectionOut; 112 | 113 | /** The stop method irreversibly stops the RTCRtpTransceiver. The sender of 114 | * this transceiver will no longer send, the receiver will no longer receive. 115 | * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stop 116 | */ 117 | - (void)stop; 118 | 119 | @end 120 | 121 | RTC_OBJC_EXPORT 122 | @interface RTCRtpTransceiver : NSObject 123 | 124 | - (instancetype)init NS_UNAVAILABLE; 125 | 126 | @end 127 | 128 | NS_ASSUME_NONNULL_END 129 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 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 | }; 24 | 25 | NS_ASSUME_NONNULL_BEGIN 26 | 27 | RTC_OBJC_EXPORT 28 | @interface RTCSessionDescription : NSObject 29 | 30 | /** The type of session description. */ 31 | @property(nonatomic, readonly) RTCSdpType type; 32 | 33 | /** The SDP string representation of this session description. */ 34 | @property(nonatomic, readonly) NSString *sdp; 35 | 36 | - (instancetype)init NS_UNAVAILABLE; 37 | 38 | /** Initialize a session description with a type and SDP string. */ 39 | - (instancetype)initWithType:(RTCSdpType)type sdp:(NSString *)sdp NS_DESIGNATED_INITIALIZER; 40 | 41 | + (NSString *)stringForType:(RTCSdpType)type; 42 | 43 | + (RTCSdpType)typeForString:(NSString *)string; 44 | 45 | @end 46 | 47 | NS_ASSUME_NONNULL_END 48 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCVideoFrame.h" 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @class RTCVideoCapturer; 18 | 19 | RTC_OBJC_EXPORT 20 | @protocol RTCVideoCapturerDelegate 21 | - (void)capturer:(RTCVideoCapturer *)capturer didCaptureVideoFrame:(RTCVideoFrame *)frame; 22 | @end 23 | 24 | RTC_OBJC_EXPORT 25 | @interface RTCVideoCapturer : NSObject 26 | 27 | @property(nonatomic, weak) id delegate; 28 | 29 | - (instancetype)initWithDelegate:(id)delegate; 30 | 31 | @end 32 | 33 | NS_ASSUME_NONNULL_END 34 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** Holds information to identify a codec. Corresponds to webrtc::SdpVideoFormat. */ 18 | RTC_OBJC_EXPORT 19 | @interface 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:(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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCCodecSpecificInfo.h" 14 | #import "RTCEncodedImage.h" 15 | #import "RTCMacros.h" 16 | #import "RTCVideoEncoderSettings.h" 17 | #import "RTCVideoFrame.h" 18 | 19 | NS_ASSUME_NONNULL_BEGIN 20 | 21 | /** Callback block for decoder. */ 22 | typedef void (^RTCVideoDecoderCallback)(RTCVideoFrame *frame); 23 | 24 | /** Protocol for decoder implementations. */ 25 | RTC_OBJC_EXPORT 26 | @protocol RTCVideoDecoder 27 | 28 | - (void)setCallback:(RTCVideoDecoderCallback)callback; 29 | - (NSInteger)startDecodeWithSettings:(RTCVideoEncoderSettings *)settings 30 | numberOfCores:(int)numberOfCores 31 | DEPRECATED_MSG_ATTRIBUTE("use startDecodeWithNumberOfCores: instead"); 32 | - (NSInteger)releaseDecoder; 33 | - (NSInteger)decode:(RTCEncodedImage *)encodedImage 34 | missingFrames:(BOOL)missingFrames 35 | codecSpecificInfo:(nullable id)info 36 | renderTimeMs:(int64_t)renderTimeMs; 37 | - (NSString *)implementationName; 38 | 39 | // TODO(andersc): Make non-optional when `startDecodeWithSettings:numberOfCores:` is removed. 40 | @optional 41 | - (NSInteger)startDecodeWithNumberOfCores:(int)numberOfCores; 42 | 43 | @end 44 | 45 | NS_ASSUME_NONNULL_END 46 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoCodecInfo.h" 15 | #import "RTCVideoDecoder.h" 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | /** RTCVideoDecoderFactory is an Objective-C version of webrtc::VideoDecoderFactory. */ 20 | RTC_OBJC_EXPORT 21 | @protocol RTCVideoDecoderFactory 22 | 23 | - (nullable id)createDecoder:(RTCVideoCodecInfo *)info; 24 | - (NSArray *)supportedCodecs; // TODO(andersc): "supportedFormats" instead? 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoDecoderFactory.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTCVideoDecoderFactoryH264 : NSObject 18 | @end 19 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoDecoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTCVideoDecoderH264 : NSObject 18 | @end 19 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoDecoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoDecoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface 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 | @end 26 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCVideoEncoder.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 "RTCCodecSpecificInfo.h" 14 | #import "RTCEncodedImage.h" 15 | #import "RTCMacros.h" 16 | #import "RTCRtpFragmentationHeader.h" 17 | #import "RTCVideoEncoderQpThresholds.h" 18 | #import "RTCVideoEncoderSettings.h" 19 | #import "RTCVideoFrame.h" 20 | 21 | NS_ASSUME_NONNULL_BEGIN 22 | 23 | /** Callback block for encoder. */ 24 | typedef BOOL (^RTCVideoEncoderCallback)(RTCEncodedImage *frame, 25 | id info, 26 | RTCRtpFragmentationHeader *header); 27 | 28 | /** Protocol for encoder implementations. */ 29 | RTC_OBJC_EXPORT 30 | @protocol RTCVideoEncoder 31 | 32 | - (void)setCallback:(RTCVideoEncoderCallback)callback; 33 | - (NSInteger)startEncodeWithSettings:(RTCVideoEncoderSettings *)settings 34 | numberOfCores:(int)numberOfCores; 35 | - (NSInteger)releaseEncoder; 36 | - (NSInteger)encode:(RTCVideoFrame *)frame 37 | codecSpecificInfo:(nullable id)info 38 | frameTypes:(NSArray *)frameTypes; 39 | - (int)setBitrate:(uint32_t)bitrateKbit framerate:(uint32_t)framerate; 40 | - (NSString *)implementationName; 41 | 42 | /** Returns QP scaling settings for encoder. The quality scaler adjusts the resolution in order to 43 | * keep the QP from the encoded images within the given range. Returning nil from this function 44 | * disables quality scaling. */ 45 | - (nullable RTCVideoEncoderQpThresholds *)scalingSettings; 46 | 47 | @end 48 | 49 | NS_ASSUME_NONNULL_END 50 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoCodecInfo.h" 15 | #import "RTCVideoEncoder.h" 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | /** RTCVideoEncoderFactory is an Objective-C version of webrtc::VideoEncoderFactory. */ 20 | RTC_OBJC_EXPORT 21 | @protocol RTCVideoEncoderFactory 22 | 23 | - (nullable id)createEncoder:(RTCVideoCodecInfo *)info; 24 | - (NSArray *)supportedCodecs; // TODO(andersc): "supportedFormats" instead? 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoEncoderFactory.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTCVideoEncoderFactoryH264 : NSObject 18 | @end 19 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoCodecInfo.h" 15 | #import "RTCVideoEncoder.h" 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTCVideoEncoderH264 : NSObject 19 | 20 | - (instancetype)initWithCodecInfo:(RTCVideoCodecInfo *)codecInfo; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** QP thresholds for encoder. Corresponds to webrtc::VideoEncoder::QpThresholds. */ 18 | RTC_OBJC_EXPORT 19 | @interface 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 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 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 | @property(nonatomic, assign) unsigned int targetBitrate; 35 | 36 | @property(nonatomic, assign) uint32_t maxFramerate; 37 | 38 | @property(nonatomic, assign) unsigned int qpMax; 39 | @property(nonatomic, assign) RTCVideoCodecMode mode; 40 | 41 | @end 42 | 43 | NS_ASSUME_NONNULL_END 44 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoEncoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoEncoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface 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 | @end 26 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/RTCVideoFrame.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 "RTCMacros.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | typedef NS_ENUM(NSInteger, RTCVideoRotation) { 19 | RTCVideoRotation_0 = 0, 20 | RTCVideoRotation_90 = 90, 21 | RTCVideoRotation_180 = 180, 22 | RTCVideoRotation_270 = 270, 23 | }; 24 | 25 | @protocol RTCVideoFrameBuffer; 26 | 27 | // RTCVideoFrame is an ObjectiveC version of webrtc::VideoFrame. 28 | RTC_OBJC_EXPORT 29 | @interface RTCVideoFrame : NSObject 30 | 31 | /** Width without rotation applied. */ 32 | @property(nonatomic, readonly) int width; 33 | 34 | /** Height without rotation applied. */ 35 | @property(nonatomic, readonly) int height; 36 | @property(nonatomic, readonly) RTCVideoRotation rotation; 37 | 38 | /** Timestamp in nanoseconds. */ 39 | @property(nonatomic, readonly) int64_t timeStampNs; 40 | 41 | /** Timestamp 90 kHz. */ 42 | @property(nonatomic, assign) int32_t timeStamp; 43 | 44 | @property(nonatomic, readonly) id buffer; 45 | 46 | - (instancetype)init NS_UNAVAILABLE; 47 | - (instancetype) new NS_UNAVAILABLE; 48 | 49 | /** Initialize an RTCVideoFrame from a pixel buffer, rotation, and timestamp. 50 | * Deprecated - initialize with a RTCCVPixelBuffer instead 51 | */ 52 | - (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer 53 | rotation:(RTCVideoRotation)rotation 54 | timeStampNs:(int64_t)timeStampNs 55 | DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead"); 56 | 57 | /** Initialize an RTCVideoFrame from a pixel buffer combined with cropping and 58 | * scaling. Cropping will be applied first on the pixel buffer, followed by 59 | * scaling to the final resolution of scaledWidth x scaledHeight. 60 | */ 61 | - (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer 62 | scaledWidth:(int)scaledWidth 63 | scaledHeight:(int)scaledHeight 64 | cropWidth:(int)cropWidth 65 | cropHeight:(int)cropHeight 66 | cropX:(int)cropX 67 | cropY:(int)cropY 68 | rotation:(RTCVideoRotation)rotation 69 | timeStampNs:(int64_t)timeStampNs 70 | DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead"); 71 | 72 | /** Initialize an RTCVideoFrame from a frame buffer, rotation, and timestamp. 73 | */ 74 | - (instancetype)initWithBuffer:(id)frameBuffer 75 | rotation:(RTCVideoRotation)rotation 76 | timeStampNs:(int64_t)timeStampNs; 77 | 78 | /** Return a frame that is guaranteed to be I420, i.e. it is possible to access 79 | * the YUV data on it. 80 | */ 81 | - (RTCVideoFrame *)newI420VideoFrame; 82 | 83 | @end 84 | 85 | NS_ASSUME_NONNULL_END 86 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @protocol RTCI420Buffer; 18 | 19 | // RTCVideoFrameBuffer is an ObjectiveC version of webrtc::VideoFrameBuffer. 20 | RTC_OBJC_EXPORT 21 | @protocol RTCVideoFrameBuffer 22 | 23 | @property(nonatomic, readonly) int width; 24 | @property(nonatomic, readonly) int height; 25 | 26 | - (id)toI420; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 17 | 18 | NS_ASSUME_NONNULL_BEGIN 19 | 20 | @class RTCVideoFrame; 21 | 22 | RTC_OBJC_EXPORT 23 | @protocol RTCVideoRenderer 24 | 25 | /** The size of the frame. */ 26 | - (void)setSize:(CGSize)size; 27 | 28 | /** The frame to be displayed. */ 29 | - (void)renderFrame:(nullable RTCVideoFrame *)frame; 30 | 31 | @end 32 | 33 | RTC_OBJC_EXPORT 34 | @protocol RTCVideoViewDelegate 35 | 36 | - (void)videoView:(id)videoView didChangeVideoSize:(CGSize)size; 37 | 38 | @end 39 | 40 | NS_ASSUME_NONNULL_END 41 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCMediaSource.h" 15 | #import "RTCVideoCapturer.h" 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | RTC_OBJC_EXPORT 20 | 21 | @interface RTCVideoSource : 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 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMediaStreamTrack.h" 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @protocol RTCVideoRenderer; 18 | @class RTCPeerConnectionFactory; 19 | @class RTCVideoSource; 20 | 21 | RTC_OBJC_EXPORT 22 | @interface RTCVideoTrack : RTCMediaStreamTrack 23 | 24 | /** The video source for this video track. */ 25 | @property(nonatomic, readonly) RTCVideoSource *source; 26 | 27 | - (instancetype)init NS_UNAVAILABLE; 28 | 29 | /** Register a renderer that will render all frames received on this track. */ 30 | - (void)addRenderer:(id)renderer; 31 | 32 | /** Deregister a renderer. */ 33 | - (void)removeRenderer:(id)renderer; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCVideoFrame.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** 18 | * RTCVideoViewShading provides a way for apps to customize the OpenGL(ES) shaders used in 19 | * rendering for the RTCEAGLVideoView/RTCNSGLVideoView. 20 | */ 21 | RTC_OBJC_EXPORT 22 | @protocol RTCVideoViewShading 23 | 24 | /** Callback for I420 frames. Each plane is given as a texture. */ 25 | - (void)applyShadingForFrameWithWidth:(int)width 26 | height:(int)height 27 | rotation:(RTCVideoRotation)rotation 28 | yPlane:(GLuint)yPlane 29 | uPlane:(GLuint)uPlane 30 | vPlane:(GLuint)vPlane; 31 | 32 | /** Callback for NV12 frames. Each plane is given as a texture. */ 33 | - (void)applyShadingForFrameWithWidth:(int)width 34 | height:(int)height 35 | rotation:(RTCVideoRotation)rotation 36 | yPlane:(GLuint)yPlane 37 | uvPlane:(GLuint)uvPlane; 38 | 39 | @end 40 | 41 | NS_ASSUME_NONNULL_END 42 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/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 "RTCMacros.h" 14 | #import "RTCVideoFrameBuffer.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | /** Protocol for RTCVideoFrameBuffers containing YUV planar data. */ 19 | RTC_OBJC_EXPORT 20 | @protocol RTCYUVPlanarBuffer 21 | 22 | @property(nonatomic, readonly) int chromaWidth; 23 | @property(nonatomic, readonly) int chromaHeight; 24 | @property(nonatomic, readonly) const uint8_t *dataY; 25 | @property(nonatomic, readonly) const uint8_t *dataU; 26 | @property(nonatomic, readonly) const uint8_t *dataV; 27 | @property(nonatomic, readonly) int strideY; 28 | @property(nonatomic, readonly) int strideU; 29 | @property(nonatomic, readonly) int strideV; 30 | 31 | - (instancetype)initWithWidth:(int)width 32 | height:(int)height 33 | dataY:(const uint8_t *)dataY 34 | dataU:(const uint8_t *)dataU 35 | dataV:(const uint8_t *)dataV; 36 | - (instancetype)initWithWidth:(int)width height:(int)height; 37 | - (instancetype)initWithWidth:(int)width 38 | height:(int)height 39 | strideY:(int)strideY 40 | strideU:(int)strideU 41 | strideV:(int)strideV; 42 | 43 | @end 44 | 45 | NS_ASSUME_NONNULL_END 46 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Headers/WebRTC.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 | #import 13 | #import 14 | #import 15 | #import 16 | #import 17 | #import 18 | #import 19 | #import 20 | #import 21 | #import 22 | #import 23 | #import 24 | #import 25 | #import 26 | #import 27 | #import 28 | #import 29 | #import 30 | #import 31 | #import 32 | #import 33 | #import 34 | #import 35 | #import 36 | #import 37 | #import 38 | #import 39 | #import 40 | #import 41 | #import 42 | #import 43 | #import 44 | #import 45 | #import 46 | #import 47 | #import 48 | #import 49 | #import 50 | #import 51 | #import 52 | #import 53 | #import 54 | #import 55 | #import 56 | #import 57 | #import 58 | #import 59 | #import 60 | #import 61 | #import 62 | #import 63 | #import 64 | #import 65 | #import 66 | #import 67 | #import 68 | #import 69 | #import 70 | #import 71 | #import 72 | #import 73 | #import 74 | #import 75 | #import 76 | #import 77 | #import 78 | #import 79 | #import 80 | #import 81 | #import 82 | #import 83 | #import 84 | #import 85 | #import 86 | #import 87 | #import 88 | #import 89 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module WebRTC { 2 | umbrella header "WebRTC.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 17G65 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | WebRTC 11 | CFBundleIdentifier 12 | org.webrtc.WebRTC 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | WebRTC 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | DTCompiler 26 | com.apple.compilers.llvm.clang.1_0 27 | DTSDKBuild 28 | 10.14 29 | DTSDKName 30 | macosx10.14 31 | DTXcode 32 | 1000 33 | DTXcodeBuild 34 | 10L232m 35 | NSPrincipalClass 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/A/WebRTC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DSPerson/WebRTCMacFramework/63d5d7af3b2cd1ee0581831feab2d46be7a3fcc2/WeBR/WeBR/WebRTC.framework/Versions/A/WebRTC -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /WeBR/WeBR/WebRTC.framework/WebRTC: -------------------------------------------------------------------------------- 1 | Versions/Current/WebRTC -------------------------------------------------------------------------------- /WeBR/WeBR/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // WeBR 4 | // 5 | // Created by ds on 2018/11/1. 6 | // Copyright © 2018年 bat. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, const char * argv[]) { 12 | return NSApplicationMain(argc, argv); 13 | } 14 | --------------------------------------------------------------------------------