├── .gitignore ├── CHANGELOG.md ├── README.md ├── RemoteMonster.xcframework ├── Info.plist ├── ios-arm64_armv7 │ └── RemoteMonster.framework │ │ ├── Headers │ │ ├── ARDSDPUtils.h │ │ ├── RemonCall.swift │ │ ├── RemonCast.swift │ │ ├── RemonClient.swift │ │ ├── RemoteMonster-Swift.h │ │ ├── RemoteMonster.h │ │ └── SwiftWebSocket.h │ │ ├── Info.plist │ │ ├── Modules │ │ ├── RemoteMonster.swiftmodule │ │ │ ├── arm.swiftdoc │ │ │ ├── arm.swiftinterface │ │ │ ├── arm64-apple-ios.swiftdoc │ │ │ ├── arm64-apple-ios.swiftinterface │ │ │ ├── arm64.swiftdoc │ │ │ ├── arm64.swiftinterface │ │ │ ├── armv7-apple-ios.swiftdoc │ │ │ ├── armv7-apple-ios.swiftinterface │ │ │ ├── armv7.swiftdoc │ │ │ └── armv7.swiftinterface │ │ └── module.modulemap │ │ ├── RemoteMonster │ │ └── debug.proto └── ios-i386_x86_64-simulator │ └── RemoteMonster.framework │ ├── Headers │ ├── ARDSDPUtils.h │ ├── RemonCall.swift │ ├── RemonCast.swift │ ├── RemonClient.swift │ ├── RemoteMonster-Swift.h │ ├── RemoteMonster.h │ └── SwiftWebSocket.h │ ├── Info.plist │ ├── Modules │ ├── RemoteMonster.swiftmodule │ │ ├── i386-apple-ios-simulator.swiftdoc │ │ ├── i386-apple-ios-simulator.swiftinterface │ │ ├── i386.swiftdoc │ │ ├── i386.swiftinterface │ │ ├── x86_64-apple-ios-simulator.swiftdoc │ │ ├── x86_64-apple-ios-simulator.swiftinterface │ │ ├── x86_64.swiftdoc │ │ └── x86_64.swiftinterface │ └── module.modulemap │ ├── RemoteMonster │ ├── _CodeSignature │ └── CodeResources │ └── debug.proto ├── WebRTC.framework ├── Headers │ ├── RTCAudioSession.h │ ├── RTCAudioSessionConfiguration.h │ ├── RTCAudioSource.h │ ├── RTCAudioTrack.h │ ├── RTCCVPixelBuffer.h │ ├── RTCCallbackLogger.h │ ├── RTCCameraPreviewView.h │ ├── RTCCameraVideoCapturer.h │ ├── RTCCertificate.h │ ├── RTCCodecSpecificInfo.h │ ├── RTCCodecSpecificInfoH264.h │ ├── RTCConfiguration.h │ ├── RTCCryptoOptions.h │ ├── RTCDataChannel.h │ ├── RTCDataChannelConfiguration.h │ ├── RTCDefaultVideoDecoderFactory.h │ ├── RTCDefaultVideoEncoderFactory.h │ ├── RTCDispatcher.h │ ├── RTCDtmfSender.h │ ├── RTCEAGLVideoView.h │ ├── RTCEncodedImage.h │ ├── RTCFieldTrials.h │ ├── RTCFileLogger.h │ ├── RTCFileVideoCapturer.h │ ├── RTCH264ProfileLevelId.h │ ├── RTCI420Buffer.h │ ├── RTCIceCandidate.h │ ├── RTCIceServer.h │ ├── RTCLegacyStatsReport.h │ ├── RTCLogging.h │ ├── RTCMTLVideoView.h │ ├── RTCMacros.h │ ├── RTCMediaConstraints.h │ ├── RTCMediaSource.h │ ├── RTCMediaStream.h │ ├── RTCMediaStreamTrack.h │ ├── RTCMetrics.h │ ├── RTCMetricsSampleInfo.h │ ├── RTCMutableI420Buffer.h │ ├── RTCMutableYUVPlanarBuffer.h │ ├── RTCNativeI420Buffer.h │ ├── RTCNativeMutableI420Buffer.h │ ├── RTCPeerConnection.h │ ├── RTCPeerConnectionFactory.h │ ├── RTCPeerConnectionFactoryOptions.h │ ├── RTCRemonAudioDevice.h │ ├── RTCRemonAudioProcessing.h │ ├── RTCRtcpParameters.h │ ├── RTCRtpCodecParameters.h │ ├── RTCRtpEncodingParameters.h │ ├── RTCRtpFragmentationHeader.h │ ├── RTCRtpHeaderExtension.h │ ├── RTCRtpParameters.h │ ├── RTCRtpReceiver.h │ ├── RTCRtpSender.h │ ├── RTCRtpTransceiver.h │ ├── RTCSSLAdapter.h │ ├── RTCSessionDescription.h │ ├── RTCStatisticsReport.h │ ├── RTCTracing.h │ ├── RTCVideoCapturer.h │ ├── RTCVideoCodecConstants.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 │ ├── UIDevice+RTCDevice.h │ └── WebRTC.h ├── Info.plist ├── LICENSE.md ├── Modules │ └── module.modulemap └── WebRTC ├── docs ├── .gitkeep ├── Classes.html ├── Classes │ ├── RemonCall.html │ ├── RemonCast.html │ ├── RemonClient.html │ ├── RemonConference.html │ ├── RemonConferenceCallbacks.html │ ├── RemonConfig.html │ ├── RemonParticipant.html │ └── WebSocket.html ├── Enums.html ├── Enums │ ├── RemonAudioMode.html │ ├── RemonCloseType.html │ ├── RemonError.html │ ├── RemonState.html │ ├── WebSocketBinaryType.html │ └── WebSocketReadyState.html ├── Extensions.html ├── Global Variables.html ├── Protocols.html ├── Protocols │ └── WebSocketDelegate.html ├── Structs.html ├── Structs │ ├── WebSocketCompression.html │ ├── WebSocketEvents.html │ └── WebSocketService.html ├── badge.svg ├── css │ ├── highlight.css │ └── jazzy.css ├── docsets │ ├── .docset │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Resources │ │ │ ├── Documents │ │ │ ├── Classes.html │ │ │ ├── Classes │ │ │ │ ├── RemonCall.html │ │ │ │ ├── RemonCast.html │ │ │ │ ├── RemonClient.html │ │ │ │ ├── RemonConference.html │ │ │ │ ├── RemonConferenceCallbacks.html │ │ │ │ ├── RemonConfig.html │ │ │ │ ├── RemonParticipant.html │ │ │ │ └── WebSocket.html │ │ │ ├── Enums.html │ │ │ ├── Enums │ │ │ │ ├── RemonAudioMode.html │ │ │ │ ├── RemonCloseType.html │ │ │ │ ├── RemonError.html │ │ │ │ ├── RemonState.html │ │ │ │ ├── WebSocketBinaryType.html │ │ │ │ └── WebSocketReadyState.html │ │ │ ├── Extensions.html │ │ │ ├── Global Variables.html │ │ │ ├── Protocols.html │ │ │ ├── Protocols │ │ │ │ └── WebSocketDelegate.html │ │ │ ├── Structs.html │ │ │ ├── Structs │ │ │ │ ├── WebSocketCompression.html │ │ │ │ ├── WebSocketEvents.html │ │ │ │ └── WebSocketService.html │ │ │ ├── badge.svg │ │ │ ├── css │ │ │ │ ├── highlight.css │ │ │ │ └── jazzy.css │ │ │ ├── img │ │ │ │ ├── carat.png │ │ │ │ ├── dash.png │ │ │ │ ├── gh.png │ │ │ │ └── spinner.gif │ │ │ ├── index.html │ │ │ ├── js │ │ │ │ ├── jazzy.js │ │ │ │ ├── jazzy.search.js │ │ │ │ ├── jquery.min.js │ │ │ │ ├── lunr.min.js │ │ │ │ └── typeahead.jquery.js │ │ │ ├── search.json │ │ │ └── undocumented.json │ │ │ └── docSet.dsidx │ └── .tgz ├── img │ ├── carat.png │ ├── dash.png │ ├── gh.png │ └── spinner.gif ├── index.html ├── js │ ├── jazzy.js │ ├── jazzy.search.js │ ├── jquery.min.js │ ├── lunr.min.js │ └── typeahead.jquery.js ├── search.json └── undocumented.json ├── examples ├── BaseExamples │ ├── BaseExamples.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── Record.xcscheme │ │ │ ├── SimpleObjC.xcscheme │ │ │ └── SimpleRemon.xcscheme │ ├── BaseExamples.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── Podfile │ ├── Podfile.lock │ ├── Record │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── RViewController.swift │ ├── Resources │ │ ├── hamburger-01.png │ │ ├── hamburger-01@2X.png │ │ ├── remon_icon_1024.png │ │ ├── remon_icon_4276.png │ │ ├── remon_identity.png │ │ ├── remon_identityL.png │ │ └── remon_identityL@X2.png │ ├── SimpleObjC │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── SimpleCallViewController.h │ │ ├── SimpleCallViewController.m │ │ ├── SimpleCastViewerViewController.h │ │ ├── SimpleCastViewerViewController.m │ │ ├── SimpleSerchTableViewController.h │ │ ├── SimpleSerchTableViewController.m │ │ ├── SimpleVideoCastViewController.h │ │ ├── SimpleVideoCastViewController.m │ │ ├── main.m │ │ ├── objc_ConfigViewController.h │ │ └── objc_ConfigViewController.m │ └── SimpleRemon │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-120.png │ │ │ ├── Icon-121.png │ │ │ ├── Icon-167.png │ │ │ ├── Icon-180.png │ │ │ ├── Icon-20.png │ │ │ ├── Icon-29.png │ │ │ ├── Icon-40.png │ │ │ ├── Icon-41.png │ │ │ ├── Icon-42.png │ │ │ ├── Icon-58.png │ │ │ ├── Icon-59.png │ │ │ ├── Icon-60.png │ │ │ ├── Icon-76.png │ │ │ ├── Icon-80.png │ │ │ ├── Icon-81.png │ │ │ └── remon_icon_1024.png │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── ConfigViewController.swift │ │ ├── Info.plist │ │ ├── NSLayoutConstraint+Multiplier.swift │ │ ├── RemonSettings.plist │ │ ├── SampleSerchTableViewController.swift │ │ ├── SimpleCallViewController.swift │ │ ├── SimpleCastViewerViewController.swift │ │ ├── SimpleVideoCastViewController.swift │ │ ├── SimpleVoiceCastViewController.swift │ │ ├── VTableViewController.swift │ │ └── ViewController.swift ├── RemonCapturer │ ├── Podfile │ ├── Podfile.lock │ ├── RemonCapturer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── RemonCapturer.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── RemonCapturer │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── SampleCapturerViewController.swift │ └── Resources │ │ └── remon_identity.png ├── RemonExamples │ ├── Info.plist │ ├── Podfile │ ├── Podfile.lock │ ├── RemonEx-objc │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── SimpleCallViewController.h │ │ ├── SimpleCallViewController.m │ │ ├── SimpleCastViewerViewController.h │ │ ├── SimpleCastViewerViewController.m │ │ ├── SimpleSerchTableViewController.h │ │ ├── SimpleSerchTableViewController.m │ │ ├── SimpleVideoCastViewController.h │ │ ├── SimpleVideoCastViewController.m │ │ ├── main.m │ │ ├── objc_ConfigViewController.h │ │ └── objc_ConfigViewController.m │ ├── RemonFull.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── RemonFull.xcscheme │ ├── RemonFull.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── RemonFull │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── ConfigViewController.swift │ │ ├── Info.plist │ │ ├── RemonSettings.plist │ │ ├── SampleSerchTableViewController.swift │ │ ├── SimpleAudioSessionObserver.swift │ │ ├── SimpleCallViewController.swift │ │ ├── SimpleCastViewer.swift │ │ ├── SimpleVideoCast.swift │ │ ├── SimpleVoiceCast.swift │ │ ├── VTableViewController.swift │ │ └── ViewController.swift │ ├── RemonSettings.plist │ └── remonCall │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── GoogleService-Info.plist │ │ ├── Info.plist │ │ ├── RemonCall.entitlements │ │ └── RemonCallViewController.swift ├── SimpleConference │ ├── Podfile │ ├── Podfile.lock │ ├── SimpleConference.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── SimpleConference.xcscheme │ ├── SimpleConference.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── SimpleConference │ │ ├── AppDelegate.swift │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── ConferenceViewController.swift │ │ ├── Info.plist │ │ ├── Resources │ │ │ └── Assets.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ │ ├── Contents.json │ │ │ │ ├── audio_off.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── audio_off.png │ │ │ │ ├── audio_on.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── audio_on.png │ │ │ │ ├── ic_sms_black.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── ic_sms_black_18dp.png │ │ │ │ ├── ic_sms_black_24dp.png │ │ │ │ └── ic_sms_black_48dp.png │ │ │ │ ├── video_off.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── video_off.png │ │ │ │ └── video_on.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── video_on.png │ │ └── SceneDelegate.swift │ └── SimpleConferenceOC │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── SceneDelegate.h │ │ ├── SceneDelegate.m │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m └── SimpleDualCall │ ├── Podfile │ ├── Podfile.lock │ ├── SimpleDualCall.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── swiftpm │ │ │ └── Package.resolved │ └── xcshareddata │ │ └── xcschemes │ │ └── SimpleDualCall.xcscheme │ ├── SimpleDualCall.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── SimpleDualCall │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── MainViewController.swift │ ├── RemonSettings.plist │ ├── SceneDelegate.swift │ └── SimpleViewController.swift └── notice ├── .gitkeep ├── webrtc-LICENSE └── webrtc-PATENTS /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xccheckout 23 | *.xcscmblueprint 24 | 25 | ## Obj-C/Swift specific 26 | *.hmap 27 | *.ipa 28 | *.dSYM.zip 29 | *.dSYM 30 | 31 | ## Playgrounds 32 | timeline.xctimeline 33 | playground.xcworkspace 34 | 35 | # Swift Package Manager 36 | # 37 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 38 | # Packages/ 39 | # Package.pins 40 | .build/ 41 | 42 | # CocoaPods 43 | # 44 | # We recommend against adding the Pods directory to your .gitignore. However 45 | # you should judge for yourself, the pros and cons are mentioned at: 46 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 47 | # 48 | Pods/ 49 | 50 | # Carthage 51 | # 52 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 53 | # Carthage/Checkouts 54 | 55 | Carthage/Build 56 | 57 | # fastlane 58 | # 59 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 60 | # screenshots whenever they are needed. 61 | # For more information about the recommended setup visit: 62 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 63 | 64 | fastlane/report.xml 65 | fastlane/Preview.html 66 | fastlane/screenshots 67 | fastlane/test_output 68 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Pod version](https://badge.fury.io/co/RemoteMonster.svg)](https://cocoapods.org/pods/RemoteMonster) 2 | 3 | # RemoteMonster iOS SDK 4 | 5 | RemoteMonster - Livecast Management in the Cloud 6 | 7 | * [Website](https://remotemonster.com) 8 | 9 | ## Get SDK 10 | 11 | ### Package Manager - Cocoapods 1.9.0 or higher 12 | 13 | ```ruby 14 | # Podfile 15 | use_frameworks! 16 | target 'MyApp' do 17 | pod 'RemoteMonster', '~> 2.7.0' 18 | end 19 | ``` 20 | 21 | ```shell 22 | # shell 23 | 24 | pod install 25 | ``` 26 | 27 | ``` 28 | 사소한 변경사항, Hot fix의 경우 버전은 동일하며 빌드버전만 증가. 29 | 버전이 동일한 SDK를 사용시 기존 캐시 삭제 후 사용. 30 | 캐시위치 : ~/Library/Caches/CocoaPods/Pods/Release/RemoteMonster 31 | 프로젝트 : Podfile.lock, Pods 폴더 삭제 32 | ``` 33 | 34 | ### Downloads 35 | 36 | * [Downloads](https://github.com/RemoteMonster/ios-sdk/releases/) 37 | 38 | 39 | ## Examples 40 | ### Base Example( P2P Call, Cast ) 41 | * [source](https://github.com/RemoteMonster/ios-sdk/tree/master/examples/BaseExamples) 42 | 43 | ### Simple Conference 44 | * [source](https://github.com/RemoteMonster/ios-sdk/tree/master/examples/SimpleConference) 45 | 46 | ### External Sample Capturer 47 | * [source](https://github.com/RemoteMonster/ios-sdk/tree/master/examples/RemonCapturer) 48 | 49 | ### Full features 50 | * [source](https://github.com/RemoteMonster/ios-sdk/tree/master/examples/full) 51 | 52 | ## Documents 53 | 54 | * [Guides](https://docs.remotemonster.com/) 55 | * [API Reference](https://remotemonster.github.io/ios-sdk/) 56 | 57 | ## Changelog 58 | 59 | * [Changelog](https://github.com/RemoteMonster/ios-sdk/blob/master/CHANGELOG.md) 60 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AvailableLibraries 6 | 7 | 8 | LibraryIdentifier 9 | ios-i386_x86_64-simulator 10 | LibraryPath 11 | RemoteMonster.framework 12 | SupportedArchitectures 13 | 14 | i386 15 | x86_64 16 | 17 | SupportedPlatform 18 | ios 19 | SupportedPlatformVariant 20 | simulator 21 | 22 | 23 | LibraryIdentifier 24 | ios-arm64_armv7 25 | LibraryPath 26 | RemoteMonster.framework 27 | SupportedArchitectures 28 | 29 | arm64 30 | armv7 31 | 32 | SupportedPlatform 33 | ios 34 | 35 | 36 | CFBundlePackageType 37 | XFWK 38 | XCFrameworkFormatVersion 39 | 1.0 40 | 41 | 42 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Headers/ARDSDPUtils.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 | @class RTCSessionDescription; 14 | 15 | @interface ARDSDPUtils : NSObject 16 | 17 | // Updates the original SDP description to instead prefer the specified video 18 | // codec. We do this by placing the specified codec at the beginning of the 19 | // codec list if it exists in the sdp. 20 | + (RTCSessionDescription *) 21 | descriptionForDescription:(RTCSessionDescription *)description 22 | preferredVideoCodec:(NSString *)codec; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Headers/RemonCall.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RemonCall.swift 3 | // remonios 4 | // 5 | // Created by hyounsiklee on 2018. 5. 10.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | /** 12 | P2P 영상통화 클래스 13 | */ 14 | @objc public class RemonCall: RemonClient { 15 | public override init() { 16 | print("[RemonCall.init]") 17 | super.init() 18 | } 19 | 20 | 21 | /***/ 22 | @objc public func connect(_ ch: String, _ config:RemonConfig? = nil) { 23 | print("[RemonCall.connect]" ) 24 | self.controller.connectCall( client:self, channelID:ch, config:config) 25 | } 26 | 27 | /***/ 28 | @objc public func fetchCalls(complete: @escaping (Array?) -> Void) { 29 | self.fetchChannel(type: .call, roomName: nil) { (error, chs) in 30 | complete(chs) 31 | } 32 | } 33 | } 34 | 35 | @objc extension RemonCall { 36 | /***/ 37 | @objc public func onConnect(block: @escaping RemonStringBlock) { 38 | self.onCreateInternal(block: block) 39 | } 40 | 41 | /***/ 42 | @objc public func onFetch(block: @escaping RemonArrayBlock) { 43 | self.onFetchChannels(block: block) 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Headers/RemoteMonster.h: -------------------------------------------------------------------------------- 1 | // 2 | // remoniosv2.h 3 | // remoniosv2 4 | // 5 | // Created by 최진호 on 2017. 1. 31.. 6 | // Copyright © 2017년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for remoniosv2. 12 | FOUNDATION_EXPORT double remoniosv2VersionNumber; 13 | 14 | //! Project version string for remoniosv2. 15 | FOUNDATION_EXPORT const unsigned char remoniosv2VersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | #import "ARDSDPUtils.h" 19 | #import "SwiftWebSocket.h" 20 | #import 21 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Headers/SwiftWebSocket.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SwiftWebSocket (swiftwebsocket.h) 3 | * 4 | * Copyright (C) Josh Baker. All Rights Reserved. 5 | * Contact: @tidwall, joshbaker77@gmail.com 6 | * 7 | * This software may be modified and distributed under the terms 8 | * of the MIT license. See the LICENSE file for details. 9 | * 10 | */ 11 | 12 | #import 13 | 14 | FOUNDATION_EXPORT double SwiftWebSocketVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char SwiftWebSocketVersionString[]; 16 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Info.plist -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/arm.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/arm.swiftdoc -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/arm64-apple-ios.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/arm64-apple-ios.swiftdoc -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/arm64.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/arm64.swiftdoc -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/armv7-apple-ios.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/armv7-apple-ios.swiftdoc -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/armv7.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/armv7.swiftdoc -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module RemoteMonster { 2 | umbrella header "RemoteMonster.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | 8 | module RemoteMonster.Swift { 9 | header "RemoteMonster-Swift.h" 10 | requires objc 11 | } 12 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/RemoteMonster: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-arm64_armv7/RemoteMonster.framework/RemoteMonster -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Headers/ARDSDPUtils.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 | @class RTCSessionDescription; 14 | 15 | @interface ARDSDPUtils : NSObject 16 | 17 | // Updates the original SDP description to instead prefer the specified video 18 | // codec. We do this by placing the specified codec at the beginning of the 19 | // codec list if it exists in the sdp. 20 | + (RTCSessionDescription *) 21 | descriptionForDescription:(RTCSessionDescription *)description 22 | preferredVideoCodec:(NSString *)codec; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Headers/RemonCall.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RemonCall.swift 3 | // remonios 4 | // 5 | // Created by hyounsiklee on 2018. 5. 10.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | /** 12 | P2P 영상통화 클래스 13 | */ 14 | @objc public class RemonCall: RemonClient { 15 | public override init() { 16 | print("[RemonCall.init]") 17 | super.init() 18 | } 19 | 20 | 21 | /***/ 22 | @objc public func connect(_ ch: String, _ config:RemonConfig? = nil) { 23 | print("[RemonCall.connect]" ) 24 | self.controller.connectCall( client:self, channelID:ch, config:config) 25 | } 26 | 27 | /***/ 28 | @objc public func fetchCalls(complete: @escaping (Array?) -> Void) { 29 | self.fetchChannel(type: .call, roomName: nil) { (error, chs) in 30 | complete(chs) 31 | } 32 | } 33 | } 34 | 35 | @objc extension RemonCall { 36 | /***/ 37 | @objc public func onConnect(block: @escaping RemonStringBlock) { 38 | self.onCreateInternal(block: block) 39 | } 40 | 41 | /***/ 42 | @objc public func onFetch(block: @escaping RemonArrayBlock) { 43 | self.onFetchChannels(block: block) 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Headers/RemoteMonster.h: -------------------------------------------------------------------------------- 1 | // 2 | // remoniosv2.h 3 | // remoniosv2 4 | // 5 | // Created by 최진호 on 2017. 1. 31.. 6 | // Copyright © 2017년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for remoniosv2. 12 | FOUNDATION_EXPORT double remoniosv2VersionNumber; 13 | 14 | //! Project version string for remoniosv2. 15 | FOUNDATION_EXPORT const unsigned char remoniosv2VersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | #import "ARDSDPUtils.h" 19 | #import "SwiftWebSocket.h" 20 | #import 21 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Headers/SwiftWebSocket.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SwiftWebSocket (swiftwebsocket.h) 3 | * 4 | * Copyright (C) Josh Baker. All Rights Reserved. 5 | * Contact: @tidwall, joshbaker77@gmail.com 6 | * 7 | * This software may be modified and distributed under the terms 8 | * of the MIT license. See the LICENSE file for details. 9 | * 10 | */ 11 | 12 | #import 13 | 14 | FOUNDATION_EXPORT double SwiftWebSocketVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char SwiftWebSocketVersionString[]; 16 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Info.plist -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/i386-apple-ios-simulator.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/i386-apple-ios-simulator.swiftdoc -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/i386.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/i386.swiftdoc -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/x86_64-apple-ios-simulator.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/x86_64-apple-ios-simulator.swiftdoc -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/x86_64.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Modules/RemoteMonster.swiftmodule/x86_64.swiftdoc -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module RemoteMonster { 2 | umbrella header "RemoteMonster.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | 8 | module RemoteMonster.Swift { 9 | header "RemoteMonster-Swift.h" 10 | requires objc 11 | } 12 | -------------------------------------------------------------------------------- /RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/RemoteMonster: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/RemoteMonster.xcframework/ios-i386_x86_64-simulator/RemoteMonster.framework/RemoteMonster -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCAudioSessionConfiguration.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #import 13 | 14 | #import "RTCMacros.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | RTC_EXTERN const int kRTCAudioSessionPreferredNumberOfChannels; 19 | RTC_EXTERN const double kRTCAudioSessionHighPerformanceSampleRate; 20 | RTC_EXTERN const double kRTCAudioSessionLowComplexitySampleRate; 21 | RTC_EXTERN const double kRTCAudioSessionHighPerformanceIOBufferDuration; 22 | RTC_EXTERN const double kRTCAudioSessionLowComplexityIOBufferDuration; 23 | 24 | // Struct to hold configuration values. 25 | RTC_OBJC_EXPORT 26 | @interface RTC_OBJC_TYPE (RTCAudioSessionConfiguration) : NSObject 27 | 28 | @property(nonatomic, strong) NSString *category; 29 | @property(nonatomic, assign) AVAudioSessionCategoryOptions categoryOptions; 30 | @property(nonatomic, strong) NSString *mode; 31 | @property(nonatomic, assign) double sampleRate; 32 | @property(nonatomic, assign) NSTimeInterval ioBufferDuration; 33 | @property(nonatomic, assign) NSInteger inputNumberOfChannels; 34 | @property(nonatomic, assign) NSInteger outputNumberOfChannels; 35 | 36 | /** Initializes configuration to defaults. */ 37 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 38 | 39 | /** Returns the current configuration of the audio session. */ 40 | + (instancetype)currentConfiguration; 41 | /** Returns the configuration that WebRTC needs. */ 42 | + (instancetype)webRTCConfiguration; 43 | /** Provide a way to override the default configuration. */ 44 | + (void)setWebRTCConfiguration:(RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration; 45 | 46 | @end 47 | 48 | NS_ASSUME_NONNULL_END 49 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCAudioSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCMediaSource.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | RTC_OBJC_EXPORT 19 | @interface RTC_OBJC_TYPE (RTCAudioSource) : RTC_OBJC_TYPE(RTCMediaSource) 20 | 21 | - (instancetype)init NS_UNAVAILABLE; 22 | 23 | // Sets the volume for the RTCMediaSource. |volume| is a gain value in the range 24 | // [0, 10]. 25 | // Temporary fix to be able to modify volume of remote audio tracks. 26 | // TODO(kthelgason): Property stays here temporarily until a proper volume-api 27 | // is available on the surface exposed by webrtc. 28 | @property(nonatomic, assign) double volume; 29 | 30 | @end 31 | 32 | NS_ASSUME_NONNULL_END 33 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCAudioTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import "RTCMacros.h" 12 | #import "RTCMediaStreamTrack.h" 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | @class RTC_OBJC_TYPE(RTCAudioSource); 17 | 18 | RTC_OBJC_EXPORT 19 | @interface RTC_OBJC_TYPE (RTCAudioTrack) : RTC_OBJC_TYPE(RTCMediaStreamTrack) 20 | 21 | - (instancetype)init NS_UNAVAILABLE; 22 | 23 | /** The audio source for this audio track. */ 24 | @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCAudioSource) * source; 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCCallbackLogger.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCLogging.h" 14 | #import "RTCMacros.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | typedef void (^RTCCallbackLoggerMessageHandler)(NSString *message); 19 | typedef void (^RTCCallbackLoggerMessageAndSeverityHandler)(NSString *message, 20 | RTCLoggingSeverity severity); 21 | 22 | // This class intercepts WebRTC logs and forwards them to a registered block. 23 | // This class is not threadsafe. 24 | RTC_OBJC_EXPORT 25 | @interface RTC_OBJC_TYPE (RTCCallbackLogger) : NSObject 26 | 27 | // The severity level to capture. The default is kRTCLoggingSeverityInfo. 28 | @property(nonatomic, assign) RTCLoggingSeverity severity; 29 | 30 | // The callback handler will be called on the same thread that does the 31 | // logging, so if the logging callback can be slow it may be a good idea 32 | // to implement dispatching to some other queue. 33 | - (void)start:(nullable RTCCallbackLoggerMessageHandler)handler; 34 | - (void)startWithMessageAndSeverityHandler: 35 | (nullable RTCCallbackLoggerMessageAndSeverityHandler)handler; 36 | 37 | - (void)stop; 38 | 39 | @end 40 | 41 | NS_ASSUME_NONNULL_END 42 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCCameraPreviewView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #import 13 | 14 | #import "RTCMacros.h" 15 | 16 | @class AVCaptureSession; 17 | 18 | /** RTCCameraPreviewView is a view that renders local video from an 19 | * AVCaptureSession. 20 | */ 21 | RTC_OBJC_EXPORT 22 | @interface RTC_OBJC_TYPE (RTCCameraPreviewView) : UIView 23 | 24 | /** The capture session being rendered in the view. Capture session 25 | * is assigned to AVCaptureVideoPreviewLayer async in the same 26 | * queue that the AVCaptureSession is started/stopped. 27 | */ 28 | @property(nonatomic, strong) AVCaptureSession* captureSession; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCCertificate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTC_OBJC_TYPE (RTCCertificate) : NSObject 19 | 20 | /** Private key in PEM. */ 21 | @property(nonatomic, readonly, copy) NSString *private_key; 22 | 23 | /** Public key in an x509 cert encoded in PEM. */ 24 | @property(nonatomic, readonly, copy) NSString *certificate; 25 | 26 | /** 27 | * Initialize an RTCCertificate with PEM strings for private_key and certificate. 28 | */ 29 | - (instancetype)initWithPrivateKey:(NSString *)private_key 30 | certificate:(NSString *)certificate NS_DESIGNATED_INITIALIZER; 31 | 32 | - (instancetype)init NS_UNAVAILABLE; 33 | 34 | /** Generate a new certificate for 're' use. 35 | * 36 | * Optional dictionary of parameters. Defaults to KeyType ECDSA if none are 37 | * provided. 38 | * - name: "ECDSA" or "RSASSA-PKCS1-v1_5" 39 | */ 40 | + (nullable RTC_OBJC_TYPE(RTCCertificate) *)generateCertificateWithParams:(NSDictionary *)params; 41 | 42 | @end 43 | 44 | NS_ASSUME_NONNULL_END 45 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCCodecSpecificInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE 22 | (RTCCodecSpecificInfo) @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCCodecSpecificInfoH264) : NSObject 24 | 25 | @property(nonatomic, assign) RTCH264PacketizationMode packetizationMode; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCDataChannelConfiguration.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #import 13 | 14 | #import "RTCMacros.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | RTC_OBJC_EXPORT 19 | @interface RTC_OBJC_TYPE (RTCDataChannelConfiguration) : NSObject 20 | 21 | /** Set to YES if ordered delivery is required. */ 22 | @property(nonatomic, assign) BOOL isOrdered; 23 | 24 | /** Deprecated. Use maxPacketLifeTime. */ 25 | @property(nonatomic, assign) NSInteger maxRetransmitTimeMs DEPRECATED_ATTRIBUTE; 26 | 27 | /** 28 | * Max period in milliseconds in which retransmissions will be sent. After this 29 | * time, no more retransmissions will be sent. -1 if unset. 30 | */ 31 | @property(nonatomic, assign) int maxPacketLifeTime; 32 | 33 | /** The max number of retransmissions. -1 if unset. */ 34 | @property(nonatomic, assign) int maxRetransmits; 35 | 36 | /** Set to YES if the channel has been externally negotiated and we do not send 37 | * an in-band signalling in the form of an "open" message. 38 | */ 39 | @property(nonatomic, assign) BOOL isNegotiated; 40 | 41 | /** Deprecated. Use channelId. */ 42 | @property(nonatomic, assign) int streamId DEPRECATED_ATTRIBUTE; 43 | 44 | /** The id of the data channel. */ 45 | @property(nonatomic, assign) int channelId; 46 | 47 | /** Set by the application and opaque to the WebRTC implementation. */ 48 | @property(nonatomic) NSString* protocol; 49 | 50 | @end 51 | 52 | NS_ASSUME_NONNULL_END 53 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 20 | * RTCVideoDecoderFactory. 21 | */ 22 | RTC_OBJC_EXPORT 23 | @interface RTC_OBJC_TYPE (RTCDefaultVideoDecoderFactory) : NSObject 24 | @end 25 | 26 | NS_ASSUME_NONNULL_END 27 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 20 | * RTCVideoDecoderFactory. 21 | */ 22 | RTC_OBJC_EXPORT 23 | @interface RTC_OBJC_TYPE (RTCDefaultVideoEncoderFactory) : NSObject 24 | 25 | @property(nonatomic, retain) RTC_OBJC_TYPE(RTCVideoCodecInfo) *preferredCodec; 26 | 27 | + (NSArray *)supportedCodecs; 28 | 29 | @end 30 | 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCDispatcher.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (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 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCEAGLVideoView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #import 13 | 14 | #import "RTCMacros.h" 15 | #import "RTCVideoRenderer.h" 16 | #import "RTCVideoViewShading.h" 17 | 18 | NS_ASSUME_NONNULL_BEGIN 19 | 20 | @class RTC_OBJC_TYPE(RTCEAGLVideoView); 21 | 22 | /** 23 | * RTCEAGLVideoView is an RTCVideoRenderer which renders video frames 24 | * in its bounds using OpenGLES 2.0 or OpenGLES 3.0. 25 | */ 26 | RTC_OBJC_EXPORT 27 | NS_EXTENSION_UNAVAILABLE_IOS("Rendering not available in app extensions.") 28 | @interface RTC_OBJC_TYPE (RTCEAGLVideoView) : UIView 29 | 30 | @property(nonatomic, weak) id delegate; 31 | 32 | - (instancetype)initWithFrame:(CGRect)frame 33 | shader:(id)shader 34 | NS_DESIGNATED_INITIALIZER; 35 | 36 | - (instancetype)initWithCoder:(NSCoder *)aDecoder 37 | shader:(id)shader 38 | NS_DESIGNATED_INITIALIZER; 39 | 40 | /** @abstract Wrapped RTCVideoRotation, or nil. 41 | */ 42 | @property(nonatomic, nullable) NSValue *rotationOverride; 43 | @end 44 | 45 | NS_ASSUME_NONNULL_END 46 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCEncodedImage.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCEncodedImage) : NSObject 35 | 36 | @property(nonatomic, strong) NSData *buffer; 37 | @property(nonatomic, assign) int32_t encodedWidth; 38 | @property(nonatomic, assign) int32_t encodedHeight; 39 | @property(nonatomic, assign) uint32_t timeStamp; 40 | @property(nonatomic, assign) int64_t captureTimeMs; 41 | @property(nonatomic, assign) int64_t ntpTimeMs; 42 | @property(nonatomic, assign) uint8_t flags; 43 | @property(nonatomic, assign) int64_t encodeStartMs; 44 | @property(nonatomic, assign) int64_t encodeFinishMs; 45 | @property(nonatomic, assign) RTCFrameType frameType; 46 | @property(nonatomic, assign) RTCVideoRotation rotation; 47 | @property(nonatomic, 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 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCFieldTrials.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 kRTCFieldTrialAudioForceNoTWCCKey; 18 | RTC_EXTERN NSString * const kRTCFieldTrialAudioForceABWENoTWCCKey; 19 | RTC_EXTERN NSString * const kRTCFieldTrialSendSideBweWithOverheadKey; 20 | RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03AdvertisedKey; 21 | RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03Key; 22 | RTC_EXTERN NSString * const kRTCFieldTrialH264HighProfileKey; 23 | RTC_EXTERN NSString * const kRTCFieldTrialMinimizeResamplingOnMobileKey; 24 | 25 | /** The valid value for field trials above. */ 26 | RTC_EXTERN NSString * const kRTCFieldTrialEnabledValue; 27 | 28 | /** Initialize field trials using a dictionary mapping field trial keys to their 29 | * values. See above for valid keys and values. Must be called before any other 30 | * call into WebRTC. See: webrtc/system_wrappers/include/field_trial.h 31 | */ 32 | RTC_EXTERN void RTCInitFieldTrialDictionary(NSDictionary *fieldTrials); 33 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCFileVideoCapturer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCFileVideoCapturer) : RTC_OBJC_TYPE(RTCVideoCapturer) 31 | 32 | /** 33 | * Starts asynchronous capture of frames from video file. 34 | * 35 | * Capturing is not started if error occurs. Underlying error will be 36 | * relayed in the errorBlock if one is provided. 37 | * Successfully captured video frames will be passed to the delegate. 38 | * 39 | * @param nameOfFile The name of the bundled video file to be read. 40 | * @errorBlock block to be executed upon error. 41 | */ 42 | - (void)startCapturingFromFileNamed:(NSString *)nameOfFile 43 | onError:(__nullable RTCFileVideoCapturerErrorBlock)errorBlock; 44 | 45 | /** 46 | * Immediately stops capture. 47 | */ 48 | - (void)stopCapture; 49 | @end 50 | 51 | NS_ASSUME_NONNULL_END 52 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCI420Buffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCYUVPlanarBuffer.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** Protocol for RTCYUVPlanarBuffers containing I420 data */ 18 | RTC_OBJC_EXPORT 19 | @protocol RTC_OBJC_TYPE 20 | (RTCI420Buffer) @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCIceCandidate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTC_OBJC_TYPE (RTCIceCandidate) : NSObject 19 | 20 | /** 21 | * If present, the identifier of the "media stream identification" for the media 22 | * component this candidate is associated with. 23 | */ 24 | @property(nonatomic, readonly, nullable) NSString *sdpMid; 25 | 26 | /** 27 | * The index (starting at zero) of the media description this candidate is 28 | * associated with in the SDP. 29 | */ 30 | @property(nonatomic, readonly) int sdpMLineIndex; 31 | 32 | /** The SDP string for this candidate. */ 33 | @property(nonatomic, readonly) NSString *sdp; 34 | 35 | /** The URL of the ICE server which this candidate is gathered from. */ 36 | @property(nonatomic, readonly, nullable) NSString *serverUrl; 37 | 38 | - (instancetype)init NS_UNAVAILABLE; 39 | 40 | /** 41 | * Initialize an RTCIceCandidate from SDP. 42 | */ 43 | - (instancetype)initWithSdp:(NSString *)sdp 44 | sdpMLineIndex:(int)sdpMLineIndex 45 | sdpMid:(nullable NSString *)sdpMid NS_DESIGNATED_INITIALIZER; 46 | 47 | @end 48 | 49 | NS_ASSUME_NONNULL_END 50 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCLegacyStatsReport.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** This does not currently conform to the spec. */ 18 | RTC_OBJC_EXPORT 19 | @interface RTC_OBJC_TYPE (RTCLegacyStatsReport) : NSObject 20 | 21 | /** Time since 1970-01-01T00:00:00Z in milliseconds. */ 22 | @property(nonatomic, readonly) CFTimeInterval timestamp; 23 | 24 | /** The type of stats held by this object. */ 25 | @property(nonatomic, readonly) NSString *type; 26 | 27 | /** The identifier for this object. */ 28 | @property(nonatomic, readonly) NSString *reportId; 29 | 30 | /** A dictionary holding the actual stats. */ 31 | @property(nonatomic, readonly) NSDictionary *values; 32 | 33 | - (instancetype)init NS_UNAVAILABLE; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCMTLVideoView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCVideoFrame.h" 15 | #import "RTCVideoRenderer.h" 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | /** 20 | * RTCMTLVideoView is thin wrapper around MTKView. 21 | * 22 | * It has id property that renders video frames in the view's 23 | * bounds using Metal. 24 | * NOTE: always check if metal is available on the running device via 25 | * RTC_SUPPORTS_METAL macro before initializing this class. 26 | */ 27 | NS_CLASS_AVAILABLE_IOS(9) 28 | 29 | RTC_OBJC_EXPORT 30 | @interface RTC_OBJC_TYPE (RTCMTLVideoView) : UIView 31 | 32 | @property(nonatomic, weak) id delegate; 33 | 34 | @property(nonatomic) UIViewContentMode videoContentMode; 35 | 36 | /** @abstract Enables/disables rendering. 37 | */ 38 | @property(nonatomic, getter=isEnabled) BOOL enabled; 39 | 40 | /** @abstract Wrapped RTCVideoRotation, or nil. 41 | */ 42 | @property(nonatomic, nullable) NSValue* rotationOverride; 43 | 44 | @end 45 | 46 | NS_ASSUME_NONNULL_END 47 | -------------------------------------------------------------------------------- /WebRTC.framework/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 | // Internal macros used to correctly concatenate symbols. 15 | #define RTC_SYMBOL_CONCAT_HELPER(a, b) a##b 16 | #define RTC_SYMBOL_CONCAT(a, b) RTC_SYMBOL_CONCAT_HELPER(a, b) 17 | 18 | // RTC_OBJC_TYPE_PREFIX 19 | // 20 | // Macro used to prepend a prefix to the API types that are exported with 21 | // RTC_OBJC_EXPORT. 22 | // 23 | // Clients can patch the definition of this macro locally and build 24 | // WebRTC.framework with their own prefix in case symbol clashing is a 25 | // problem. 26 | // 27 | // This macro must only be defined here and not on via compiler flag to 28 | // ensure it has a unique value. 29 | #define RTC_OBJC_TYPE_PREFIX 30 | 31 | // RCT_OBJC_TYPE 32 | // 33 | // Macro used internally to declare API types. Declaring an API type without 34 | // using this macro will not include the declared type in the set of types 35 | // that will be affected by the configurable RTC_OBJC_TYPE_PREFIX. 36 | #define RTC_OBJC_TYPE(type_name) RTC_SYMBOL_CONCAT(RTC_OBJC_TYPE_PREFIX, type_name) 37 | 38 | #define RTC_OBJC_EXPORT __attribute__((visibility("default"))) 39 | 40 | #if defined(__cplusplus) 41 | #define RTC_EXTERN extern "C" RTC_OBJC_EXPORT 42 | #else 43 | #define RTC_EXTERN extern RTC_OBJC_EXPORT 44 | #endif 45 | 46 | #ifdef __OBJC__ 47 | #define RTC_FWD_DECL_OBJC_CLASS(classname) @class classname 48 | #else 49 | #define RTC_FWD_DECL_OBJC_CLASS(classname) typedef struct objc_object classname 50 | #endif 51 | 52 | #endif // SDK_OBJC_BASE_RTCMACROS_H_ 53 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCMediaConstraints.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** Constraint keys for media sources. */ 18 | /** The value for this key should be a base64 encoded string containing 19 | * the data from the serialized configuration proto. 20 | */ 21 | RTC_EXTERN NSString *const kRTCMediaConstraintsAudioNetworkAdaptorConfig; 22 | 23 | /** Constraint keys for generating offers and answers. */ 24 | RTC_EXTERN NSString *const kRTCMediaConstraintsIceRestart; 25 | RTC_EXTERN NSString *const kRTCMediaConstraintsOfferToReceiveAudio; 26 | RTC_EXTERN NSString *const kRTCMediaConstraintsOfferToReceiveVideo; 27 | RTC_EXTERN NSString *const kRTCMediaConstraintsVoiceActivityDetection; 28 | 29 | /** Constraint values for Boolean parameters. */ 30 | RTC_EXTERN NSString *const kRTCMediaConstraintsValueTrue; 31 | RTC_EXTERN NSString *const kRTCMediaConstraintsValueFalse; 32 | 33 | RTC_OBJC_EXPORT 34 | @interface RTC_OBJC_TYPE (RTCMediaConstraints) : NSObject 35 | 36 | - (instancetype)init NS_UNAVAILABLE; 37 | 38 | /** Initialize with mandatory and/or optional constraints. */ 39 | - (instancetype) 40 | initWithMandatoryConstraints:(nullable NSDictionary *)mandatory 41 | optionalConstraints:(nullable NSDictionary *)optional 42 | NS_DESIGNATED_INITIALIZER; 43 | 44 | @end 45 | 46 | NS_ASSUME_NONNULL_END 47 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCMediaSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCMediaSource) : NSObject 26 | 27 | /** The current state of the RTCMediaSource. */ 28 | @property(nonatomic, readonly) RTCSourceState state; 29 | 30 | - (instancetype)init NS_UNAVAILABLE; 31 | 32 | @end 33 | 34 | NS_ASSUME_NONNULL_END 35 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCMediaStream.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @class RTC_OBJC_TYPE(RTCAudioTrack); 18 | @class RTC_OBJC_TYPE(RTCPeerConnectionFactory); 19 | @class RTC_OBJC_TYPE(RTCVideoTrack); 20 | 21 | RTC_OBJC_EXPORT 22 | @interface RTC_OBJC_TYPE (RTCMediaStream) : NSObject 23 | 24 | /** The audio tracks in this stream. */ 25 | @property(nonatomic, strong, readonly) NSArray *audioTracks; 26 | 27 | /** The video tracks in this stream. */ 28 | @property(nonatomic, strong, readonly) NSArray *videoTracks; 29 | 30 | /** An identifier for this media stream. */ 31 | @property(nonatomic, readonly) NSString *streamId; 32 | 33 | - (instancetype)init NS_UNAVAILABLE; 34 | 35 | /** Adds the given audio track to this media stream. */ 36 | - (void)addAudioTrack:(RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrack; 37 | 38 | /** Adds the given video track to this media stream. */ 39 | - (void)addVideoTrack:(RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrack; 40 | 41 | /** Removes the given audio track to this media stream. */ 42 | - (void)removeAudioTrack:(RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrack; 43 | 44 | /** Removes the given video track to this media stream. */ 45 | - (void)removeVideoTrack:(RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrack; 46 | 47 | @end 48 | 49 | NS_ASSUME_NONNULL_END 50 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCMediaStreamTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCMediaStreamTrack) : NSObject 30 | 31 | /** 32 | * The kind of track. For example, "audio" if this track represents an audio 33 | * track and "video" if this track represents a video track. 34 | */ 35 | @property(nonatomic, readonly) NSString *kind; 36 | 37 | /** An identifier string. */ 38 | @property(nonatomic, readonly) NSString *trackId; 39 | 40 | /** The enabled state of the track. */ 41 | @property(nonatomic, assign) BOOL isEnabled; 42 | 43 | /** The state of the track. */ 44 | @property(nonatomic, readonly) RTCMediaStreamTrackState readyState; 45 | 46 | - (instancetype)init NS_UNAVAILABLE; 47 | 48 | @end 49 | 50 | NS_ASSUME_NONNULL_END 51 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCMetrics.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCMetricsSampleInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTC_OBJC_TYPE (RTCMetricsSampleInfo) : NSObject 19 | 20 | /** 21 | * Example of RTCMetricsSampleInfo: 22 | * name: "WebRTC.Video.InputFramesPerSecond" 23 | * min: 1 24 | * max: 100 25 | * bucketCount: 50 26 | * samples: [29]:2 [30]:1 27 | */ 28 | 29 | /** The name of the histogram. */ 30 | @property(nonatomic, readonly) NSString *name; 31 | 32 | /** The minimum bucket value. */ 33 | @property(nonatomic, readonly) int min; 34 | 35 | /** The maximum bucket value. */ 36 | @property(nonatomic, readonly) int max; 37 | 38 | /** The number of buckets. */ 39 | @property(nonatomic, readonly) int bucketCount; 40 | 41 | /** A dictionary holding the samples . */ 42 | @property(nonatomic, readonly) NSDictionary *samples; 43 | 44 | - (instancetype)init NS_UNAVAILABLE; 45 | 46 | @end 47 | 48 | NS_ASSUME_NONNULL_END 49 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCMutableI420Buffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE 21 | (RTCMutableI420Buffer) @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE 20 | (RTCMutableYUVPlanarBuffer) 21 | 22 | @property(nonatomic, readonly) uint8_t *mutableDataY; 23 | @property(nonatomic, readonly) uint8_t *mutableDataU; 24 | @property(nonatomic, readonly) uint8_t *mutableDataV; 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCNativeI420Buffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCI420Buffer) : NSObject 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCMutableI420Buffer) : RTC_OBJC_TYPE(RTCI420Buffer) 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTC_OBJC_TYPE (RTCPeerConnectionFactoryOptions) : NSObject 19 | 20 | @property(nonatomic, assign) BOOL disableEncryption; 21 | 22 | @property(nonatomic, assign) BOOL disableNetworkMonitor; 23 | 24 | @property(nonatomic, assign) BOOL ignoreLoopbackNetworkAdapter; 25 | 26 | @property(nonatomic, assign) BOOL ignoreVPNNetworkAdapter; 27 | 28 | @property(nonatomic, assign) BOOL ignoreCellularNetworkAdapter; 29 | 30 | @property(nonatomic, assign) BOOL ignoreWiFiNetworkAdapter; 31 | 32 | @property(nonatomic, assign) BOOL ignoreEthernetNetworkAdapter; 33 | 34 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCRemonAudioDevice.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCRemonAudioDevice.h 3 | // products 4 | // 5 | // Created by Chance Kim on 2019/10/31. 6 | // 7 | 8 | #ifndef RTCRemonAudioDevice_h 9 | #define RTCRemonAudioDevice_h 10 | 11 | #import 12 | #include 13 | #import "RTCMacros.h" 14 | 15 | 16 | @class AudioDeviceModule; 17 | @class RTCRemonAudioDevice; 18 | 19 | RTC_OBJC_EXPORT 20 | @protocol RTCRemonAudioDeviceDelegate 21 | -(void)setAudioDeviceModule:(void*)refptr; 22 | 23 | @end 24 | 25 | RTC_OBJC_EXPORT 26 | @interface RTCRemonAudioDevice : NSObject 27 | 28 | -(bool)microphoneIsInitialized; 29 | 30 | @end 31 | 32 | 33 | 34 | #endif /* RTCRemonAudioDevice_h */ 35 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCRtcpParameters.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTC_OBJC_TYPE (RTCRtcpParameters) : NSObject 19 | 20 | /** The Canonical Name used by RTCP. */ 21 | @property(nonatomic, readonly, copy) NSString *cname; 22 | 23 | /** Whether reduced size RTCP is configured or compound RTCP. */ 24 | @property(nonatomic, assign) BOOL isReducedSize; 25 | 26 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /WebRTC.framework/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 RTC_OBJC_TYPE (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 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCRtpHeaderExtension.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTC_OBJC_TYPE (RTCRtpHeaderExtension) : NSObject 19 | 20 | /** The URI of the RTP header extension, as defined in RFC5285. */ 21 | @property(nonatomic, readonly, copy) NSString *uri; 22 | 23 | /** The value put in the RTP packet to identify the header extension. */ 24 | @property(nonatomic, readonly) int id; 25 | 26 | /** Whether the header extension is encrypted or not. */ 27 | @property(nonatomic, readonly, getter=isEncrypted) BOOL encrypted; 28 | 29 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 30 | 31 | @end 32 | 33 | NS_ASSUME_NONNULL_END 34 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCRtpSender.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE 22 | (RTCRtpSender) 23 | 24 | /** A unique identifier for this sender. */ 25 | @property(nonatomic, readonly) NSString *senderId; 26 | 27 | /** The currently active RTCRtpParameters, as defined in 28 | * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters. 29 | */ 30 | @property(nonatomic, copy) RTC_OBJC_TYPE(RTCRtpParameters) * parameters; 31 | 32 | /** The RTCMediaStreamTrack associated with the sender. 33 | * Note: reading this property returns a new instance of 34 | * RTCMediaStreamTrack. Use isEqual: instead of == to compare 35 | * RTCMediaStreamTrack instances. 36 | */ 37 | @property(nonatomic, copy, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * track; 38 | 39 | /** IDs of streams associated with the RTP sender */ 40 | @property(nonatomic, copy) NSArray *streamIds; 41 | 42 | /** The RTCDtmfSender accociated with the RTP sender. */ 43 | @property(nonatomic, readonly, nullable) id dtmfSender; 44 | 45 | @end 46 | 47 | RTC_OBJC_EXPORT 48 | @interface RTC_OBJC_TYPE (RTCRtpSender) : NSObject 49 | 50 | - (instancetype)init NS_UNAVAILABLE; 51 | 52 | @end 53 | 54 | NS_ASSUME_NONNULL_END 55 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCSSLAdapter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCSessionDescription.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (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 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCStatisticsReport.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. 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 RTC_OBJC_TYPE(RTCStatistics); 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | /** A statistics report. Encapsulates a number of RTCStatistics objects. */ 20 | RTC_OBJC_EXPORT 21 | @interface RTC_OBJC_TYPE (RTCStatisticsReport) : NSObject 22 | 23 | /** The timestamp of the report in microseconds since 1970-01-01T00:00:00Z. */ 24 | @property(nonatomic, readonly) CFTimeInterval timestamp_us; 25 | 26 | /** RTCStatistics objects by id. */ 27 | @property(nonatomic, readonly) NSDictionary *statistics; 28 | 29 | - (instancetype)init NS_UNAVAILABLE; 30 | 31 | @end 32 | 33 | /** A part of a report (a subreport) covering a certain area. */ 34 | RTC_OBJC_EXPORT 35 | @interface RTC_OBJC_TYPE (RTCStatistics) : NSObject 36 | 37 | /** The id of this subreport, e.g. "RTCMediaStreamTrack_receiver_2". */ 38 | @property(nonatomic, readonly) NSString *id; 39 | 40 | /** The timestamp of the subreport in microseconds since 1970-01-01T00:00:00Z. */ 41 | @property(nonatomic, readonly) CFTimeInterval timestamp_us; 42 | 43 | /** The type of the subreport, e.g. "track", "codec". */ 44 | @property(nonatomic, readonly) NSString *type; 45 | 46 | /** The keys and values of the subreport, e.g. "totalFramesDuration = 5.551". 47 | The values are either NSNumbers or NSStrings, or NSArrays encapsulating NSNumbers 48 | or NSStrings. */ 49 | @property(nonatomic, readonly) NSDictionary *values; 50 | 51 | - (instancetype)init NS_UNAVAILABLE; 52 | 53 | @end 54 | 55 | NS_ASSUME_NONNULL_END 56 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCTracing.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoCapturer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import "RTCVideoFrame.h" 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @class RTC_OBJC_TYPE(RTCVideoCapturer); 18 | 19 | RTC_OBJC_EXPORT 20 | @protocol RTC_OBJC_TYPE 21 | (RTCVideoCapturerDelegate) - 22 | (void)capturer : (RTC_OBJC_TYPE(RTCVideoCapturer) *)capturer didCaptureVideoFrame 23 | : (RTC_OBJC_TYPE(RTCVideoFrame) *)frame; 24 | @end 25 | 26 | RTC_OBJC_EXPORT 27 | @interface RTC_OBJC_TYPE (RTCVideoCapturer) : NSObject 28 | 29 | @property(nonatomic, weak) id delegate; 30 | 31 | - (instancetype)initWithDelegate:(id)delegate; 32 | 33 | @end 34 | 35 | NS_ASSUME_NONNULL_END 36 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoCodecConstants.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | RTC_OBJC_EXPORT extern NSString* const kRTCVideoCodecVp8Name; 16 | RTC_OBJC_EXPORT extern NSString* const kRTCVideoCodecVp9Name; 17 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoCodecInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCVideoCodecInfo) : NSObject 20 | 21 | - (instancetype)init NS_UNAVAILABLE; 22 | 23 | - (instancetype)initWithName:(NSString *)name; 24 | 25 | - (instancetype)initWithName:(NSString *)name 26 | parameters:(nullable NSDictionary *)parameters 27 | NS_DESIGNATED_INITIALIZER; 28 | 29 | - (BOOL)isEqualToCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; 30 | 31 | @property(nonatomic, readonly) NSString *name; 32 | @property(nonatomic, readonly) NSDictionary *parameters; 33 | 34 | @end 35 | 36 | NS_ASSUME_NONNULL_END 37 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoDecoder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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)(RTC_OBJC_TYPE(RTCVideoFrame) * frame); 23 | 24 | /** Protocol for decoder implementations. */ 25 | RTC_OBJC_EXPORT 26 | @protocol RTC_OBJC_TYPE 27 | (RTCVideoDecoder) 28 | 29 | - (void)setCallback : (RTCVideoDecoderCallback)callback; 30 | - (NSInteger)startDecodeWithNumberOfCores:(int)numberOfCores; 31 | - (NSInteger)releaseDecoder; 32 | - (NSInteger)decode:(RTC_OBJC_TYPE(RTCEncodedImage) *)encodedImage 33 | missingFrames:(BOOL)missingFrames 34 | codecSpecificInfo:(nullable id)info 35 | renderTimeMs:(int64_t)renderTimeMs; 36 | - (NSString *)implementationName; 37 | 38 | @end 39 | 40 | NS_ASSUME_NONNULL_END 41 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoDecoderFactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 | */ 21 | RTC_OBJC_EXPORT 22 | @protocol RTC_OBJC_TYPE 23 | (RTCVideoDecoderFactory) 24 | 25 | - (nullable id)createDecoder 26 | : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; 27 | - (NSArray *) 28 | supportedCodecs; // TODO(andersc): "supportedFormats" instead? 29 | 30 | @end 31 | 32 | NS_ASSUME_NONNULL_END 33 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCVideoDecoderFactory.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTC_OBJC_TYPE (RTCVideoDecoderFactoryH264) : NSObject 18 | @end 19 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoDecoderH264.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCVideoDecoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTC_OBJC_TYPE (RTCVideoDecoderH264) : NSObject 18 | @end 19 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoDecoderVP8.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCVideoDecoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTC_OBJC_TYPE (RTCVideoDecoderVP8) : NSObject 18 | 19 | /* This returns a VP8 decoder that can be returned from a RTCVideoDecoderFactory injected into 20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be 21 | * used independently from the RTCPeerConnectionFactory. 22 | */ 23 | + (id)vp8Decoder; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoDecoderVP9.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCVideoDecoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTC_OBJC_TYPE (RTCVideoDecoderVP9) : NSObject 18 | 19 | /* This returns a VP9 decoder that can be returned from a RTCVideoDecoderFactory injected into 20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be 21 | * used independently from the RTCPeerConnectionFactory. 22 | */ 23 | + (id)vp9Decoder; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoEncoderFactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 20 | webrtc::VideoEncoderFactory::VideoEncoderSelector. 21 | */ 22 | RTC_OBJC_EXPORT 23 | @protocol RTC_OBJC_TYPE 24 | (RTCVideoEncoderSelector) 25 | 26 | - (void)registerCurrentEncoderInfo : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; 27 | - (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBitrate:(NSInteger)bitrate; 28 | - (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBrokenEncoder; 29 | 30 | @end 31 | 32 | /** RTCVideoEncoderFactory is an Objective-C version of webrtc::VideoEncoderFactory. 33 | */ 34 | RTC_OBJC_EXPORT 35 | @protocol RTC_OBJC_TYPE 36 | (RTCVideoEncoderFactory) 37 | 38 | - (nullable id)createEncoder 39 | : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; 40 | - (NSArray *) 41 | supportedCodecs; // TODO(andersc): "supportedFormats" instead? 42 | 43 | @optional 44 | - (NSArray *)implementations; 45 | - (nullable id)encoderSelector; 46 | 47 | @end 48 | 49 | NS_ASSUME_NONNULL_END 50 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCVideoEncoderFactory.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTC_OBJC_TYPE (RTCVideoEncoderFactoryH264) : NSObject 18 | @end 19 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoEncoderH264.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCVideoCodecInfo.h" 15 | #import "RTCVideoEncoder.h" 16 | 17 | RTC_OBJC_EXPORT 18 | @interface RTC_OBJC_TYPE (RTCVideoEncoderH264) : NSObject 19 | 20 | - (instancetype)initWithCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)codecInfo; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCVideoEncoderQpThresholds) : NSObject 20 | 21 | - (instancetype)initWithThresholdsLow:(NSInteger)low high:(NSInteger)high; 22 | 23 | @property(nonatomic, readonly) NSInteger low; 24 | @property(nonatomic, readonly) NSInteger high; 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoEncoderSettings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE (RTCVideoEncoderSettings) : NSObject 25 | 26 | @property(nonatomic, strong) NSString *name; 27 | 28 | @property(nonatomic, assign) unsigned short width; 29 | @property(nonatomic, assign) unsigned short height; 30 | 31 | @property(nonatomic, assign) unsigned int startBitrate; // kilobits/sec. 32 | @property(nonatomic, assign) unsigned int maxBitrate; 33 | @property(nonatomic, assign) unsigned int minBitrate; 34 | 35 | @property(nonatomic, assign) uint32_t maxFramerate; 36 | 37 | @property(nonatomic, assign) unsigned int qpMax; 38 | @property(nonatomic, assign) RTCVideoCodecMode mode; 39 | 40 | @end 41 | 42 | NS_ASSUME_NONNULL_END 43 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoEncoderVP8.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCVideoEncoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTC_OBJC_TYPE (RTCVideoEncoderVP8) : NSObject 18 | 19 | /* This returns a VP8 encoder that can be returned from a RTCVideoEncoderFactory injected into 20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be 21 | * used independently from the RTCPeerConnectionFactory. 22 | */ 23 | + (id)vp8Encoder; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoEncoderVP9.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCVideoEncoder.h" 15 | 16 | RTC_OBJC_EXPORT 17 | @interface RTC_OBJC_TYPE (RTCVideoEncoderVP9) : NSObject 18 | 19 | /* This returns a VP9 encoder that can be returned from a RTCVideoEncoderFactory injected into 20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be 21 | * used independently from the RTCPeerConnectionFactory. 22 | */ 23 | + (id)vp9Encoder; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoFrameBuffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @protocol RTC_OBJC_TYPE 18 | (RTCI420Buffer); 19 | 20 | // RTCVideoFrameBuffer is an ObjectiveC version of webrtc::VideoFrameBuffer. 21 | RTC_OBJC_EXPORT 22 | @protocol RTC_OBJC_TYPE 23 | (RTCVideoFrameBuffer) 24 | 25 | @property(nonatomic, readonly) int width; 26 | @property(nonatomic, readonly) int height; 27 | 28 | - (id)toI420; 29 | 30 | @end 31 | 32 | NS_ASSUME_NONNULL_END 33 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoRenderer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #if TARGET_OS_IPHONE 13 | #import 14 | #endif 15 | 16 | #import "RTCMacros.h" 17 | 18 | NS_ASSUME_NONNULL_BEGIN 19 | 20 | @class RTC_OBJC_TYPE(RTCVideoFrame); 21 | 22 | RTC_OBJC_EXPORT 23 | @protocol RTC_OBJC_TYPE 24 | (RTCVideoRenderer) 25 | 26 | /** The size of the frame. */ 27 | - (void)setSize : (CGSize)size; 28 | 29 | /** The frame to be displayed. */ 30 | - (void)renderFrame:(nullable RTC_OBJC_TYPE(RTCVideoFrame) *)frame; 31 | 32 | @end 33 | 34 | RTC_OBJC_EXPORT 35 | @protocol RTC_OBJC_TYPE 36 | (RTCVideoViewDelegate) 37 | 38 | - (void)videoView : (id)videoView didChangeVideoSize 39 | : (CGSize)size; 40 | 41 | @end 42 | 43 | NS_ASSUME_NONNULL_END 44 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCMacros.h" 14 | #import "RTCMediaSource.h" 15 | #import "RTCVideoCapturer.h" 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | RTC_OBJC_EXPORT 20 | 21 | @interface RTC_OBJC_TYPE (RTCVideoSource) : RTC_OBJC_TYPE(RTCMediaSource) 22 | 23 | - (instancetype)init NS_UNAVAILABLE; 24 | 25 | /** 26 | * Calling this function will cause frames to be scaled down to the 27 | * requested resolution. Also, frames will be cropped to match the 28 | * requested aspect ratio, and frames will be dropped to match the 29 | * requested fps. The requested aspect ratio is orientation agnostic and 30 | * will be adjusted to maintain the input orientation, so it doesn't 31 | * matter if e.g. 1280x720 or 720x1280 is requested. 32 | */ 33 | - (void)adaptOutputFormatToWidth:(int)width height:(int)height fps:(int)fps; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import "RTCMediaStreamTrack.h" 12 | 13 | #import "RTCMacros.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @protocol RTC_OBJC_TYPE 18 | (RTCVideoRenderer); 19 | @class RTC_OBJC_TYPE(RTCPeerConnectionFactory); 20 | @class RTC_OBJC_TYPE(RTCVideoSource); 21 | 22 | RTC_OBJC_EXPORT 23 | @interface RTC_OBJC_TYPE (RTCVideoTrack) : RTC_OBJC_TYPE(RTCMediaStreamTrack) 24 | 25 | /** The video source for this video track. */ 26 | @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCVideoSource) *source; 27 | 28 | - (instancetype)init NS_UNAVAILABLE; 29 | 30 | /** Register a renderer that will render all frames received on this track. */ 31 | - (void)addRenderer:(id)renderer; 32 | 33 | /** Deregister a renderer. */ 34 | - (void)removeRenderer:(id)renderer; 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCVideoViewShading.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "RTCVideoFrame.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** 18 | * RTCVideoViewShading provides a way for apps to customize the OpenGL(ES shaders 19 | * used in rendering for the RTCEAGLVideoView/RTCNSGLVideoView. 20 | */ 21 | RTC_OBJC_EXPORT 22 | @protocol RTC_OBJC_TYPE 23 | (RTCVideoViewShading) 24 | 25 | /** Callback for I420 frames. Each plane is given as a texture. */ 26 | - (void)applyShadingForFrameWithWidth : (int)width height : (int)height rotation 27 | : (RTCVideoRotation)rotation yPlane : (GLuint)yPlane uPlane : (GLuint)uPlane vPlane 28 | : (GLuint)vPlane; 29 | 30 | /** Callback for NV12 frames. Each plane is given as a texture. */ 31 | - (void)applyShadingForFrameWithWidth:(int)width 32 | height:(int)height 33 | rotation:(RTCVideoRotation)rotation 34 | yPlane:(GLuint)yPlane 35 | uvPlane:(GLuint)uvPlane; 36 | 37 | @end 38 | 39 | NS_ASSUME_NONNULL_END 40 | -------------------------------------------------------------------------------- /WebRTC.framework/Headers/RTCYUVPlanarBuffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import "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 RTC_OBJC_TYPE 21 | (RTCYUVPlanarBuffer) 22 | 23 | @property(nonatomic, readonly) int chromaWidth; 24 | @property(nonatomic, readonly) int chromaHeight; 25 | @property(nonatomic, readonly) const uint8_t *dataY; 26 | @property(nonatomic, readonly) const uint8_t *dataU; 27 | @property(nonatomic, readonly) const uint8_t *dataV; 28 | @property(nonatomic, readonly) int strideY; 29 | @property(nonatomic, readonly) int strideU; 30 | @property(nonatomic, readonly) int strideV; 31 | 32 | - (instancetype)initWithWidth:(int)width 33 | height:(int)height 34 | dataY:(const uint8_t *)dataY 35 | dataU:(const uint8_t *)dataU 36 | dataV:(const uint8_t *)dataV; 37 | - (instancetype)initWithWidth:(int)width height:(int)height; 38 | - (instancetype)initWithWidth:(int)width 39 | height:(int)height 40 | strideY:(int)strideY 41 | strideU:(int)strideU 42 | strideV:(int)strideV; 43 | 44 | @end 45 | 46 | NS_ASSUME_NONNULL_END 47 | -------------------------------------------------------------------------------- /WebRTC.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/WebRTC.framework/Info.plist -------------------------------------------------------------------------------- /WebRTC.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module WebRTC { 2 | umbrella header "WebRTC.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /WebRTC.framework/WebRTC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/WebRTC.framework/WebRTC -------------------------------------------------------------------------------- /docs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/.gitkeep -------------------------------------------------------------------------------- /docs/badge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | documentation 17 | 18 | 19 | documentation 20 | 21 | 22 | 48% 23 | 24 | 25 | 48% 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/docsets/.docset/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | com.jazzy. 7 | CFBundleName 8 | 9 | DocSetPlatformFamily 10 | 11 | isDashDocset 12 | 13 | dashIndexFilePath 14 | index.html 15 | isJavaScriptEnabled 16 | 17 | DashDocSetFamily 18 | dashtoc 19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/docsets/.docset/Contents/Resources/Documents/badge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | documentation 17 | 18 | 19 | documentation 20 | 21 | 22 | 51% 23 | 24 | 25 | 51% 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/docsets/.docset/Contents/Resources/Documents/img/carat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/docsets/.docset/Contents/Resources/Documents/img/carat.png -------------------------------------------------------------------------------- /docs/docsets/.docset/Contents/Resources/Documents/img/dash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/docsets/.docset/Contents/Resources/Documents/img/dash.png -------------------------------------------------------------------------------- /docs/docsets/.docset/Contents/Resources/Documents/img/gh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/docsets/.docset/Contents/Resources/Documents/img/gh.png -------------------------------------------------------------------------------- /docs/docsets/.docset/Contents/Resources/Documents/img/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/docsets/.docset/Contents/Resources/Documents/img/spinner.gif -------------------------------------------------------------------------------- /docs/docsets/.docset/Contents/Resources/docSet.dsidx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/docsets/.docset/Contents/Resources/docSet.dsidx -------------------------------------------------------------------------------- /docs/docsets/.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/docsets/.tgz -------------------------------------------------------------------------------- /docs/img/carat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/img/carat.png -------------------------------------------------------------------------------- /docs/img/dash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/img/dash.png -------------------------------------------------------------------------------- /docs/img/gh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/img/gh.png -------------------------------------------------------------------------------- /docs/img/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/docs/img/spinner.gif -------------------------------------------------------------------------------- /examples/BaseExamples/BaseExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/BaseExamples/BaseExamples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/BaseExamples/BaseExamples.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/BaseExamples/BaseExamples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/BaseExamples/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | platform :ios, '10.0' 3 | 4 | target 'SimpleRemon' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for SampleV2 9 | pod 'RemoteMonster', '~>2.7.17' 10 | 11 | end 12 | 13 | 14 | target 'SimpleRemonObjC' do 15 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 16 | use_frameworks! 17 | 18 | # Pods for SampleV2 19 | pod 'RemoteMonster', '~>2.7.17' 20 | end 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /examples/BaseExamples/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Remon-WebRTC-iOS (1.86.2) 3 | - RemoteMonster (2.7.17): 4 | - Remon-WebRTC-iOS (= 1.86.2) 5 | 6 | DEPENDENCIES: 7 | - RemoteMonster (~> 2.7.17) 8 | 9 | SPEC REPOS: 10 | trunk: 11 | - Remon-WebRTC-iOS 12 | - RemoteMonster 13 | 14 | SPEC CHECKSUMS: 15 | Remon-WebRTC-iOS: 045106311d663fd7dfd7e8e2c78153b22d802c94 16 | RemoteMonster: 4b3721a2595debfea071a308d9758bd4ce169378 17 | 18 | PODFILE CHECKSUM: bf24df14d775c1caaa8443bd22ec713777693d7e 19 | 20 | COCOAPODS: 1.11.2 21 | -------------------------------------------------------------------------------- /examples/BaseExamples/Record/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /examples/BaseExamples/Record/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/BaseExamples/Record/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /examples/BaseExamples/Record/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSMicrophoneUsageDescription 24 | use mic 25 | UIFileSharingEnabled 26 | 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UISupportedInterfaceOrientations 36 | 37 | UIInterfaceOrientationPortrait 38 | UIInterfaceOrientationLandscapeLeft 39 | UIInterfaceOrientationLandscapeRight 40 | 41 | UISupportedInterfaceOrientations~ipad 42 | 43 | UIInterfaceOrientationPortrait 44 | UIInterfaceOrientationPortraitUpsideDown 45 | UIInterfaceOrientationLandscapeLeft 46 | UIInterfaceOrientationLandscapeRight 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /examples/BaseExamples/Resources/hamburger-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/Resources/hamburger-01.png -------------------------------------------------------------------------------- /examples/BaseExamples/Resources/hamburger-01@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/Resources/hamburger-01@2X.png -------------------------------------------------------------------------------- /examples/BaseExamples/Resources/remon_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/Resources/remon_icon_1024.png -------------------------------------------------------------------------------- /examples/BaseExamples/Resources/remon_icon_4276.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/Resources/remon_icon_4276.png -------------------------------------------------------------------------------- /examples/BaseExamples/Resources/remon_identity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/Resources/remon_identity.png -------------------------------------------------------------------------------- /examples/BaseExamples/Resources/remon_identityL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/Resources/remon_identityL.png -------------------------------------------------------------------------------- /examples/BaseExamples/Resources/remon_identityL@X2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/Resources/remon_identityL@X2.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSBluetoothPeripheralUsageDescription 24 | use Bluetooth 25 | NSCameraUsageDescription 26 | use Camera 27 | NSMicrophoneUsageDescription 28 | use mic 29 | UIFileSharingEnabled 30 | 31 | UILaunchStoryboardName 32 | LaunchScreen 33 | UIMainStoryboardFile 34 | Main 35 | UIRequiredDeviceCapabilities 36 | 37 | armv7 38 | 39 | UISupportedInterfaceOrientations 40 | 41 | UIInterfaceOrientationPortrait 42 | 43 | UISupportedInterfaceOrientations~ipad 44 | 45 | UIInterfaceOrientationPortrait 46 | UIInterfaceOrientationPortraitUpsideDown 47 | UIInterfaceOrientationLandscapeLeft 48 | UIInterfaceOrientationLandscapeRight 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/SimpleCallViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SimpleCallViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | @import RemoteMonster; 11 | 12 | @interface SimpleCallViewController : UIViewController 13 | @property RemonConfig *customConfig; 14 | @end 15 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/SimpleCastViewerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SimpleCastViewerViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | @import RemoteMonster; 11 | 12 | @interface SimpleCastViewerViewController : UIViewController 13 | @property RemonConfig *customConfig; 14 | @property NSString *toChId; 15 | @end 16 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/SimpleSerchTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SampleSerchTableViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | @import RemoteMonster; 11 | 12 | @interface SimpleSerchTableViewController : UIViewController 13 | @property RemonConfig *customConfig; 14 | @end 15 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/SimpleVideoCastViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SimpleVideoCastViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | @import RemoteMonster; 11 | 12 | @interface SimpleVideoCastViewController : UIViewController 13 | @property RemonConfig *customConfig; 14 | @end 15 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleObjC/objc_ConfigViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface objc_ConfigViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-120.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-121.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-121.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-167.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-180.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-20.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-29.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-40.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-41.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-42.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-58.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-59.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-60.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-76.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-80.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-81.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/Icon-81.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/remon_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/BaseExamples/SimpleRemon/Assets.xcassets/AppIcon.appiconset/remon_icon_1024.png -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSAppTransportSecurity 24 | 25 | NSAllowsArbitraryLoads 26 | 27 | NSAllowsArbitraryLoadsInWebContent 28 | 29 | 30 | NSBluetoothPeripheralUsageDescription 31 | use Bluetooth 32 | NSCameraUsageDescription 33 | use Camera 34 | NSMicrophoneUsageDescription 35 | use mic 36 | UIBackgroundModes 37 | 38 | voip 39 | 40 | UIFileSharingEnabled 41 | 42 | UILaunchStoryboardName 43 | LaunchScreen 44 | UIMainStoryboardFile 45 | Main 46 | UIRequiredDeviceCapabilities 47 | 48 | armv7 49 | 50 | UIRequiresFullScreen 51 | 52 | UIStatusBarHidden 53 | 54 | UISupportedInterfaceOrientations 55 | 56 | UIInterfaceOrientationPortrait 57 | 58 | UISupportedInterfaceOrientations~ipad 59 | 60 | UIInterfaceOrientationPortrait 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/NSLayoutConstraint+Multiplier.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSConstraint.swift 3 | // SimpleRemon 4 | // 5 | // Created by Chance Kim on 26/06/2019. 6 | // 7 | 8 | import UIKit 9 | 10 | 11 | extension NSLayoutConstraint { 12 | func setMultiplier( multiplier:CGFloat) { 13 | NSLayoutConstraint.deactivate([self]) 14 | let newConstraint = NSLayoutConstraint( 15 | item: firstItem!, 16 | attribute: firstAttribute, 17 | relatedBy: relation, 18 | toItem: secondItem, 19 | attribute: secondAttribute, 20 | multiplier: multiplier, 21 | constant: constant) 22 | 23 | newConstraint.priority = priority 24 | newConstraint.shouldBeArchived = self.shouldBeArchived 25 | newConstraint.identifier = self.identifier 26 | 27 | NSLayoutConstraint.activate([newConstraint]) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/RemonSettings.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AudioType 6 | voice 7 | AGC 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/BaseExamples/SimpleRemon/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // SampleV2 4 | // 5 | // Created by hyounsiklee on 2018. 5. 14.. 6 | // Copyright © 2018년 Remon. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RemoteMonster 11 | class ViewController: UIViewController { 12 | 13 | @IBOutlet var remonCast: RemonCall! 14 | 15 | override func viewDidLoad() { 16 | super.viewDidLoad() 17 | 18 | } 19 | 20 | override func didReceiveMemoryWarning() { 21 | super.didReceiveMemoryWarning() 22 | 23 | } 24 | 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /examples/RemonCapturer/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | platform :ios, '10.0' 3 | 4 | target 'RemonCapturer' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for SampleV2 9 | pod 'RemoteMonster', '~> 2.7.10' 10 | pod 'GPUImage' 11 | end 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/RemonCapturer/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - GPUImage (0.1.7) 3 | - Remon-WebRTC-iOS (1.86.1) 4 | - RemoteMonster (2.7.11): 5 | - Remon-WebRTC-iOS (= 1.86.1) 6 | - SwiftProtobuf (= 1.9.0) 7 | - SwiftProtobuf (1.9.0) 8 | 9 | DEPENDENCIES: 10 | - GPUImage 11 | - RemoteMonster (~> 2.7.10) 12 | 13 | SPEC REPOS: 14 | trunk: 15 | - GPUImage 16 | - Remon-WebRTC-iOS 17 | - RemoteMonster 18 | - SwiftProtobuf 19 | 20 | SPEC CHECKSUMS: 21 | GPUImage: 733a5f0fab92df9de1c37ba9df520a833ccb406d 22 | Remon-WebRTC-iOS: d81f92da38c2fe24f1ae2f3139dd3c69e505f1d8 23 | RemoteMonster: 34401710e97bafd917897f3f0711f6a45017a47f 24 | SwiftProtobuf: ecbec1be9036d15655f6b3443a1c4ea693c97932 25 | 26 | PODFILE CHECKSUM: f7a442a2f511d84ec9149f7aca8c884c258c364e 27 | 28 | COCOAPODS: 1.9.3 29 | -------------------------------------------------------------------------------- /examples/RemonCapturer/RemonCapturer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/RemonCapturer/RemonCapturer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/RemonCapturer/RemonCapturer.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/RemonCapturer/RemonCapturer.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/RemonCapturer/RemonCapturer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /examples/RemonCapturer/RemonCapturer/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/RemonCapturer/RemonCapturer/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /examples/RemonCapturer/RemonCapturer/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSCameraUsageDescription 24 | use Camera 25 | NSMicrophoneUsageDescription 26 | use mic 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UISupportedInterfaceOrientations 36 | 37 | UIInterfaceOrientationPortrait 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /examples/RemonCapturer/Resources/remon_identity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/RemonCapturer/Resources/remon_identity.png -------------------------------------------------------------------------------- /examples/RemonExamples/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSBluetoothPeripheralUsageDescription 24 | use Bluetooth 25 | NSCameraUsageDescription 26 | use Camera 27 | NSMicrophoneUsageDescription 28 | use mic 29 | UILaunchStoryboardName 30 | LaunchScreen 31 | UIMainStoryboardFile 32 | Main 33 | UIRequiredDeviceCapabilities 34 | 35 | armv7 36 | 37 | UISupportedInterfaceOrientations 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationLandscapeLeft 41 | UIInterfaceOrientationLandscapeRight 42 | 43 | UISupportedInterfaceOrientations~ipad 44 | 45 | UIInterfaceOrientationPortrait 46 | UIInterfaceOrientationPortraitUpsideDown 47 | UIInterfaceOrientationLandscapeLeft 48 | UIInterfaceOrientationLandscapeRight 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /examples/RemonExamples/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | platform :ios, '10.3' 3 | 4 | target 'RemonFull' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for SampleV2 9 | pod 'RemoteMonster', '~>2.7.13' 10 | 11 | end 12 | 13 | target 'RemonCall' do 14 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 15 | use_frameworks! 16 | 17 | # Pods for SampleV2 18 | pod 'RemoteMonster', '~>2.7.13' 19 | # pod 'Firebase/Core' 20 | # pod 'Firebase/Database' 21 | 22 | end 23 | 24 | target 'RemonEx-objc' do 25 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 26 | use_frameworks! 27 | 28 | # Pods for SampleV2 29 | pod 'RemoteMonster', '~>2.7.13' 30 | end 31 | 32 | -------------------------------------------------------------------------------- /examples/RemonExamples/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Remon-WebRTC-iOS (1.86.2) 3 | - RemoteMonster (2.7.15): 4 | - Remon-WebRTC-iOS (= 1.86.2) 5 | - SwiftProtobuf (= 1.9.0) 6 | - SwiftProtobuf (1.9.0) 7 | 8 | DEPENDENCIES: 9 | - RemoteMonster (~> 2.7.13) 10 | 11 | SPEC REPOS: 12 | trunk: 13 | - Remon-WebRTC-iOS 14 | - RemoteMonster 15 | - SwiftProtobuf 16 | 17 | SPEC CHECKSUMS: 18 | Remon-WebRTC-iOS: 045106311d663fd7dfd7e8e2c78153b22d802c94 19 | RemoteMonster: 4079981266d8bd923e8af7d98479233a6fdc0359 20 | SwiftProtobuf: ecbec1be9036d15655f6b3443a1c4ea693c97932 21 | 22 | PODFILE CHECKSUM: 68c5054cf0d380dec90c9f9d56c5d0579e30af35 23 | 24 | COCOAPODS: 1.10.1 25 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSBluetoothPeripheralUsageDescription 24 | use Bluetooth 25 | NSCameraUsageDescription 26 | use Camera 27 | NSMicrophoneUsageDescription 28 | use mic 29 | UILaunchStoryboardName 30 | LaunchScreen 31 | UIMainStoryboardFile 32 | Main 33 | UIRequiredDeviceCapabilities 34 | 35 | armv7 36 | 37 | UISupportedInterfaceOrientations 38 | 39 | UIInterfaceOrientationPortrait 40 | 41 | UISupportedInterfaceOrientations~ipad 42 | 43 | UIInterfaceOrientationPortrait 44 | UIInterfaceOrientationPortraitUpsideDown 45 | UIInterfaceOrientationLandscapeLeft 46 | UIInterfaceOrientationLandscapeRight 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/SimpleCallViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SimpleCallViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | @import RemoteMonster; 11 | 12 | @interface SimpleCallViewController : UIViewController 13 | @property RemonConfig *customConfig; 14 | @end 15 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/SimpleCastViewerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SimpleCastViewerViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | @import RemoteMonster; 11 | 12 | @interface SimpleCastViewerViewController : UIViewController 13 | @property RemonConfig *customConfig; 14 | @property NSString *toChId; 15 | @end 16 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/SimpleSerchTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SampleSerchTableViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | @import RemoteMonster; 11 | 12 | @interface SimpleSerchTableViewController : UIViewController 13 | @property RemonConfig *customConfig; 14 | @end 15 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/SimpleVideoCastViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SimpleVideoCastViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | @import RemoteMonster; 11 | 12 | @interface SimpleVideoCastViewController : UIViewController 13 | @property RemonConfig *customConfig; 14 | @end 15 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonEx-objc/objc_ConfigViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // verySimpleRomen-objc 4 | // 5 | // Created by lhs on 2018. 9. 11.. 6 | // Copyright © 2018년 Remote Monster. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface objc_ConfigViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSBluetoothPeripheralUsageDescription 24 | use Bluetooth 25 | NSCameraUsageDescription 26 | use Camera 27 | NSMicrophoneUsageDescription 28 | use mic 29 | UIBackgroundModes 30 | 31 | audio 32 | 33 | UIFileSharingEnabled 34 | 35 | UILaunchStoryboardName 36 | LaunchScreen 37 | UIMainStoryboardFile 38 | Main 39 | UIRequiredDeviceCapabilities 40 | 41 | armv7 42 | 43 | UISupportedInterfaceOrientations 44 | 45 | UIInterfaceOrientationPortrait 46 | UIInterfaceOrientationLandscapeLeft 47 | UIInterfaceOrientationLandscapeRight 48 | 49 | UISupportedInterfaceOrientations~ipad 50 | 51 | UIInterfaceOrientationPortrait 52 | UIInterfaceOrientationPortraitUpsideDown 53 | UIInterfaceOrientationLandscapeLeft 54 | UIInterfaceOrientationLandscapeRight 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull/RemonSettings.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AudioType 6 | music 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull/SimpleAudioSessionObserver.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SimpleAudioSessionDelegate.swift 3 | // RemonFull 4 | // 5 | // Created by hsik on 03/07/2018. 6 | // Copyright © 2018 Remon. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import AVKit 11 | 12 | class SimpleAudioSessionObserver: NSObject { 13 | override init() { 14 | super.init() 15 | self.setupNotifications() 16 | } 17 | 18 | func setupNotifications() { 19 | let notificationCenter = NotificationCenter.default 20 | notificationCenter.addObserver(self, 21 | selector: #selector(handleRouteChange), 22 | name: .AVAudioSessionRouteChange, 23 | object: nil) 24 | } 25 | 26 | @objc func handleRouteChange(notification: Notification) { 27 | guard let userInfo = notification.userInfo, 28 | let reasonValue = userInfo[AVAudioSessionRouteChangeReasonKey] as? UInt, 29 | let reason = AVAudioSessionRouteChangeReason(rawValue:reasonValue) else { 30 | return 31 | } 32 | 33 | switch reason { 34 | case .newDeviceAvailable: 35 | let session = AVAudioSession.sharedInstance() 36 | for output in session.currentRoute.outputs { 37 | print("새로운 디바이스",output.portType) 38 | } 39 | 40 | case .oldDeviceUnavailable: 41 | if let previousRoute = 42 | userInfo[AVAudioSessionRouteChangePreviousRouteKey] as? AVAudioSessionRouteDescription { 43 | for output in previousRoute.outputs { 44 | print("이전 디바이스", output.portType) 45 | } 46 | } 47 | 48 | default: () 49 | } 50 | 51 | print("현재 디바이스", AVAudioSession.sharedInstance().currentRoute) 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonFull/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // SampleV2 4 | // 5 | // Created by hyounsiklee on 2018. 5. 14.. 6 | // Copyright © 2018년 Remon. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RemoteMonster 11 | class ViewController: UIViewController { 12 | 13 | @IBOutlet var remonCast: RemonCall! 14 | 15 | override func viewDidLoad() { 16 | super.viewDidLoad() 17 | 18 | } 19 | 20 | override func didReceiveMemoryWarning() { 21 | super.didReceiveMemoryWarning() 22 | 23 | } 24 | 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /examples/RemonExamples/RemonSettings.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AudioType 6 | voice 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/RemonExamples/remonCall/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /examples/RemonExamples/remonCall/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/RemonExamples/remonCall/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /examples/RemonExamples/remonCall/GoogleService-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AD_UNIT_ID_FOR_BANNER_TEST 6 | ca-app-pub-3940256099942544/2934735716 7 | AD_UNIT_ID_FOR_INTERSTITIAL_TEST 8 | ca-app-pub-3940256099942544/4411468910 9 | CLIENT_ID 10 | 209731474483-cmqekvltir4tm79i4ndjghne9bt6h77m.apps.googleusercontent.com 11 | REVERSED_CLIENT_ID 12 | com.googleusercontent.apps.209731474483-cmqekvltir4tm79i4ndjghne9bt6h77m 13 | API_KEY 14 | AIzaSyB0HOQKi011LHL_RAVfGn0t11BqMUKQ9fE 15 | GCM_SENDER_ID 16 | 209731474483 17 | PLIST_VERSION 18 | 1 19 | BUNDLE_ID 20 | com.Remotemonster.RemonCall 21 | PROJECT_ID 22 | remon-179706 23 | STORAGE_BUCKET 24 | remon-179706.appspot.com 25 | IS_ADS_ENABLED 26 | 27 | IS_ANALYTICS_ENABLED 28 | 29 | IS_APPINVITE_ENABLED 30 | 31 | IS_GCM_ENABLED 32 | 33 | IS_SIGNIN_ENABLED 34 | 35 | GOOGLE_APP_ID 36 | 1:209731474483:ios:5b9ef77ecfd3d068 37 | DATABASE_URL 38 | https://remon-179706.firebaseio.com 39 | 40 | -------------------------------------------------------------------------------- /examples/RemonExamples/remonCall/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSBluetoothPeripheralUsageDescription 24 | use Bluetooth 25 | NSCameraUsageDescription 26 | use Camera 27 | NSMicrophoneUsageDescription 28 | use mic 29 | UIBackgroundModes 30 | 31 | voip 32 | 33 | UILaunchStoryboardName 34 | LaunchScreen 35 | UIMainStoryboardFile 36 | Main 37 | UIRequiredDeviceCapabilities 38 | 39 | armv7 40 | 41 | UISupportedInterfaceOrientations 42 | 43 | UIInterfaceOrientationPortrait 44 | 45 | UISupportedInterfaceOrientations~ipad 46 | 47 | UIInterfaceOrientationPortrait 48 | UIInterfaceOrientationPortraitUpsideDown 49 | UIInterfaceOrientationLandscapeLeft 50 | UIInterfaceOrientationLandscapeRight 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /examples/RemonExamples/remonCall/RemonCall.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | aps-environment 6 | development 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/SimpleConference/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'SimpleConference' do 5 | # Comment the next line if you don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for SimpleConference 9 | pod 'RemoteMonster', '~>2.7.15' 10 | end 11 | 12 | target 'SimpleConferenceOC' do 13 | # Comment the next line if you don't want to use dynamic frameworks 14 | use_frameworks! 15 | 16 | # Pods for SimpleConferenceOC 17 | pod 'RemoteMonster', '~>2.7.15' 18 | end 19 | -------------------------------------------------------------------------------- /examples/SimpleConference/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Remon-WebRTC-iOS (1.86.2) 3 | - RemoteMonster (2.7.15): 4 | - Remon-WebRTC-iOS (= 1.86.2) 5 | - SwiftProtobuf (= 1.9.0) 6 | - SwiftProtobuf (1.9.0) 7 | 8 | DEPENDENCIES: 9 | - RemoteMonster (~> 2.7.15) 10 | 11 | SPEC REPOS: 12 | trunk: 13 | - Remon-WebRTC-iOS 14 | - RemoteMonster 15 | - SwiftProtobuf 16 | 17 | SPEC CHECKSUMS: 18 | Remon-WebRTC-iOS: 045106311d663fd7dfd7e8e2c78153b22d802c94 19 | RemoteMonster: 4079981266d8bd923e8af7d98479233a6fdc0359 20 | SwiftProtobuf: ecbec1be9036d15655f6b3443a1c4ea693c97932 21 | 22 | PODFILE CHECKSUM: faa98b54796236614e920a3da00ea34107e3b94e 23 | 24 | COCOAPODS: 1.10.1 25 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // SimpleConference 4 | // 5 | // Created by Chance Kim on 2019/11/13. 6 | // Copyright © 2019 remote monster. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | 15 | 16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 17 | // Override point for customization after application launch. 18 | return true 19 | } 20 | 21 | // MARK: UISceneSession Lifecycle 22 | @available( iOS 13.0, *) 23 | func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { 24 | // Called when a new scene session is being created. 25 | // Use this method to select a configuration to create the new scene with. 26 | return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) 27 | } 28 | 29 | @available( iOS 13.0, *) 30 | func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { 31 | // Called when the user discards a scene session. 32 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. 33 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 34 | } 35 | 36 | 37 | } 38 | 39 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/audio_off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "audio_off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/audio_off.imageset/audio_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/audio_off.imageset/audio_off.png -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/audio_on.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "audio_on.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/audio_on.imageset/audio_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/audio_on.imageset/audio_on.png -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/ic_sms_black.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_sms_black_18dp.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_sms_black_24dp.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_sms_black_48dp.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/ic_sms_black.imageset/ic_sms_black_18dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/ic_sms_black.imageset/ic_sms_black_18dp.png -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/ic_sms_black.imageset/ic_sms_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/ic_sms_black.imageset/ic_sms_black_24dp.png -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/ic_sms_black.imageset/ic_sms_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/ic_sms_black.imageset/ic_sms_black_48dp.png -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/video_off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "video_off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/video_off.imageset/video_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/video_off.imageset/video_off.png -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/video_on.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "video_on.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/video_on.imageset/video_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/examples/SimpleConference/SimpleConference/Resources/Assets.xcassets/video_on.imageset/video_on.png -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConferenceOC/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // SimpleConferenceOC 4 | // 5 | // Created by chance.k on 2020/11/10. 6 | // Copyright © 2020 remote monster. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConferenceOC/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // SimpleConferenceOC 4 | // 5 | // Created by chance.k on 2020/11/10. 6 | // Copyright © 2020 remote monster. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | // Override point for customization after application launch. 20 | return YES; 21 | } 22 | 23 | 24 | #pragma mark - UISceneSession lifecycle 25 | 26 | 27 | - (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options { 28 | // Called when a new scene session is being created. 29 | // Use this method to select a configuration to create the new scene with. 30 | return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role]; 31 | } 32 | 33 | 34 | - (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet *)sceneSessions { 35 | // Called when the user discards a scene session. 36 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. 37 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 38 | } 39 | 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConferenceOC/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConferenceOC/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConferenceOC/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConferenceOC/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // SimpleConferenceOC 4 | // 5 | // Created by chance.k on 2020/11/10. 6 | // Copyright © 2020 remote monster. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConferenceOC/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // SimpleConferenceOC 4 | // 5 | // Created by chance.k on 2020/11/10. 6 | // Copyright © 2020 remote monster. All rights reserved. 7 | // 8 | 9 | #import 10 | @import RemoteMonster; 11 | 12 | @interface ViewController : UIViewController 13 | 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /examples/SimpleConference/SimpleConferenceOC/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // SimpleConferenceOC 4 | // 5 | // Created by chance.k on 2020/11/10. 6 | // Copyright © 2020 remote monster. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | NSString * appDelegateClassName; 14 | @autoreleasepool { 15 | // Setup code that might create autoreleased objects goes here. 16 | appDelegateClassName = NSStringFromClass([AppDelegate class]); 17 | } 18 | return UIApplicationMain(argc, argv, nil, appDelegateClassName); 19 | } 20 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | platform :ios, '10.0' 3 | 4 | target 'SimpleDualCall' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | pod 'RemoteMonster', '~>2.7.15' 8 | 9 | end 10 | 11 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Remon-WebRTC-iOS (1.86.2) 3 | - RemoteMonster (2.7.15): 4 | - Remon-WebRTC-iOS (= 1.86.2) 5 | - SwiftProtobuf (= 1.9.0) 6 | - SwiftProtobuf (1.9.0) 7 | 8 | DEPENDENCIES: 9 | - RemoteMonster (~> 2.7.15) 10 | 11 | SPEC REPOS: 12 | trunk: 13 | - Remon-WebRTC-iOS 14 | - RemoteMonster 15 | - SwiftProtobuf 16 | 17 | SPEC CHECKSUMS: 18 | Remon-WebRTC-iOS: 045106311d663fd7dfd7e8e2c78153b22d802c94 19 | RemoteMonster: 4079981266d8bd923e8af7d98479233a6fdc0359 20 | SwiftProtobuf: ecbec1be9036d15655f6b3443a1c4ea693c97932 21 | 22 | PODFILE CHECKSUM: 71917a8b2cd942a886fb9c73941d0fd9b92f34dc 23 | 24 | COCOAPODS: 1.10.1 25 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "object": { 3 | "pins": [ 4 | { 5 | "package": "SwiftProtobuf", 6 | "repositoryURL": "https://github.com/apple/swift-protobuf.git", 7 | "state": { 8 | "branch": null, 9 | "revision": "da75a93ac017534e0028e83c0e4fc4610d2acf48", 10 | "version": "1.7.0" 11 | } 12 | } 13 | ] 14 | }, 15 | "version": 1 16 | } 17 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // SimpleDualCall 4 | // 5 | // Created by Chance Kim on 2019/10/24. 6 | // Copyright © 2019 remote monster. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | 15 | 16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 17 | // Override point for customization after application launch. 18 | return true 19 | } 20 | 21 | // MARK: UISceneSession Lifecycle 22 | 23 | @available( iOS 13.0, *) 24 | func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { 25 | // Called when a new scene session is being created. 26 | // Use this method to select a configuration to create the new scene with. 27 | return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) 28 | } 29 | 30 | @available( iOS 13.0, *) 31 | func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { 32 | // Called when the user discards a scene session. 33 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. 34 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 35 | } 36 | 37 | 38 | } 39 | 40 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall/MainViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MainViewController.swift 3 | // SimpleDualCall 4 | // 5 | // Created by Chance Kim on 2019/10/29. 6 | // Copyright © 2019 remote monster. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class MainViewController : UIViewController { 12 | 13 | 14 | override func viewDidLoad() { 15 | super.viewDidLoad() 16 | 17 | self.navigationController?.setNavigationBarHidden(true, animated: false) 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /examples/SimpleDualCall/SimpleDualCall/RemonSettings.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AudioType 6 | voice 7 | AGC 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /notice/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RemoteMonster/ios-sdk/cdc15785b7f89c6dd5dcab21ae4d0a36161ad09f/notice/.gitkeep -------------------------------------------------------------------------------- /notice/webrtc-LICENSE: -------------------------------------------------------------------------------- 1 | https://webrtc.org 2 | https://webrtc.org/license/software/ 3 | *** 4 | Copyright (c) 2011, The WebRTC project authors. All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are 8 | met: 9 | 10 | * Redistributions of source code must retain the above copyright 11 | notice, this list of conditions and the following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above copyright 14 | notice, this list of conditions and the following disclaimer in 15 | the documentation and/or other materials provided with the 16 | distribution. 17 | 18 | * Neither the name of Google nor the names of its contributors may 19 | be used to endorse or promote products derived from this software 20 | without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 26 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 27 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 28 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 32 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | -------------------------------------------------------------------------------- /notice/webrtc-PATENTS: -------------------------------------------------------------------------------- 1 | https://webrtc.org 2 | https://webrtc.org/license/additional-ip-grant/ 3 | *** 4 | Additional IP Rights Grant (Patents) 5 | 6 | "This implementation" means the copyrightable works distributed by 7 | Google as part of the WebRTC code package. 8 | 9 | Google hereby grants to you a perpetual, worldwide, non-exclusive, 10 | no-charge, irrevocable (except as stated in this section) patent 11 | license to make, have made, use, offer to sell, sell, import, 12 | transfer, and otherwise run, modify and propagate the contents of this 13 | implementation of the WebRTC code package, where such license applies 14 | only to those patent claims, both currently owned by Google and 15 | acquired in the future, licensable by Google that are necessarily 16 | infringed by this implementation of the WebRTC code package. This 17 | grant does not include claims that would be infringed only as a 18 | consequence of further modification of this implementation. If you or 19 | your agent or exclusive licensee institute or order or agree to the 20 | institution of patent litigation against any entity (including a 21 | cross-claim or counterclaim in a lawsuit) alleging that this 22 | implementation of the WebRTC code package or any code incorporated 23 | within this implementation of the WebRTC code package constitutes 24 | direct or contributory patent infringement, or inducement of patent 25 | infringement, then any patent rights granted to you under this License 26 | for this implementation of the WebRTC code package shall terminate as 27 | of the date such litigation is filed. 28 | --------------------------------------------------------------------------------