├── .gitignore ├── IosRtcPlugin ├── IosRtcPlugin.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── shannah.xcuserdatad │ │ │ ├── IDEFindNavigatorScopes.plist │ │ │ └── UserInterfaceState.xcuserstate │ ├── xcshareddata │ │ └── xcschemes │ │ │ └── IosRtcPlugin.xcscheme │ └── xcuserdata │ │ └── shannah.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ └── xcschememanagement.plist └── IosRtcPlugin │ ├── Info.plist │ ├── IosRtcPlugin.h │ ├── PluginEnumerateDevices.swift │ ├── PluginGetUserMedia.swift │ ├── PluginMediaStream.swift │ ├── PluginMediaStreamRenderer.swift │ ├── PluginMediaStreamTrack.swift │ ├── PluginRTCAudioController.swift │ ├── PluginRTCDTMFSender.swift │ ├── PluginRTCDataChannel.swift │ ├── PluginRTCPeerConnection.swift │ ├── PluginRTCPeerConnectionConfig.swift │ ├── PluginRTCPeerConnectionConstraints.swift │ ├── PluginRTCTypes.swift │ ├── PluginRTCVideoCaptureController.swift │ ├── PluginUtils.swift │ ├── WebRTC.framework │ ├── Headers │ │ ├── RTCAudioSession.h │ │ ├── RTCAudioSessionConfiguration.h │ │ ├── RTCAudioSource.h │ │ ├── RTCAudioTrack.h │ │ ├── RTCCallbackLogger.h │ │ ├── RTCCameraPreviewView.h │ │ ├── RTCCameraVideoCapturer.h │ │ ├── RTCConfiguration.h │ │ ├── RTCDataChannel.h │ │ ├── RTCDataChannelConfiguration.h │ │ ├── RTCDispatcher.h │ │ ├── RTCDtmfSender.h │ │ ├── RTCEAGLVideoView.h │ │ ├── RTCFieldTrials.h │ │ ├── RTCFileLogger.h │ │ ├── RTCFileVideoCapturer.h │ │ ├── RTCIceCandidate.h │ │ ├── RTCIceServer.h │ │ ├── RTCIntervalRange.h │ │ ├── RTCLegacyStatsReport.h │ │ ├── RTCLogging.h │ │ ├── RTCMTLVideoView.h │ │ ├── RTCMacros.h │ │ ├── RTCMediaConstraints.h │ │ ├── RTCMediaSource.h │ │ ├── RTCMediaStream.h │ │ ├── RTCMediaStreamTrack.h │ │ ├── RTCMetrics.h │ │ ├── RTCMetricsSampleInfo.h │ │ ├── RTCPeerConnection.h │ │ ├── RTCPeerConnectionFactory.h │ │ ├── RTCPeerConnectionFactoryOptions.h │ │ ├── RTCRtcpParameters.h │ │ ├── RTCRtpCodecParameters.h │ │ ├── RTCRtpEncodingParameters.h │ │ ├── RTCRtpHeaderExtension.h │ │ ├── RTCRtpParameters.h │ │ ├── RTCRtpReceiver.h │ │ ├── RTCRtpSender.h │ │ ├── RTCRtpTransceiver.h │ │ ├── RTCSSLAdapter.h │ │ ├── RTCSessionDescription.h │ │ ├── RTCTracing.h │ │ ├── RTCVideoCapturer.h │ │ ├── RTCVideoCodec.h │ │ ├── RTCVideoCodecFactory.h │ │ ├── RTCVideoCodecH264.h │ │ ├── RTCVideoDecoderVP8.h │ │ ├── RTCVideoDecoderVP9.h │ │ ├── RTCVideoEncoderVP8.h │ │ ├── RTCVideoEncoderVP9.h │ │ ├── RTCVideoFrame.h │ │ ├── RTCVideoFrameBuffer.h │ │ ├── RTCVideoRenderer.h │ │ ├── RTCVideoSource.h │ │ ├── RTCVideoTrack.h │ │ ├── RTCVideoViewShading.h │ │ ├── UIDevice+RTCDevice.h │ │ └── WebRTC.h │ ├── Info.plist │ ├── Modules │ │ └── module.modulemap │ └── WebRTC │ ├── cordova-plugin-iosrtc-Bridging-Header.h │ ├── include │ ├── Cordova.h │ └── Cordova │ │ ├── CDV.h │ │ ├── CDVAppDelegate.h │ │ ├── CDVAppDelegate.m │ │ ├── CDVAvailability.h │ │ ├── CDVAvailabilityDeprecated.h │ │ ├── CDVCommandDelegate.h │ │ ├── CDVCommandDelegateImpl.h │ │ ├── CDVCommandDelegateImpl.m │ │ ├── CDVCommandQueue.h │ │ ├── CDVCommandQueue.m │ │ ├── CDVConfigParser.h │ │ ├── CDVConfigParser.m │ │ ├── CDVInvokedUrlCommand.h │ │ ├── CDVInvokedUrlCommand.m │ │ ├── CDVPlugin+Resources.h │ │ ├── CDVPlugin+Resources.m │ │ ├── CDVPlugin.h │ │ ├── CDVPlugin.m │ │ ├── CDVPluginResult.h │ │ ├── CDVPluginResult.m │ │ ├── CDVScreenOrientationDelegate.h │ │ ├── CDVTimer.h │ │ ├── CDVTimer.m │ │ ├── CDVURLSchemeHandler.h │ │ ├── CDVURLSchemeHandler.m │ │ ├── CDVViewController.h │ │ ├── CDVViewController.m │ │ ├── CDVWebViewEngineProtocol.h │ │ ├── CDVWhitelist.h │ │ ├── CDVWhitelist.m │ │ ├── NSDictionary+CordovaPreferences.h │ │ ├── NSDictionary+CordovaPreferences.m │ │ ├── NSMutableArray+QueueAdditions.h │ │ └── NSMutableArray+QueueAdditions.m │ ├── iosRtcPluginBase.m │ ├── iosrtcPlugin.swift │ └── libCordova.a ├── LICENSE ├── README.adoc ├── Versions.properties ├── antw ├── bin ├── WebRTCDemo-release.apk └── webrtc.cn1lib ├── build-android.sh ├── build-javascript-demo.sh ├── build.xml ├── codenameone_settings.sample.properties ├── docs ├── demo │ ├── _icons │ │ ├── apple-touch-icon-114x114-precomposed.png │ │ ├── apple-touch-icon-120x120-precomposed.png │ │ ├── apple-touch-icon-152x152-precomposed.png │ │ ├── apple-touch-icon-57x57-precomposed.png │ │ ├── apple-touch-icon-60x60-precomposed.png │ │ ├── apple-touch-icon-72x72-precomposed.png │ │ ├── apple-touch-icon-76x76-precomposed.png │ │ ├── icon-512x512.png │ │ ├── nice-highres.png │ │ ├── niceicon.png │ │ ├── square.png │ │ ├── square144.png │ │ ├── tiny.png │ │ └── widelogo.310x150.png │ ├── assets │ │ ├── CN1Resource.res │ │ ├── META-INF │ │ │ └── MANIFEST.MF │ │ ├── android_holo_light.res │ │ ├── cn1-version-numbers │ │ ├── com_codename1_rtc_RTCBootstrap.html │ │ ├── com_codename1_rtc_RTCBootstrap.js │ │ ├── com_codename1_rtc_RTCBootstrap_ios.html │ │ ├── iOS7Theme.res │ │ ├── material-design-font.ttf │ │ ├── overview.adoc │ │ └── theme.res │ ├── css │ │ ├── bootstrap-theme.min.css │ │ └── bootstrap.min.css │ ├── favicon.png │ ├── icon.png │ ├── includes │ │ ├── com_codename1_webrtc_WebRTCNative.js │ │ └── com_codename1_webrtc_compat_cordova_CordovaNative.js │ ├── index.html │ ├── js │ │ ├── bootstrap.min.js │ │ ├── fontmetrics.js │ │ ├── jquery.min.js │ │ ├── manup.js │ │ ├── push.js │ │ ├── pwa.js │ │ └── upup.min.js │ ├── manifest.appcache │ ├── manifest.json │ ├── offline.html │ ├── progress.gif │ ├── style.css │ ├── sw.js │ └── teavm │ │ ├── classes.js │ │ ├── classes.js.map │ │ └── classes.js.teavmdbg └── javadoc │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── coderay-asciidoctor.css │ ├── com │ └── codename1 │ │ ├── ui │ │ ├── WebRTCAccessor.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ └── package-tree.html │ │ └── webrtc │ │ ├── AudioTrack.html │ │ ├── AudioTrackConstraints.html │ │ ├── AudioTrackSettings.html │ │ ├── AudioTracks.html │ │ ├── Blob.html │ │ ├── ConstrainBoolean.html │ │ ├── ConstrainNumber.html │ │ ├── ConstrainObject.ConstrainValues.html │ │ ├── ConstrainObject.html │ │ ├── ConstrainString.html │ │ ├── Cursor.html │ │ ├── DisplaySurface.html │ │ ├── ErrorEvent.html │ │ ├── ErrorListener.html │ │ ├── Event.html │ │ ├── EventListener.html │ │ ├── EventTarget.html │ │ ├── ExecutorFunction.html │ │ ├── FacingMode.html │ │ ├── Functor.html │ │ ├── ImageTrackConstraints.ExposureMode.html │ │ ├── ImageTrackConstraints.FocusMode.html │ │ ├── ImageTrackConstraints.PointOfInterest.html │ │ ├── ImageTrackConstraints.PointsOfInterest.html │ │ ├── ImageTrackConstraints.WhiteBalanceMode.html │ │ ├── ImageTrackConstraints.html │ │ ├── JSONStruct.html │ │ ├── JSObject.html │ │ ├── MediaDeviceInfo.Kind.html │ │ ├── MediaDeviceInfo.html │ │ ├── MediaStream.ReadyState.html │ │ ├── MediaStream.html │ │ ├── MediaStreamConstraints.html │ │ ├── MediaStreamTrack.ReadyState.html │ │ ├── MediaStreamTrack.html │ │ ├── MediaStreamTracks.html │ │ ├── MediaStreams.html │ │ ├── MediaTrackConstraints.html │ │ ├── MediaTrackSettings.html │ │ ├── MessageEvent.html │ │ ├── MessageEventSource.html │ │ ├── MessagePort.html │ │ ├── MessagePorts.html │ │ ├── NumberRange.html │ │ ├── Promise.State.html │ │ ├── Promise.html │ │ ├── RTC.html │ │ ├── RTCAnswerOptions.html │ │ ├── RTCAudioElement.html │ │ ├── RTCCertificate.html │ │ ├── RTCCertificates.html │ │ ├── RTCConfiguration.RTCBundlePolicy.html │ │ ├── RTCConfiguration.RTCIceTransportPolicy.html │ │ ├── RTCConfiguration.RTCRtcpMuxPolicy.html │ │ ├── RTCConfiguration.html │ │ ├── RTCConnectionStateChangeEventListener.html │ │ ├── RTCDTMFSender.html │ │ ├── RTCDTMFToneChangeEvent.html │ │ ├── RTCDataChannel.BufferedAmountLowListener.html │ │ ├── RTCDataChannel.CloseListener.html │ │ ├── RTCDataChannel.ClosingListener.html │ │ ├── RTCDataChannel.MessageListener.html │ │ ├── RTCDataChannel.OpenListener.html │ │ ├── RTCDataChannel.RTCDataChannelState.html │ │ ├── RTCDataChannel.html │ │ ├── RTCDataChannelEvent.html │ │ ├── RTCDataChannelEventListener.html │ │ ├── RTCElement.html │ │ ├── RTCIceCandidate.html │ │ ├── RTCIceCandidateEventListener.html │ │ ├── RTCIceCandidateInit.html │ │ ├── RTCIceCandidatePair.html │ │ ├── RTCIceCandidates.html │ │ ├── RTCIceConnectionStateChangeEventListener.html │ │ ├── RTCIceCredentialType.html │ │ ├── RTCIceGatheringStateChangeEventListener.html │ │ ├── RTCIceParameters.html │ │ ├── RTCIceProtocol.html │ │ ├── RTCIceServer.html │ │ ├── RTCIceServers.html │ │ ├── RTCIceTransport.html │ │ ├── RTCIdentityAssertion.html │ │ ├── RTCIdentityErrorEvent.html │ │ ├── RTCIdentityEvent.html │ │ ├── RTCIdentityProvider.html │ │ ├── RTCIdentityProviderRegistrar.html │ │ ├── RTCIdentityResultEventListener.html │ │ ├── RTCList.html │ │ ├── RTCMediaElement.CanPlay.html │ │ ├── RTCMediaElement.NetworkState.html │ │ ├── RTCMediaElement.Preload.html │ │ ├── RTCMediaElement.RTCMediaElementListener.html │ │ ├── RTCMediaElement.ReadyState.html │ │ ├── RTCMediaElement.html │ │ ├── RTCMediaError.MediaErrorCode.html │ │ ├── RTCMediaError.html │ │ ├── RTCNegotiationNeededEventListener.html │ │ ├── RTCOfferAnswerOptions.html │ │ ├── RTCPeerConnection.RTCBundlePolicy.html │ │ ├── RTCPeerConnection.RTCDataChannelInit.html │ │ ├── RTCPeerConnection.RTCIceConnectionState.html │ │ ├── RTCPeerConnection.RTCIceGatheringState.html │ │ ├── RTCPeerConnection.RTCIceTransportPolicy.html │ │ ├── RTCPeerConnection.RTCOfferOptions.html │ │ ├── RTCPeerConnection.RTCPeerConnectionState.html │ │ ├── RTCPeerConnection.RTCRtcpMuxPolicy.html │ │ ├── RTCPeerConnection.RTCSignalingState.html │ │ ├── RTCPeerConnection.html │ │ ├── RTCPeerConnectionIceErrorEvent.html │ │ ├── RTCPeerConnectionIceEvent.html │ │ ├── RTCPromise.html │ │ ├── RTCRtpCapabilities.html │ │ ├── RTCRtpCodecCapability.html │ │ ├── RTCRtpContributingSource.html │ │ ├── RTCRtpContributingSources.html │ │ ├── RTCRtpEncodingParameters.html │ │ ├── RTCRtpHeaderExtensionCapability.html │ │ ├── RTCRtpParameters.html │ │ ├── RTCRtpReceiver.html │ │ ├── RTCRtpReceivers.html │ │ ├── RTCRtpSendParameters.RTCDegradationPreference.html │ │ ├── RTCRtpSendParameters.RTCPriorityType.html │ │ ├── RTCRtpSendParameters.html │ │ ├── RTCRtpSender.html │ │ ├── RTCRtpSenders.html │ │ ├── RTCRtpSynchronizationSource.html │ │ ├── RTCRtpSynchronizationSources.html │ │ ├── RTCRtpTransceiver.html │ │ ├── RTCRtpTransceiverDirection.html │ │ ├── RTCRtpTransceivers.html │ │ ├── RTCSctpTransport.html │ │ ├── RTCSessionDescription.RTCSdpType.html │ │ ├── RTCSessionDescription.html │ │ ├── RTCSessionDescriptionInit.html │ │ ├── RTCSignalingStateChangeEventListener.html │ │ ├── RTCStatsReport.html │ │ ├── RTCStyle.CSSProperty.html │ │ ├── RTCStyle.html │ │ ├── RTCTrackEvent.html │ │ ├── RTCTrackEventListener.html │ │ ├── RTCVideoElement.html │ │ ├── RefCounted.html │ │ ├── ResizeMode.html │ │ ├── SharedScreenTrackConstraints.ConstrainCursor.html │ │ ├── SharedScreenTrackConstraints.ConstrainDisplaySurface.html │ │ ├── SharedScreenTrackConstraints.html │ │ ├── SharedScreenTrackSettings.html │ │ ├── TextTrack.html │ │ ├── TextTracks.html │ │ ├── TimeRanges.html │ │ ├── TrackKind.html │ │ ├── URLs.html │ │ ├── VideoTrack.html │ │ ├── VideoTrackConstraints.ConstrainFacingMode.html │ │ ├── VideoTrackConstraints.ConstrainResizeMode.html │ │ ├── VideoTrackConstraints.html │ │ ├── VideoTrackSettings.html │ │ ├── VideoTracks.html │ │ ├── WebRTCNative.html │ │ ├── compat │ │ └── cordova │ │ │ ├── Cordova.html │ │ │ ├── CordovaCallback.ResponseAction.html │ │ │ ├── CordovaCallback.html │ │ │ ├── CordovaCallbackManager.html │ │ │ ├── CordovaNative.html │ │ │ ├── CordovaPlugin.html │ │ │ ├── EmbeddedCordovaApplication.Result.html │ │ │ ├── EmbeddedCordovaApplication.html │ │ │ ├── IOSRTCPlugin.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ └── package-tree.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ └── package-tree.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── package-list │ ├── script.js │ ├── serialized-form.html │ └── stylesheet.css ├── icon.png ├── javadoc-dependencies └── com.codename1 │ └── package-list ├── lib ├── CN1JSON.cn1lib └── CN1JSON.ver ├── manifest.mf ├── native └── internal_tmp │ └── com │ └── codename1 │ └── webrtc │ ├── WebRTCNativeImpl.class │ ├── WebRTCNativeImpl.java │ └── compat │ └── cordova │ ├── CordovaNativeImpl.class │ └── CordovaNativeImpl.java ├── nbproject ├── build-impl.xml ├── build-impl.xml~ ├── genfiles.properties ├── nativej2me.res ├── project.properties └── project.xml ├── setup.sh ├── src ├── com │ └── codename1 │ │ └── webrtc │ │ ├── WebRTCDemo.java │ │ └── demos │ │ ├── BasicDemo.java │ │ ├── ChangeCodecsDemo.java │ │ ├── ConstraintsDemo.java │ │ ├── ImportStreamDemo.java │ │ ├── InputOutputDemo.java │ │ ├── JSON.java │ │ ├── MungeSdpDemo.java │ │ ├── PeerConnectionDemo.java │ │ ├── PeerConnectionStatesDemo.java │ │ ├── RTCClientDemo.java │ │ ├── RTCVideoContainerDemo.java │ │ └── TrickleIceDemo.java └── theme.res └── webrtc ├── build.xml ├── codenameone_library_appended.properties ├── codenameone_library_required.properties ├── lib └── asciidoclet-1.5.7-SNAPSHOT-shaded.jar ├── manifest.mf ├── manifest.properties ├── native ├── android │ └── com │ │ └── codename1 │ │ └── webrtc │ │ ├── WebRTCNativeImpl.java │ │ └── compat │ │ └── cordova │ │ └── CordovaNativeImpl.java ├── internal_tmp │ └── com │ │ └── codename1 │ │ └── webrtc │ │ ├── WebRTCNativeImpl.class │ │ └── WebRTCNativeImpl.java ├── ios │ ├── IosRtcPlugin.framework.zip │ ├── IosrtcPluginCommandDelegateImpl.h │ ├── IosrtcPluginCommandDelegateImpl.m │ ├── WebRTC.framework.zip │ ├── com_codename1_webrtc_WebRTCNativeImpl.h │ ├── com_codename1_webrtc_WebRTCNativeImpl.m │ ├── com_codename1_webrtc_compat_cordova_CordovaNativeImpl.h │ └── com_codename1_webrtc_compat_cordova_CordovaNativeImpl.m ├── j2me │ └── com │ │ └── codename1 │ │ └── webrtc │ │ ├── WebRTCNativeImpl.java │ │ └── compat │ │ └── cordova │ │ └── CordovaNativeImpl.java ├── javascript │ ├── com_codename1_webrtc_WebRTCNative.js │ └── com_codename1_webrtc_compat_cordova_CordovaNative.js ├── javase │ └── com │ │ └── codename1 │ │ └── webrtc │ │ ├── WebRTCNativeImpl.java │ │ └── compat │ │ └── cordova │ │ └── CordovaNativeImpl.java ├── rim │ └── com │ │ └── codename1 │ │ └── webrtc │ │ ├── WebRTCNativeImpl.java │ │ └── compat │ │ └── cordova │ │ └── CordovaNativeImpl.java └── win │ └── com │ └── codename1 │ └── webrtc │ ├── WebRTCNativeImpl.cs │ └── compat │ └── cordova │ └── CordovaNativeImpl.cs ├── nbproject ├── build-impl.xml ├── build-impl.xml~ ├── genfiles.properties ├── nativej2me.res ├── project.properties └── project.xml └── src ├── com └── codename1 │ ├── ui │ └── WebRTCAccessor.java │ └── webrtc │ ├── AudioTrack.java │ ├── AudioTrackConstraints.java │ ├── AudioTrackSettings.java │ ├── AudioTracks.java │ ├── Blob.java │ ├── ConstrainBoolean.java │ ├── ConstrainNumber.java │ ├── ConstrainObject.java │ ├── ConstrainString.java │ ├── Cursor.java │ ├── DisplaySurface.java │ ├── ErrorEvent.java │ ├── ErrorListener.java │ ├── Event.java │ ├── EventListener.java │ ├── EventTarget.java │ ├── ExecutorFunction.java │ ├── FacingMode.java │ ├── Functor.java │ ├── ImageTrackConstraints.java │ ├── JSONStruct.java │ ├── MapWrap.java │ ├── MediaDeviceInfo.java │ ├── MediaStream.java │ ├── MediaStreamConstraints.java │ ├── MediaStreamTrack.java │ ├── MediaStreamTracks.java │ ├── MediaStreams.java │ ├── MediaTrackConstraints.java │ ├── MediaTrackSettings.java │ ├── MessageEvent.java │ ├── MessageEventSource.java │ ├── MessagePort.java │ ├── MessagePorts.java │ ├── NumberRange.java │ ├── Promise.java │ ├── RTC.java │ ├── RTCAnswerOptions.java │ ├── RTCAudioElement.java │ ├── RTCCertificate.java │ ├── RTCCertificates.java │ ├── RTCConfiguration.java │ ├── RTCConnectionStateChangeEventListener.java │ ├── RTCDTMFSender.java │ ├── RTCDTMFToneChangeEvent.java │ ├── RTCDataChannel.java │ ├── RTCDataChannelEvent.java │ ├── RTCDataChannelEventListener.java │ ├── RTCElement.java │ ├── RTCIceCandidate.java │ ├── RTCIceCandidateEventListener.java │ ├── RTCIceCandidateInit.java │ ├── RTCIceCandidatePair.java │ ├── RTCIceCandidates.java │ ├── RTCIceConnectionStateChangeEventListener.java │ ├── RTCIceCredentialType.java │ ├── RTCIceGatheringStateChangeEventListener.java │ ├── RTCIceParameters.java │ ├── RTCIceProtocol.java │ ├── RTCIceServer.java │ ├── RTCIceServers.java │ ├── RTCIceTransport.java │ ├── RTCIdentityAssertion.java │ ├── RTCIdentityErrorEvent.java │ ├── RTCIdentityEvent.java │ ├── RTCIdentityProvider.java │ ├── RTCIdentityProviderRegistrar.java │ ├── RTCIdentityResultEventListener.java │ ├── RTCList.java │ ├── RTCMediaElement.java │ ├── RTCMediaError.java │ ├── RTCNegotiationNeededEventListener.java │ ├── RTCOfferAnswerOptions.java │ ├── RTCPeerConnection.java │ ├── RTCPeerConnectionIceErrorEvent.java │ ├── RTCPeerConnectionIceEvent.java │ ├── RTCRtpCapabilities.java │ ├── RTCRtpCodecCapability.java │ ├── RTCRtpContributingSource.java │ ├── RTCRtpContributingSources.java │ ├── RTCRtpEncodingParameters.java │ ├── RTCRtpHeaderExtensionCapability.java │ ├── RTCRtpParameters.java │ ├── RTCRtpReceiver.java │ ├── RTCRtpReceivers.java │ ├── RTCRtpSendParameters.java │ ├── RTCRtpSender.java │ ├── RTCRtpSenders.java │ ├── RTCRtpSynchronizationSource.java │ ├── RTCRtpSynchronizationSources.java │ ├── RTCRtpTransceiver.java │ ├── RTCRtpTransceiverDirection.java │ ├── RTCRtpTransceivers.java │ ├── RTCSctpTransport.java │ ├── RTCSessionDescription.java │ ├── RTCSessionDescriptionInit.java │ ├── RTCSignalingStateChangeEventListener.java │ ├── RTCStatsReport.java │ ├── RTCStyle.java │ ├── RTCTrackEvent.java │ ├── RTCTrackEventListener.java │ ├── RTCVideoContainer.java │ ├── RTCVideoElement.java │ ├── RefCounted.java │ ├── ResizeMode.java │ ├── SharedScreenTrackConstraints.java │ ├── SharedScreenTrackSettings.java │ ├── TextTrack.java │ ├── TextTracks.java │ ├── TimeRanges.java │ ├── TrackKind.java │ ├── URLs.java │ ├── VideoTrack.java │ ├── VideoTrackConstraints.java │ ├── VideoTrackSettings.java │ ├── VideoTracks.java │ ├── WebRTCNative.java │ ├── client │ ├── MockRTCClient.java │ ├── RTCClient.java │ ├── RTCClientConnection.java │ ├── RTCClientConnectionView.java │ ├── RTCClientConnections.java │ └── RTCClientSession.java │ └── compat │ └── cordova │ ├── Cordova.java │ ├── CordovaCallback.java │ ├── CordovaCallbackManager.java │ ├── CordovaNative.java │ ├── CordovaPlugin.java │ ├── EmbeddedCordovaApplication.java │ └── IOSRTCPlugin.java ├── com_codename1_rtc_RTCBootstrap.html ├── com_codename1_rtc_RTCBootstrap.js ├── com_codename1_rtc_RTCBootstrap_ios.html └── overview.adoc /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | build 3 | *.jar 4 | private 5 | lib/CodenameOne_SRC.zip 6 | lib/impl 7 | codenameone_settings.properties 8 | webrtc/lib/CodenameOne_SRC.zip 9 | lib/webrtc.cn1lib 10 | !webrtc/lib/asciidoclet-1.5.7-SNAPSHOT-shaded.jar 11 | .DS_Store 12 | iosCerts -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin.xcodeproj/project.xcworkspace/xcuserdata/shannah.xcuserdatad/IDEFindNavigatorScopes.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin.xcodeproj/project.xcworkspace/xcuserdata/shannah.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/IosRtcPlugin/IosRtcPlugin.xcodeproj/project.xcworkspace/xcuserdata/shannah.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin.xcodeproj/xcuserdata/shannah.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | IosRtcPlugin.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 656F7CCE24D4654700165207 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/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 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | 22 | 23 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/IosRtcPlugin.h: -------------------------------------------------------------------------------- 1 | // 2 | // IosRtcPlugin.h 3 | // IosRtcPlugin 4 | // 5 | // Created by Steve Hannah on 2020-07-31. 6 | // Copyright © 2020 Steve Hannah. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | #import 13 | #import 14 | #import 15 | #import 16 | #import 17 | #import 18 | #import 19 | #import 20 | #import 21 | #import 22 | #import 23 | #import 24 | #import 25 | #import 26 | #import 27 | #import 28 | #import 29 | #import 30 | @interface iosRtcPluginBase : CDVPlugin { 31 | UIView* _webView; 32 | } 33 | -(UIView*)webView; 34 | -(void)setWebView:(UIView*)wv; 35 | @end 36 | 37 | //! Project version number for IosRtcPlugin. 38 | FOUNDATION_EXPORT double IosRtcPluginVersionNumber; 39 | 40 | //! Project version string for IosRtcPlugin. 41 | FOUNDATION_EXPORT const unsigned char IosRtcPluginVersionString[]; 42 | 43 | // In this header, you should import all the public headers of your framework using statements like #import 44 | 45 | 46 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/PluginRTCDTMFSender.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | 4 | class PluginRTCDTMFSender : NSObject { 5 | var rtcRtpSender: RTCRtpSender? 6 | var eventListener: ((_ data: NSDictionary) -> Void)? 7 | 8 | /** 9 | * Constructor for pc.createDTMFSender(). 10 | */ 11 | init( 12 | rtcPeerConnection: RTCPeerConnection, 13 | track: RTCMediaStreamTrack, 14 | streamId: String, 15 | eventListener: @escaping (_ data: NSDictionary) -> Void 16 | ) { 17 | PluginUtils.debug("PluginRTCDTMFSender#init()") 18 | 19 | self.eventListener = eventListener 20 | 21 | // TODO check if new rtcRtpSender can be used one Unified-Plan merged 22 | //let streamIds = [streamId] 23 | //self.rtcRtpSender = rtcPeerConnection.add(track, streamIds: streamIds); 24 | self.rtcRtpSender = rtcPeerConnection.senders[0] 25 | 26 | if self.rtcRtpSender == nil { 27 | NSLog("PluginRTCDTMFSender#init() | rtcPeerConnection.createDTMFSenderForTrack() failed") 28 | return 29 | } 30 | } 31 | 32 | deinit { 33 | PluginUtils.debug("PluginRTCDTMFSender#deinit()") 34 | } 35 | 36 | func run() { 37 | PluginUtils.debug("PluginRTCDTMFSender#run()") 38 | } 39 | 40 | func insertDTMF(_ tones: String, duration: TimeInterval, interToneGap: TimeInterval) { 41 | PluginUtils.debug("PluginRTCDTMFSender#insertDTMF()") 42 | 43 | let dtmfSender = self.rtcRtpSender?.dtmfSender 44 | let durationMs = duration / 100 45 | let interToneGapMs = interToneGap / 100 46 | let result = dtmfSender!.insertDtmf(tones, duration: durationMs, interToneGap: interToneGapMs) 47 | if !result { 48 | NSLog("PluginRTCDTMFSender#indertDTMF() | RTCDTMFSender#indertDTMF() failed") 49 | } 50 | } 51 | 52 | /** 53 | * Methods inherited from RTCDTMFSenderDelegate. 54 | */ 55 | func toneChange(_ tone: String) { 56 | PluginUtils.debug("PluginRTCDTMFSender | tone change [tone:%@]", tone) 57 | 58 | if self.eventListener != nil { 59 | self.eventListener!([ 60 | "type": "tonechange", 61 | "tone": tone 62 | ]) 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/PluginRTCTypes.swift: -------------------------------------------------------------------------------- 1 | struct PluginRTCTypes { 2 | static let signalingStates = [ 3 | RTCSignalingState.stable.rawValue: "stable", 4 | RTCSignalingState.haveLocalOffer.rawValue: "have-local-offer", 5 | RTCSignalingState.haveLocalPrAnswer.rawValue: "have-local-pranswer", 6 | RTCSignalingState.haveRemoteOffer.rawValue: "have-remote-offer", 7 | RTCSignalingState.haveRemotePrAnswer.rawValue: "have-remote-pranswer", 8 | RTCSignalingState.closed.rawValue: "closed" 9 | ] 10 | 11 | static let iceGatheringStates = [ 12 | RTCIceGatheringState.new.rawValue: "new", 13 | RTCIceGatheringState.gathering.rawValue: "gathering", 14 | RTCIceGatheringState.complete.rawValue: "complete" 15 | ] 16 | 17 | static let iceConnectionStates = [ 18 | RTCIceConnectionState.new.rawValue: "new", 19 | RTCIceConnectionState.checking.rawValue: "checking", 20 | RTCIceConnectionState.connected.rawValue: "connected", 21 | RTCIceConnectionState.completed.rawValue: "completed", 22 | RTCIceConnectionState.failed.rawValue: "failed", 23 | RTCIceConnectionState.disconnected.rawValue: "disconnected", 24 | RTCIceConnectionState.closed.rawValue: "closed" 25 | ] 26 | 27 | static let dataChannelStates = [ 28 | RTCDataChannelState.connecting.rawValue: "connecting", 29 | RTCDataChannelState.open.rawValue: "open", 30 | RTCDataChannelState.closing.rawValue: "closing", 31 | RTCDataChannelState.closed.rawValue: "closed" 32 | ] 33 | 34 | static let mediaStreamTrackStates = [ 35 | RTCMediaStreamTrackState.live.rawValue: "live", 36 | RTCMediaStreamTrackState.ended.rawValue: "ended" 37 | ] 38 | 39 | } 40 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/PluginUtils.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | 4 | class PluginUtils { 5 | class func randomInt(_ min: Int, max: Int) -> Int { 6 | return Int(arc4random_uniform(UInt32(max - min))) + min 7 | } 8 | 9 | class func debug(_ format: String, _ args: CVarArg...) { 10 | if (!iosrtcPlugin.DEBUG) { 11 | return; 12 | } 13 | NSLog(format, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/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 "WebRTC/RTCMacros.h" 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | extern const int kRTCAudioSessionPreferredNumberOfChannels; 19 | extern const double kRTCAudioSessionHighPerformanceSampleRate; 20 | extern const double kRTCAudioSessionLowComplexitySampleRate; 21 | extern const double kRTCAudioSessionHighPerformanceIOBufferDuration; 22 | extern const double kRTCAudioSessionLowComplexityIOBufferDuration; 23 | 24 | // Struct to hold configuration values. 25 | RTC_EXPORT 26 | @interface 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:(RTCAudioSessionConfiguration *)configuration; 45 | 46 | @end 47 | 48 | NS_ASSUME_NONNULL_END 49 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCAudioSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | RTC_EXPORT 19 | @interface RTCAudioSource : RTCMediaSource 20 | 21 | - (instancetype)init NS_UNAVAILABLE; 22 | 23 | // Sets the volume for the RTCMediaSource. |volume| is a gain value in the range 24 | // [0, 10]. 25 | // Temporary fix to be able to modify volume of remote audio tracks. 26 | // TODO(kthelgason): Property stays here temporarily until a proper volume-api 27 | // is available on the surface exposed by webrtc. 28 | @property(nonatomic, assign) double volume; 29 | 30 | @end 31 | 32 | NS_ASSUME_NONNULL_END 33 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCAudioTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | @class RTCAudioSource; 17 | 18 | RTC_EXPORT 19 | @interface RTCAudioTrack : RTCMediaStreamTrack 20 | 21 | - (instancetype)init NS_UNAVAILABLE; 22 | 23 | /** The audio source for this audio track. */ 24 | @property(nonatomic, readonly) RTCAudioSource *source; 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCCallbackLogger.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | // This class intercepts WebRTC logs and forwards them to a registered block. 19 | // This class is not threadsafe. 20 | RTC_EXPORT 21 | @interface RTCCallbackLogger : NSObject 22 | 23 | // The severity level to capture. The default is kRTCLoggingSeverityInfo. 24 | @property(nonatomic, assign) RTCLoggingSeverity severity; 25 | 26 | // The callback will be called on the same thread that does the logging, so 27 | // if the logging callback can be slow it may be a good idea to implement 28 | // dispatching to some other queue. 29 | - (void)start:(nullable void (^)(NSString*))callback; 30 | 31 | - (void)stop; 32 | 33 | @end 34 | 35 | NS_ASSUME_NONNULL_END 36 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCCameraPreviewView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #import 13 | 14 | #import 15 | 16 | @class AVCaptureSession; 17 | 18 | /** RTCCameraPreviewView is a view that renders local video from an 19 | * AVCaptureSession. 20 | */ 21 | RTC_EXPORT 22 | @interface 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 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCDataChannelConfiguration.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #import 13 | 14 | #import 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | RTC_EXPORT 19 | @interface RTCDataChannelConfiguration : NSObject 20 | 21 | /** Set to YES if ordered delivery is required. */ 22 | @property(nonatomic, assign) BOOL isOrdered; 23 | 24 | /** Deprecated. Use maxPacketLifeTime. */ 25 | @property(nonatomic, assign) NSInteger maxRetransmitTimeMs DEPRECATED_ATTRIBUTE; 26 | 27 | /** 28 | * Max period in milliseconds in which retransmissions will be sent. After this 29 | * time, no more retransmissions will be sent. -1 if unset. 30 | */ 31 | @property(nonatomic, assign) int maxPacketLifeTime; 32 | 33 | /** The max number of retransmissions. -1 if unset. */ 34 | @property(nonatomic, assign) int maxRetransmits; 35 | 36 | /** Set to YES if the channel has been externally negotiated and we do not send 37 | * an in-band signalling in the form of an "open" message. 38 | */ 39 | @property(nonatomic, assign) BOOL isNegotiated; 40 | 41 | /** Deprecated. Use channelId. */ 42 | @property(nonatomic, assign) int streamId DEPRECATED_ATTRIBUTE; 43 | 44 | /** The id of the data channel. */ 45 | @property(nonatomic, assign) int channelId; 46 | 47 | /** Set by the application and opaque to the WebRTC implementation. */ 48 | @property(nonatomic) NSString* protocol; 49 | 50 | @end 51 | 52 | NS_ASSUME_NONNULL_END 53 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCDispatcher.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | typedef NS_ENUM(NSInteger, RTCDispatcherQueueType) { 16 | // Main dispatcher queue. 17 | RTCDispatcherTypeMain, 18 | // Used for starting/stopping AVCaptureSession, and assigning 19 | // capture session to AVCaptureVideoPreviewLayer. 20 | RTCDispatcherTypeCaptureSession, 21 | // Used for operations on AVAudioSession. 22 | RTCDispatcherTypeAudioSession, 23 | }; 24 | 25 | /** Dispatcher that asynchronously dispatches blocks to a specific 26 | * shared dispatch queue. 27 | */ 28 | RTC_EXPORT 29 | @interface RTCDispatcher : NSObject 30 | 31 | - (instancetype)init NS_UNAVAILABLE; 32 | 33 | /** Dispatch the block asynchronously on the queue for dispatchType. 34 | * @param dispatchType The queue type to dispatch on. 35 | * @param block The block to dispatch asynchronously. 36 | */ 37 | + (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType block:(dispatch_block_t)block; 38 | 39 | /** Returns YES if run on queue for the dispatchType otherwise NO. 40 | * Useful for asserting that a method is run on a correct queue. 41 | */ 42 | + (BOOL)isOnQueueForType:(RTCDispatcherQueueType)dispatchType; 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCEAGLVideoView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #import 13 | 14 | #import 15 | #import 16 | #import 17 | 18 | NS_ASSUME_NONNULL_BEGIN 19 | 20 | @class RTCEAGLVideoView; 21 | 22 | RTC_EXPORT 23 | @protocol RTCEAGLVideoViewDelegate 24 | @end 25 | 26 | /** 27 | * RTCEAGLVideoView is an RTCVideoRenderer which renders video frames in its 28 | * bounds using OpenGLES 2.0 or OpenGLES 3.0. 29 | */ 30 | RTC_EXPORT 31 | NS_EXTENSION_UNAVAILABLE_IOS("Rendering not available in app extensions.") 32 | @interface RTCEAGLVideoView : UIView 33 | 34 | @property(nonatomic, weak) id delegate; 35 | 36 | - (instancetype)initWithFrame:(CGRect)frame 37 | shader:(id)shader NS_DESIGNATED_INITIALIZER; 38 | 39 | - (instancetype)initWithCoder:(NSCoder *)aDecoder 40 | shader:(id)shader NS_DESIGNATED_INITIALIZER; 41 | 42 | @end 43 | 44 | NS_ASSUME_NONNULL_END 45 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/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 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | * Error passing block. 18 | */ 19 | typedef void (^RTCFileVideoCapturerErrorBlock)(NSError *error); 20 | 21 | /** 22 | * Captures buffers from bundled video file. 23 | * 24 | * See @c RTCVideoCapturer for more info on capturers. 25 | */ 26 | RTC_EXPORT 27 | 28 | NS_CLASS_AVAILABLE_IOS(10) 29 | @interface RTCFileVideoCapturer : RTCVideoCapturer 30 | 31 | /** 32 | * Starts asynchronous capture of frames from video file. 33 | * 34 | * Capturing is not started if error occurs. Underlying error will be 35 | * relayed in the errorBlock if one is provided. 36 | * Successfully captured video frames will be passed to the delegate. 37 | * 38 | * @param nameOfFile The name of the bundled video file to be read. 39 | * @errorBlock block to be executed upon error. 40 | */ 41 | - (void)startCapturingFromFileNamed:(NSString *)nameOfFile 42 | onError:(__nullable RTCFileVideoCapturerErrorBlock)errorBlock; 43 | 44 | /** 45 | * Immediately stops capture. 46 | */ 47 | - (void)stopCapture; 48 | @end 49 | 50 | NS_ASSUME_NONNULL_END 51 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCIceCandidate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_EXPORT 18 | @interface RTCIceCandidate : NSObject 19 | 20 | /** 21 | * If present, the identifier of the "media stream identification" for the media 22 | * component this candidate is associated with. 23 | */ 24 | @property(nonatomic, readonly, nullable) NSString *sdpMid; 25 | 26 | /** 27 | * The index (starting at zero) of the media description this candidate is 28 | * associated with in the SDP. 29 | */ 30 | @property(nonatomic, readonly) int sdpMLineIndex; 31 | 32 | /** The SDP string for this candidate. */ 33 | @property(nonatomic, readonly) NSString *sdp; 34 | 35 | /** The URL of the ICE server which this candidate is gathered from. */ 36 | @property(nonatomic, readonly, nullable) NSString *serverUrl; 37 | 38 | - (instancetype)init NS_UNAVAILABLE; 39 | 40 | /** 41 | * Initialize an RTCIceCandidate from SDP. 42 | */ 43 | - (instancetype)initWithSdp:(NSString *)sdp 44 | sdpMLineIndex:(int)sdpMLineIndex 45 | sdpMid:(nullable NSString *)sdpMid NS_DESIGNATED_INITIALIZER; 46 | 47 | @end 48 | 49 | NS_ASSUME_NONNULL_END 50 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCIntervalRange.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface RTCIntervalRange : NSObject 16 | 17 | @property(nonatomic, readonly) NSInteger min; 18 | @property(nonatomic, readonly) NSInteger max; 19 | 20 | - (instancetype)init; 21 | - (instancetype)initWithMin:(NSInteger)min max:(NSInteger)max NS_DESIGNATED_INITIALIZER; 22 | 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCLegacyStatsReport.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** This does not currently conform to the spec. */ 18 | RTC_EXPORT 19 | @interface RTCLegacyStatsReport : NSObject 20 | 21 | /** Time since 1970-01-01T00:00:00Z in milliseconds. */ 22 | @property(nonatomic, readonly) CFTimeInterval timestamp; 23 | 24 | /** The type of stats held by this object. */ 25 | @property(nonatomic, readonly) NSString *type; 26 | 27 | /** The identifier for this object. */ 28 | @property(nonatomic, readonly) NSString *reportId; 29 | 30 | /** A dictionary holding the actual stats. */ 31 | @property(nonatomic, readonly) NSDictionary *values; 32 | 33 | - (instancetype)init NS_UNAVAILABLE; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/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 "WebRTC/RTCVideoFrame.h" 14 | #import "WebRTC/RTCVideoRenderer.h" 15 | 16 | // Check if metal is supported in WebRTC. 17 | // NOTE: Currently arm64 == Metal. 18 | #if defined(__aarch64__) 19 | #define RTC_SUPPORTS_METAL 20 | #endif 21 | 22 | NS_ASSUME_NONNULL_BEGIN 23 | 24 | /** 25 | * RTCMTLVideoView is thin wrapper around MTKView. 26 | * 27 | * It has id property that renders video frames in the view's 28 | * bounds using Metal. 29 | * NOTE: always check if metal is available on the running device via 30 | * RTC_SUPPORTS_METAL macro before initializing this class. 31 | */ 32 | NS_CLASS_AVAILABLE_IOS(9) 33 | 34 | RTC_EXPORT 35 | @interface RTCMTLVideoView : UIView 36 | 37 | @property(nonatomic, weak) id delegate; 38 | 39 | @property(nonatomic) UIViewContentMode videoContentMode; 40 | 41 | /** @abstract Enables/disables rendering. 42 | */ 43 | @property(nonatomic, getter=isEnabled) BOOL enabled; 44 | 45 | /** @abstract Wrapped RTCVideoRotation, or nil. 46 | */ 47 | @property(nonatomic, nullable) NSValue* rotationOverride; 48 | 49 | @end 50 | 51 | NS_ASSUME_NONNULL_END 52 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/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_FRAMEWORK_HEADERS_WEBRTC_RTCMACROS_H_ 12 | #define SDK_OBJC_FRAMEWORK_HEADERS_WEBRTC_RTCMACROS_H_ 13 | 14 | #define RTC_EXPORT __attribute__((visibility("default"))) 15 | 16 | #if defined(__cplusplus) 17 | #define RTC_EXTERN extern "C" RTC_EXPORT 18 | #else 19 | #define RTC_EXTERN extern RTC_EXPORT 20 | #endif 21 | 22 | #ifdef __OBJC__ 23 | #define RTC_FWD_DECL_OBJC_CLASS(classname) @class classname 24 | #else 25 | #define RTC_FWD_DECL_OBJC_CLASS(classname) typedef struct objc_object classname 26 | #endif 27 | 28 | #endif // SDK_OBJC_FRAMEWORK_HEADERS_WEBRTC_RTCMACROS_H_ 29 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCMediaSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | typedef NS_ENUM(NSInteger, RTCSourceState) { 16 | RTCSourceStateInitializing, 17 | RTCSourceStateLive, 18 | RTCSourceStateEnded, 19 | RTCSourceStateMuted, 20 | }; 21 | 22 | NS_ASSUME_NONNULL_BEGIN 23 | 24 | RTC_EXPORT 25 | @interface RTCMediaSource : NSObject 26 | 27 | /** The current state of the RTCMediaSource. */ 28 | @property(nonatomic, readonly) RTCSourceState state; 29 | 30 | - (instancetype)init NS_UNAVAILABLE; 31 | 32 | @end 33 | 34 | NS_ASSUME_NONNULL_END 35 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCMediaStream.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @class RTCAudioTrack; 18 | @class RTCPeerConnectionFactory; 19 | @class RTCVideoTrack; 20 | 21 | RTC_EXPORT 22 | @interface RTCMediaStream : NSObject 23 | 24 | /** The audio tracks in this stream. */ 25 | @property(nonatomic, strong, readonly) NSArray *audioTracks; 26 | 27 | /** The video tracks in this stream. */ 28 | @property(nonatomic, strong, readonly) NSArray *videoTracks; 29 | 30 | /** An identifier for this media stream. */ 31 | @property(nonatomic, readonly) NSString *streamId; 32 | 33 | - (instancetype)init NS_UNAVAILABLE; 34 | 35 | /** Adds the given audio track to this media stream. */ 36 | - (void)addAudioTrack:(RTCAudioTrack *)audioTrack; 37 | 38 | /** Adds the given video track to this media stream. */ 39 | - (void)addVideoTrack:(RTCVideoTrack *)videoTrack; 40 | 41 | /** Removes the given audio track to this media stream. */ 42 | - (void)removeAudioTrack:(RTCAudioTrack *)audioTrack; 43 | 44 | /** Removes the given video track to this media stream. */ 45 | - (void)removeVideoTrack:(RTCVideoTrack *)videoTrack; 46 | 47 | @end 48 | 49 | NS_ASSUME_NONNULL_END 50 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCMediaStreamTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | /** 16 | * Represents the state of the track. This exposes the same states in C++. 17 | */ 18 | typedef NS_ENUM(NSInteger, RTCMediaStreamTrackState) { 19 | RTCMediaStreamTrackStateLive, 20 | RTCMediaStreamTrackStateEnded 21 | }; 22 | 23 | NS_ASSUME_NONNULL_BEGIN 24 | 25 | RTC_EXTERN NSString *const kRTCMediaStreamTrackKindAudio; 26 | RTC_EXTERN NSString *const kRTCMediaStreamTrackKindVideo; 27 | 28 | RTC_EXPORT 29 | @interface RTCMediaStreamTrack : NSObject 30 | 31 | /** 32 | * The kind of track. For example, "audio" if this track represents an audio 33 | * track and "video" if this track represents a video track. 34 | */ 35 | @property(nonatomic, readonly) NSString *kind; 36 | 37 | /** An identifier string. */ 38 | @property(nonatomic, readonly) NSString *trackId; 39 | 40 | /** The enabled state of the track. */ 41 | @property(nonatomic, assign) BOOL isEnabled; 42 | 43 | /** The state of the track. */ 44 | @property(nonatomic, readonly) RTCMediaStreamTrackState readyState; 45 | 46 | - (instancetype)init NS_UNAVAILABLE; 47 | 48 | @end 49 | 50 | NS_ASSUME_NONNULL_END 51 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCMetrics.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | 16 | /** 17 | * Enables gathering of metrics (which can be fetched with 18 | * RTCGetAndResetMetrics). Must be called before any other call into WebRTC. 19 | */ 20 | RTC_EXTERN void RTCEnableMetrics(void); 21 | 22 | /** Gets and clears native histograms. */ 23 | RTC_EXTERN NSArray* RTCGetAndResetMetrics(void); 24 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCMetricsSampleInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_EXPORT 18 | @interface RTCMetricsSampleInfo : NSObject 19 | 20 | /** 21 | * Example of RTCMetricsSampleInfo: 22 | * name: "WebRTC.Video.InputFramesPerSecond" 23 | * min: 1 24 | * max: 100 25 | * bucketCount: 50 26 | * samples: [29]:2 [30]:1 27 | */ 28 | 29 | /** The name of the histogram. */ 30 | @property(nonatomic, readonly) NSString *name; 31 | 32 | /** The minimum bucket value. */ 33 | @property(nonatomic, readonly) int min; 34 | 35 | /** The maximum bucket value. */ 36 | @property(nonatomic, readonly) int max; 37 | 38 | /** The number of buckets. */ 39 | @property(nonatomic, readonly) int bucketCount; 40 | 41 | /** A dictionary holding the samples . */ 42 | @property(nonatomic, readonly) NSDictionary *samples; 43 | 44 | - (instancetype)init NS_UNAVAILABLE; 45 | 46 | @end 47 | 48 | NS_ASSUME_NONNULL_END 49 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_EXPORT 18 | @interface RTCPeerConnectionFactoryOptions : NSObject 19 | 20 | @property(nonatomic, assign) BOOL disableEncryption; 21 | 22 | @property(nonatomic, assign) BOOL disableNetworkMonitor; 23 | 24 | @property(nonatomic, assign) BOOL ignoreLoopbackNetworkAdapter; 25 | 26 | @property(nonatomic, assign) BOOL ignoreVPNNetworkAdapter; 27 | 28 | @property(nonatomic, assign) BOOL ignoreCellularNetworkAdapter; 29 | 30 | @property(nonatomic, assign) BOOL ignoreWiFiNetworkAdapter; 31 | 32 | @property(nonatomic, assign) BOOL ignoreEthernetNetworkAdapter; 33 | 34 | @property(nonatomic, assign) BOOL enableAes128Sha1_32CryptoCipher; 35 | 36 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 37 | 38 | @end 39 | 40 | NS_ASSUME_NONNULL_END 41 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCRtcpParameters.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_EXPORT 18 | @interface RTCRtcpParameters : NSObject 19 | 20 | /** The Canonical Name used by RTCP. */ 21 | @property(nonatomic, readonly, copy) NSString *cname; 22 | 23 | /** Whether reduced size RTCP is configured or compound RTCP. */ 24 | @property(nonatomic, assign) BOOL isReducedSize; 25 | 26 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCRtpEncodingParameters.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_EXPORT 18 | @interface RTCRtpEncodingParameters : NSObject 19 | 20 | /** Controls whether the encoding is currently transmitted. */ 21 | @property(nonatomic, assign) BOOL isActive; 22 | 23 | /** The maximum bitrate to use for the encoding, or nil if there is no 24 | * limit. 25 | */ 26 | @property(nonatomic, copy, nullable) NSNumber *maxBitrateBps; 27 | 28 | /** The minimum bitrate to use for the encoding, or nil if there is no 29 | * limit. 30 | * 31 | * Not implemented. 32 | */ 33 | @property(nonatomic, copy, nullable) NSNumber *minBitrateBps; 34 | 35 | /** The SSRC being used by this encoding. */ 36 | @property(nonatomic, readonly, nullable) NSNumber *ssrc; 37 | 38 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 39 | 40 | @end 41 | 42 | NS_ASSUME_NONNULL_END 43 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCRtpHeaderExtension.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | RTC_EXPORT 18 | @interface RTCRtpHeaderExtension : NSObject 19 | 20 | /** The URI of the RTP header extension, as defined in RFC5285. */ 21 | @property(nonatomic, readonly, copy) NSString *uri; 22 | 23 | /** The value put in the RTP packet to identify the header extension. */ 24 | @property(nonatomic, readonly) int id; 25 | 26 | /** Whether the header extension is encrypted or not. */ 27 | @property(nonatomic, readonly, getter=isEncrypted) BOOL encrypted; 28 | 29 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 30 | 31 | @end 32 | 33 | NS_ASSUME_NONNULL_END 34 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCRtpParameters.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | #import 16 | #import 17 | #import 18 | 19 | NS_ASSUME_NONNULL_BEGIN 20 | 21 | RTC_EXPORT 22 | @interface RTCRtpParameters : NSObject 23 | 24 | /** A unique identifier for the last set of parameters applied. */ 25 | @property(nonatomic, copy) NSString *transactionId; 26 | 27 | /** Parameters used for RTCP. */ 28 | @property(nonatomic, readonly, copy) RTCRtcpParameters *rtcp; 29 | 30 | /** An array containing parameters for RTP header extensions. */ 31 | @property(nonatomic, readonly, copy) NSArray *headerExtensions; 32 | 33 | /** The currently active encodings in the order of preference. */ 34 | @property(nonatomic, copy) NSArray *encodings; 35 | 36 | /** The negotiated set of send codecs in order of preference. */ 37 | @property(nonatomic, copy) NSArray *codecs; 38 | 39 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 40 | 41 | @end 42 | 43 | NS_ASSUME_NONNULL_END 44 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCRtpSender.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | #import 16 | #import 17 | 18 | NS_ASSUME_NONNULL_BEGIN 19 | 20 | RTC_EXPORT 21 | @protocol RTCRtpSender 22 | 23 | /** A unique identifier for this sender. */ 24 | @property(nonatomic, readonly) NSString *senderId; 25 | 26 | /** The currently active RTCRtpParameters, as defined in 27 | * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters. 28 | */ 29 | @property(nonatomic, copy) RTCRtpParameters *parameters; 30 | 31 | /** The RTCMediaStreamTrack associated with the sender. 32 | * Note: reading this property returns a new instance of 33 | * RTCMediaStreamTrack. Use isEqual: instead of == to compare 34 | * RTCMediaStreamTrack instances. 35 | */ 36 | @property(nonatomic, copy, nullable) RTCMediaStreamTrack *track; 37 | 38 | /** The RTCDtmfSender accociated with the RTP sender. */ 39 | @property(nonatomic, readonly, nullable) id dtmfSender; 40 | 41 | @end 42 | 43 | RTC_EXPORT 44 | @interface RTCRtpSender : NSObject 45 | 46 | - (instancetype)init NS_UNAVAILABLE; 47 | 48 | @end 49 | 50 | NS_ASSUME_NONNULL_END 51 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCSSLAdapter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | /** 16 | * Initialize and clean up the SSL library. Failure is fatal. These call the 17 | * corresponding functions in webrtc/rtc_base/ssladapter.h. 18 | */ 19 | RTC_EXTERN BOOL RTCInitializeSSL(void); 20 | RTC_EXTERN BOOL RTCCleanupSSL(void); 21 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCSessionDescription.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | /** 16 | * Represents the session description type. This exposes the same types that are 17 | * in C++, which doesn't include the rollback type that is in the W3C spec. 18 | */ 19 | typedef NS_ENUM(NSInteger, RTCSdpType) { 20 | RTCSdpTypeOffer, 21 | RTCSdpTypePrAnswer, 22 | RTCSdpTypeAnswer, 23 | }; 24 | 25 | NS_ASSUME_NONNULL_BEGIN 26 | 27 | RTC_EXPORT 28 | @interface RTCSessionDescription : NSObject 29 | 30 | /** The type of session description. */ 31 | @property(nonatomic, readonly) RTCSdpType type; 32 | 33 | /** The SDP string representation of this session description. */ 34 | @property(nonatomic, readonly) NSString *sdp; 35 | 36 | - (instancetype)init NS_UNAVAILABLE; 37 | 38 | /** Initialize a session description with a type and SDP string. */ 39 | - (instancetype)initWithType:(RTCSdpType)type sdp:(NSString *)sdp NS_DESIGNATED_INITIALIZER; 40 | 41 | + (NSString *)stringForType:(RTCSdpType)type; 42 | 43 | + (RTCSdpType)typeForString:(NSString *)string; 44 | 45 | @end 46 | 47 | NS_ASSUME_NONNULL_END 48 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCTracing.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The WebRTC Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | RTC_EXTERN void RTCSetupInternalTracer(void); 16 | /** Starts capture to specified file. Must be a valid writable path. 17 | * Returns YES if capture starts. 18 | */ 19 | RTC_EXTERN BOOL RTCStartInternalCapture(NSString* filePath); 20 | RTC_EXTERN void RTCStopInternalCapture(void); 21 | RTC_EXTERN void RTCShutdownInternalTracer(void); 22 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoCapturer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @class RTCVideoCapturer; 16 | 17 | RTC_EXPORT 18 | @protocol RTCVideoCapturerDelegate 19 | - (void)capturer:(RTCVideoCapturer *)capturer didCaptureVideoFrame:(RTCVideoFrame *)frame; 20 | @end 21 | 22 | RTC_EXPORT 23 | @interface RTCVideoCapturer : NSObject 24 | 25 | @property(nonatomic, weak) id delegate; 26 | 27 | - (instancetype)initWithDelegate:(id)delegate; 28 | 29 | @end 30 | 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoCodecFactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | /** RTCVideoEncoderFactory is an Objective-C version of webrtc::VideoEncoderFactory. */ 19 | RTC_EXPORT 20 | @protocol RTCVideoEncoderFactory 21 | 22 | - (nullable id)createEncoder:(RTCVideoCodecInfo *)info; 23 | - (NSArray *)supportedCodecs; // TODO(andersc): "supportedFormats" instead? 24 | 25 | @end 26 | 27 | /** RTCVideoDecoderFactory is an Objective-C version of webrtc::VideoDecoderFactory. */ 28 | RTC_EXPORT 29 | @protocol RTCVideoDecoderFactory 30 | 31 | - (nullable id)createDecoder:(RTCVideoCodecInfo *)info; 32 | - (NSArray *)supportedCodecs; // TODO(andersc): "supportedFormats" instead? 33 | 34 | @end 35 | 36 | #pragma mark - Default factories 37 | 38 | /** These codec factories include support for all codecs bundled with WebRTC. If using custom 39 | * codecs, create custom implementations of RTCVideoEncoderFactory and RTCVideoDecoderFactory. 40 | */ 41 | RTC_EXPORT 42 | @interface RTCDefaultVideoEncoderFactory : NSObject 43 | 44 | @property(nonatomic, retain) RTCVideoCodecInfo *preferredCodec; 45 | 46 | + (NSArray *)supportedCodecs; 47 | 48 | @end 49 | 50 | RTC_EXPORT 51 | @interface RTCDefaultVideoDecoderFactory : NSObject 52 | @end 53 | 54 | NS_ASSUME_NONNULL_END 55 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoDecoderVP8.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | 16 | RTC_EXPORT 17 | @interface RTCVideoDecoderVP8 : NSObject 18 | 19 | /* This returns a VP8 decoder that can be returned from a RTCVideoDecoderFactory injected into 20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be 21 | * used independently from the RTCPeerConnectionFactory. 22 | */ 23 | + (id)vp8Decoder; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoDecoderVP9.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | 16 | RTC_EXPORT 17 | @interface RTCVideoDecoderVP9 : NSObject 18 | 19 | /* This returns a VP9 decoder that can be returned from a RTCVideoDecoderFactory injected into 20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be 21 | * used independently from the RTCPeerConnectionFactory. 22 | */ 23 | + (id)vp9Decoder; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoEncoderVP8.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | 16 | RTC_EXPORT 17 | @interface RTCVideoEncoderVP8 : NSObject 18 | 19 | /* This returns a VP8 encoder that can be returned from a RTCVideoEncoderFactory injected into 20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be 21 | * used independently from the RTCPeerConnectionFactory. 22 | */ 23 | + (id)vp8Encoder; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoEncoderVP9.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | 16 | RTC_EXPORT 17 | @interface RTCVideoEncoderVP9 : NSObject 18 | 19 | /* This returns a VP9 encoder that can be returned from a RTCVideoEncoderFactory injected into 20 | * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be 21 | * used independently from the RTCPeerConnectionFactory. 22 | */ 23 | + (id)vp9Encoder; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoRenderer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | #if TARGET_OS_IPHONE 13 | #import 14 | #endif 15 | 16 | #import 17 | 18 | NS_ASSUME_NONNULL_BEGIN 19 | 20 | @class RTCVideoFrame; 21 | 22 | RTC_EXPORT 23 | @protocol RTCVideoRenderer 24 | 25 | /** The size of the frame. */ 26 | - (void)setSize:(CGSize)size; 27 | 28 | /** The frame to be displayed. */ 29 | - (void)renderFrame:(nullable RTCVideoFrame *)frame; 30 | 31 | @end 32 | 33 | RTC_EXPORT 34 | @protocol RTCVideoViewDelegate 35 | 36 | - (void)videoView:(id)videoView didChangeVideoSize:(CGSize)size; 37 | 38 | @end 39 | 40 | NS_ASSUME_NONNULL_END 41 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | #import 15 | #import 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | RTC_EXPORT 20 | 21 | @interface RTCVideoSource : RTCMediaSource 22 | 23 | - (instancetype)init NS_UNAVAILABLE; 24 | 25 | /** 26 | * Calling this function will cause frames to be scaled down to the 27 | * requested resolution. Also, frames will be cropped to match the 28 | * requested aspect ratio, and frames will be dropped to match the 29 | * requested fps. The requested aspect ratio is orientation agnostic and 30 | * will be adjusted to maintain the input orientation, so it doesn't 31 | * matter if e.g. 1280x720 or 720x1280 is requested. 32 | */ 33 | - (void)adaptOutputFormatToWidth:(int)width height:(int)height fps:(int)fps; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @protocol RTCVideoRenderer; 18 | @class RTCPeerConnectionFactory; 19 | @class RTCVideoSource; 20 | 21 | RTC_EXPORT 22 | @interface RTCVideoTrack : RTCMediaStreamTrack 23 | 24 | /** The video source for this video track. */ 25 | @property(nonatomic, readonly) RTCVideoSource *source; 26 | 27 | - (instancetype)init NS_UNAVAILABLE; 28 | 29 | /** Register a renderer that will render all frames received on this track. */ 30 | - (void)addRenderer:(id)renderer; 31 | 32 | /** Deregister a renderer. */ 33 | - (void)removeRenderer:(id)renderer; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Headers/RTCVideoViewShading.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** 18 | * RTCVideoViewShading provides a way for apps to customize the OpenGL(ES) shaders used in 19 | * rendering for the RTCEAGLVideoView/RTCNSGLVideoView. 20 | */ 21 | RTC_EXPORT 22 | @protocol RTCVideoViewShading 23 | 24 | /** Callback for I420 frames. Each plane is given as a texture. */ 25 | - (void)applyShadingForFrameWithWidth:(int)width 26 | height:(int)height 27 | rotation:(RTCVideoRotation)rotation 28 | yPlane:(GLuint)yPlane 29 | uPlane:(GLuint)uPlane 30 | vPlane:(GLuint)vPlane; 31 | 32 | /** Callback for NV12 frames. Each plane is given as a texture. */ 33 | - (void)applyShadingForFrameWithWidth:(int)width 34 | height:(int)height 35 | rotation:(RTCVideoRotation)rotation 36 | yPlane:(GLuint)yPlane 37 | uvPlane:(GLuint)uvPlane; 38 | 39 | @end 40 | 41 | NS_ASSUME_NONNULL_END 42 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Info.plist -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module WebRTC { 2 | umbrella header "WebRTC.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/WebRTC.framework/WebRTC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/IosRtcPlugin/IosRtcPlugin/WebRTC.framework/WebRTC -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/cordova-plugin-iosrtc-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | 6 | #import 7 | 8 | #import 9 | #import 10 | #import 11 | #import 12 | #import 13 | #import 14 | #import 15 | #import 16 | #import 17 | #import 18 | #import 19 | #import 20 | #import 21 | #import 22 | #import 23 | #import 24 | #import 25 | #import 26 | #import "iosRtcPluginBase.h" 27 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | 22 | //! Project version number for Cordova. 23 | FOUNDATION_EXPORT double CordovaVersionNumber; 24 | 25 | //! Project version string for Cordova. 26 | FOUNDATION_EXPORT const unsigned char CordovaVersionString[]; 27 | 28 | // In this header, you should import all the public headers of your framework using statements like #import 29 | 30 | #import 31 | #import 32 | #import 33 | #import 34 | #import 35 | #import 36 | #import 37 | #import 38 | #import 39 | #import 40 | #import 41 | #import 42 | #import 43 | #import 44 | #import 45 | #import 46 | #import 47 | #import 48 | #import 49 | #import 50 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDV.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import "CDVAvailability.h" 21 | #import "CDVAvailabilityDeprecated.h" 22 | #import "CDVAppDelegate.h" 23 | #import "CDVPlugin.h" 24 | #import "CDVPluginResult.h" 25 | #import "CDVViewController.h" 26 | #import "CDVCommandDelegate.h" 27 | #import "CDVInvokedUrlCommand.h" 28 | #import "CDVWhitelist.h" 29 | #import "CDVScreenOrientationDelegate.h" 30 | #import "CDVTimer.h" 31 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVAppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | #import "CDVViewController.h" 22 | 23 | @interface CDVAppDelegate : NSObject {} 24 | 25 | @property (nonatomic, strong) IBOutlet UIWindow* window; 26 | @property (nonatomic, strong) IBOutlet CDVViewController* viewController; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVAvailabilityDeprecated.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | 22 | #ifdef __clang__ 23 | #define CDV_DEPRECATED(version, msg) __attribute__((deprecated("Deprecated in Cordova " #version ". " msg))) 24 | #else 25 | #define CDV_DEPRECATED(version, msg) __attribute__((deprecated())) 26 | #endif 27 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVCommandDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import "CDVAvailability.h" 21 | #import "CDVInvokedUrlCommand.h" 22 | 23 | @class CDVPlugin; 24 | @class CDVPluginResult; 25 | @class CDVWhitelist; 26 | 27 | typedef NSURL* (^ UrlTransformerBlock)(NSURL*); 28 | 29 | @protocol CDVCommandDelegate 30 | 31 | @property (nonatomic, readonly) NSDictionary* settings; 32 | @property (nonatomic, copy) UrlTransformerBlock urlTransformer; 33 | 34 | - (NSString*)pathForResource:(NSString*)resourcepath; 35 | - (id)getCommandInstance:(NSString*)pluginName; 36 | 37 | // Sends a plugin result to the JS. This is thread-safe. 38 | - (void)sendPluginResult:(CDVPluginResult*)result callbackId:(NSString*)callbackId; 39 | // Evaluates the given JS. This is thread-safe. 40 | - (void)evalJs:(NSString*)js; 41 | // Can be used to evaluate JS right away instead of scheduling it on the run-loop. 42 | // This is required for dispatch resign and pause events, but should not be used 43 | // without reason. Without the run-loop delay, alerts used in JS callbacks may result 44 | // in dead-lock. This method must be called from the UI thread. 45 | - (void)evalJs:(NSString*)js scheduledOnRunLoop:(BOOL)scheduledOnRunLoop; 46 | // Runs the given block on a background thread using a shared thread-pool. 47 | - (void)runInBackground:(void (^)(void))block; 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVCommandDelegateImpl.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | #import "CDVCommandDelegate.h" 22 | 23 | @class CDVViewController; 24 | @class CDVCommandQueue; 25 | 26 | @interface CDVCommandDelegateImpl : NSObject { 27 | @private 28 | __weak CDVViewController* _viewController; 29 | NSRegularExpression* _callbackIdPattern; 30 | @protected 31 | __weak CDVCommandQueue* _commandQueue; 32 | BOOL _delayResponses; 33 | } 34 | - (id)initWithViewController:(CDVViewController*)viewController; 35 | - (void)flushCommandQueueWithDelayedJs; 36 | @end 37 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVCommandQueue.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | 22 | @class CDVInvokedUrlCommand; 23 | @class CDVViewController; 24 | 25 | @interface CDVCommandQueue : NSObject 26 | 27 | @property (nonatomic, readonly) BOOL currentlyExecuting; 28 | 29 | - (id)initWithViewController:(CDVViewController*)viewController; 30 | - (void)dispose; 31 | 32 | - (void)resetRequestId; 33 | - (void)enqueueCommandBatch:(NSString*)batchJSON; 34 | 35 | - (void)fetchCommandsFromJs; 36 | - (void)executePending; 37 | - (BOOL)execute:(CDVInvokedUrlCommand*)command; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVConfigParser.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | @interface CDVConfigParser : NSObject 21 | { 22 | NSString* featureName; 23 | } 24 | 25 | @property (nonatomic, readonly, strong) NSMutableDictionary* pluginsDict; 26 | @property (nonatomic, readonly, strong) NSMutableDictionary* settings; 27 | @property (nonatomic, readonly, strong) NSMutableArray* startupPluginNames; 28 | @property (nonatomic, readonly, strong) NSString* startPage; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVPlugin+Resources.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | #import "CDVPlugin.h" 22 | 23 | @interface CDVPlugin (CDVPluginResources) 24 | 25 | /* 26 | This will return the localized string for a key in a .bundle that is named the same as your class 27 | For example, if your plugin class was called Foo, and you have a Spanish localized strings file, it will 28 | try to load the desired key from Foo.bundle/es.lproj/Localizable.strings 29 | */ 30 | - (NSString*)pluginLocalizedString:(NSString*)key; 31 | 32 | /* 33 | This will return the image for a name in a .bundle that is named the same as your class 34 | For example, if your plugin class was called Foo, and you have an image called "bar", 35 | it will try to load the image from Foo.bundle/bar.png (and appropriately named retina versions) 36 | */ 37 | - (UIImage*)pluginImageResource:(NSString*)name; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVPlugin+Resources.m: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import "CDVPlugin+Resources.h" 21 | 22 | @implementation CDVPlugin (CDVPluginResources) 23 | 24 | - (NSString*)pluginLocalizedString:(NSString*)key 25 | { 26 | NSBundle* bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:NSStringFromClass([self class]) ofType:@"bundle"]]; 27 | 28 | return [bundle localizedStringForKey:(key) value:nil table:nil]; 29 | } 30 | 31 | - (UIImage*)pluginImageResource:(NSString*)name 32 | { 33 | NSString* resourceIdentifier = [NSString stringWithFormat:@"%@.bundle/%@", NSStringFromClass([self class]), name]; 34 | 35 | return [UIImage imageNamed:resourceIdentifier]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVScreenOrientationDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | 22 | @protocol CDVScreenOrientationDelegate 23 | 24 | - (UIInterfaceOrientationMask)supportedInterfaceOrientations; 25 | 26 | - (BOOL)shouldAutorotate; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVTimer.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | 22 | @interface CDVTimer : NSObject 23 | 24 | + (void)start:(NSString*)name; 25 | + (void)stop:(NSString*)name; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVURLSchemeHandler.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | #import 22 | #import "CDVViewController.h" 23 | 24 | 25 | @interface CDVURLSchemeHandler : NSObject 26 | 27 | @property (nonatomic, strong) CDVViewController* viewController; 28 | 29 | - (instancetype)initWithVC:(CDVViewController *)controller; 30 | 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVWebViewEngineProtocol.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | 22 | #define kCDVWebViewEngineScriptMessageHandlers @"kCDVWebViewEngineScriptMessageHandlers" 23 | #define kCDVWebViewEngineWKNavigationDelegate @"kCDVWebViewEngineWKNavigationDelegate" 24 | #define kCDVWebViewEngineWKUIDelegate @"kCDVWebViewEngineWKUIDelegate" 25 | #define kCDVWebViewEngineWebViewPreferences @"kCDVWebViewEngineWebViewPreferences" 26 | 27 | @protocol CDVWebViewEngineProtocol 28 | 29 | @property (nonatomic, strong, readonly) UIView* engineWebView; 30 | 31 | - (id)loadRequest:(NSURLRequest*)request; 32 | - (id)loadHTMLString:(NSString*)string baseURL:(NSURL*)baseURL; 33 | - (void)evaluateJavaScript:(NSString*)javaScriptString completionHandler:(void (^)(id, NSError*))completionHandler; 34 | 35 | - (NSURL*)URL; 36 | - (BOOL)canLoadRequest:(NSURLRequest*)request; 37 | 38 | - (instancetype)initWithFrame:(CGRect)frame; 39 | - (void)updateWithInfo:(NSDictionary*)info; 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/CDVWhitelist.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | 22 | extern NSString* const kCDVDefaultWhitelistRejectionString; 23 | 24 | @interface CDVWhitelist : NSObject 25 | 26 | @property (nonatomic, copy) NSString* whitelistRejectionFormatString; 27 | 28 | - (id)initWithArray:(NSArray*)array; 29 | - (BOOL)schemeIsAllowed:(NSString*)scheme; 30 | - (BOOL)URLIsAllowed:(NSURL*)url; 31 | - (BOOL)URLIsAllowed:(NSURL*)url logFailure:(BOOL)logFailure; 32 | - (NSString*)errorStringForURL:(NSURL*)url; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/NSDictionary+CordovaPreferences.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | #import 22 | 23 | @interface NSDictionary (CordovaPreferences) 24 | 25 | - (id)cordovaSettingForKey:(NSString*)key; 26 | - (BOOL)cordovaBoolSettingForKey:(NSString*)key defaultValue:(BOOL)defaultValue; 27 | - (CGFloat)cordovaFloatSettingForKey:(NSString*)key defaultValue:(CGFloat)defaultValue; 28 | 29 | @end 30 | 31 | @interface NSMutableDictionary (CordovaPreferences) 32 | 33 | - (void)setCordovaSetting:(id)value forKey:(NSString*)key; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/NSMutableArray+QueueAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | 22 | @interface NSMutableArray (QueueAdditions) 23 | 24 | - (id)cdv_pop; 25 | - (id)cdv_queueHead; 26 | - (id)cdv_dequeue; 27 | - (void)cdv_enqueue:(id)obj; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/include/Cordova/NSMutableArray+QueueAdditions.m: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import "NSMutableArray+QueueAdditions.h" 21 | 22 | @implementation NSMutableArray (QueueAdditions) 23 | 24 | - (id)cdv_queueHead 25 | { 26 | if ([self count] == 0) { 27 | return nil; 28 | } 29 | 30 | return [self objectAtIndex:0]; 31 | } 32 | 33 | - (__autoreleasing id)cdv_dequeue 34 | { 35 | if ([self count] == 0) { 36 | return nil; 37 | } 38 | 39 | id head = [self objectAtIndex:0]; 40 | if (head != nil) { 41 | // [[head retain] autorelease]; ARC - the __autoreleasing on the return value should so the same thing 42 | [self removeObjectAtIndex:0]; 43 | } 44 | 45 | return head; 46 | } 47 | 48 | - (id)cdv_pop 49 | { 50 | return [self cdv_dequeue]; 51 | } 52 | 53 | - (void)cdv_enqueue:(id)object 54 | { 55 | [self addObject:object]; 56 | } 57 | 58 | @end 59 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/iosRtcPluginBase.m: -------------------------------------------------------------------------------- 1 | // 2 | // iosRtcPluginBase.m 3 | // IosRtcPlugin 4 | // 5 | // Created by Steve Hannah on 2020-08-04. 6 | // Copyright © 2020 Steve Hannah. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "IosRtcPlugin.h" 11 | @implementation iosRtcPluginBase 12 | -(UIView*)webView { 13 | return _webView; 14 | } 15 | -(void)setWebView:(UIView*)wv { 16 | _webView = wv; 17 | } 18 | @end 19 | -------------------------------------------------------------------------------- /IosRtcPlugin/IosRtcPlugin/libCordova.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/IosRtcPlugin/IosRtcPlugin/libCordova.a -------------------------------------------------------------------------------- /Versions.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Thu Nov 12 12:47:27 PST 2020 3 | CodeNameOneBuildClientJar=105 4 | CodenameOne_SRCzip=153 5 | CodenameOneJar=153 6 | JavaSEJar=153 7 | CLDC11Jar=108 8 | -------------------------------------------------------------------------------- /antw: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! -f lib/CodenameOne.jar ] || [ ! -f lib/CLDC11.jar ] || [ ! -f lib/CodenameOne_SRC.zip ] || [ ! -f CodeNameOneBuildClient.jar ] 4 | then 5 | bash setup.sh 6 | fi 7 | 8 | ant -Dplatforms.JDK_1.8.home=$JAVA_HOME -Dreference.CodenameOne.jar=`pwd`/lib/CodenameOne.jar "$@" -------------------------------------------------------------------------------- /bin/WebRTCDemo-release.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/bin/WebRTCDemo-release.apk -------------------------------------------------------------------------------- /bin/webrtc.cn1lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/bin/webrtc.cn1lib -------------------------------------------------------------------------------- /build-android.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | ./antw build-for-android-device -Dautomated=true 4 | cd dist 5 | rm -rf ../docs/demo 6 | unzip result.zip 7 | cp WebRTCDemo-release.apk ../bin/ 8 | 9 | -------------------------------------------------------------------------------- /build-javascript-demo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | ./antw build-for-javascript -Dautomated=true 4 | cd dist 5 | rm -rf ../docs/demo 6 | unzip result.zip 7 | unzip WebRTCDemo-*.zip -d ../docs/demo 8 | 9 | -------------------------------------------------------------------------------- /codenameone_settings.sample.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Fri Jul 24 08:53:24 PDT 2020 3 | codename1.version=1.0 4 | codename1.ios.appid=Q5GHSKAL2F.com.codename1.webrtc 5 | codename1.ios.debug.certificate= 6 | codename1.j2me.nativeTheme=nbproject/nativej2me.res 7 | codename1.ios.certificatePassword= 8 | codename1.ios.debug.certificatePassword= 9 | codename1.ios.release.certificate= 10 | codename1.vendor=CodenameOne 11 | codename1.ios.release.certificatePassword= 12 | codename1.ios.certificate= 13 | codename1.arg.ios.newStorageLocation=true 14 | codename1.ios.provision= 15 | codename1.ios.debug.provision= 16 | codename1.icon=icon.png 17 | codename1.rim.signtoolCsk= 18 | codename1.arg.build.incSources=1 19 | codename1.ios.release.provision= 20 | codename1.rim.signtoolDb= 21 | codename1.mainName=WebRTCDemo 22 | codename1.languageLevel=5 23 | codename1.android.keystorePassword= 24 | codename1.android.keystoreAlias= 25 | codename1.rim.certificatePassword= 26 | codename1.arg.java.version=8 27 | codename1.android.keystore=/Users/shannah/cn1_files/certs.cer/android-keystore.ks 28 | codename1.arg.android.debug=true 29 | codename1.displayName=CN1WebRTC 30 | codename1.packageName=com.codename1.webrtc 31 | codename1.arg.android.release=true 32 | codename1.arg.android.xpermissions= \\ 33 | codename1.secondaryTitle=CodenameOne_Template 34 | -------------------------------------------------------------------------------- /docs/demo/_icons/apple-touch-icon-114x114-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/apple-touch-icon-114x114-precomposed.png -------------------------------------------------------------------------------- /docs/demo/_icons/apple-touch-icon-120x120-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/apple-touch-icon-120x120-precomposed.png -------------------------------------------------------------------------------- /docs/demo/_icons/apple-touch-icon-152x152-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/apple-touch-icon-152x152-precomposed.png -------------------------------------------------------------------------------- /docs/demo/_icons/apple-touch-icon-57x57-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/apple-touch-icon-57x57-precomposed.png -------------------------------------------------------------------------------- /docs/demo/_icons/apple-touch-icon-60x60-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/apple-touch-icon-60x60-precomposed.png -------------------------------------------------------------------------------- /docs/demo/_icons/apple-touch-icon-72x72-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/apple-touch-icon-72x72-precomposed.png -------------------------------------------------------------------------------- /docs/demo/_icons/apple-touch-icon-76x76-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/apple-touch-icon-76x76-precomposed.png -------------------------------------------------------------------------------- /docs/demo/_icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/icon-512x512.png -------------------------------------------------------------------------------- /docs/demo/_icons/nice-highres.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/nice-highres.png -------------------------------------------------------------------------------- /docs/demo/_icons/niceicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/niceicon.png -------------------------------------------------------------------------------- /docs/demo/_icons/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/square.png -------------------------------------------------------------------------------- /docs/demo/_icons/square144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/square144.png -------------------------------------------------------------------------------- /docs/demo/_icons/tiny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/tiny.png -------------------------------------------------------------------------------- /docs/demo/_icons/widelogo.310x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/_icons/widelogo.310x150.png -------------------------------------------------------------------------------- /docs/demo/assets/CN1Resource.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/assets/CN1Resource.res -------------------------------------------------------------------------------- /docs/demo/assets/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Ant-Version: Apache Ant 1.10.4 3 | Created-By: 11.0.4+11 (AdoptOpenJDK) 4 | Class-Path: lib/CLDC11.jar lib/CodenameOne_SRC.zip lib/CodenameOne.jar 5 | lib/override/ lib/cls/ lib/stubs/ lib/JavaSE.jar lib/internal_tmp 6 | X-COMMENT: Main-Class will be added automatically by build 7 | Main-Class: com.codename1.impl.javase.Simulator 8 | 9 | -------------------------------------------------------------------------------- /docs/demo/assets/android_holo_light.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/assets/android_holo_light.res -------------------------------------------------------------------------------- /docs/demo/assets/cn1-version-numbers: -------------------------------------------------------------------------------- 1 | 7dd4e7d08b3442d90959477ee52a5ae8c4361b29 2 | -------------------------------------------------------------------------------- /docs/demo/assets/com_codename1_rtc_RTCBootstrap.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Web RTC 5 | 13 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/demo/assets/iOS7Theme.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/assets/iOS7Theme.res -------------------------------------------------------------------------------- /docs/demo/assets/material-design-font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/assets/material-design-font.ttf -------------------------------------------------------------------------------- /docs/demo/assets/overview.adoc: -------------------------------------------------------------------------------- 1 | = Codename One WebRTC Library 2 | 3 | This library is an implementation of https://webrtc.org[WebRTC] for https://www.codenameone.com[Codnename One]. 4 | 5 | == Getting Started 6 | 7 | {@link com.codename1.webrtc.RTC} is the main access point for all WebRTC functionality. Obtain a reference to this class using {@link com.codename1.webrtc.RTC#createRTC()}, as follows: 8 | 9 | [source,java] 10 | ---- 11 | RTC.createRTC().then(rtc->{ 12 | // The RTC object is created. You can now start working with it. 13 | }); 14 | ---- 15 | 16 | == Accessing User Media: AKA Camera and Microphone Access 17 | 18 | Use https://shannah.github.io/CN1WebRTC/javadoc/com/codename1/webrtc/RTC.html#getUserMedia-com.codename1.webrtc.MediaStreamConstraints-[getUserMedia()] on the {@link com.codename1.webrtc.RTC} object. 19 | 20 | E.g. (From https://github.com/shannah/CN1WebRTC/blob/master/src/com/codename1/webrtc/demos/BasicDemo.java[Basic Demo]) 21 | 22 | [source,java] 23 | ---- 24 | MediaStreamConstraints constraints = new MediaStreamConstraints() 25 | .audio() 26 | .echoCancellation(true) 27 | .noiseSuppression(true) 28 | .video(true) 29 | .stream(); 30 | 31 | 32 | rtc.getUserMedia(constraints).then(stream->{ 33 | RTCVideoElement video = rtc.createVideo(); 34 | video.setAutoplay(true); 35 | video.setSrcObject(stream); 36 | rtc.append(video); 37 | }).onCatch(error-> { 38 | System.out.println("Failed to get user media: "+error.getMessage()); 39 | Log.e(error); 40 | }); 41 | 42 | ---- 43 | 44 | == Using Peer Connections 45 | 46 | Use {@link com.codename1.webrtc.RTC#newRTCPeerConnection()}. See https://github.com/shannah/CN1WebRTC/blob/master/src/com/codename1/webrtc/demos/PeerConnectionDemo.java[PeerConnectionDemo]. 47 | 48 | 49 | -------------------------------------------------------------------------------- /docs/demo/assets/theme.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/assets/theme.res -------------------------------------------------------------------------------- /docs/demo/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/favicon.png -------------------------------------------------------------------------------- /docs/demo/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/icon.png -------------------------------------------------------------------------------- /docs/demo/includes/com_codename1_webrtc_WebRTCNative.js: -------------------------------------------------------------------------------- 1 | (function(exports){ 2 | 3 | var o = {}; 4 | 5 | o.requestPermissions__java_lang_String_boolean_boolean = function(param1, param2, param3, callback) { 6 | callback.error(new Error("Not implemented yet")); 7 | }; 8 | 9 | o.isSupported_ = function(callback) { 10 | callback.complete(false); 11 | }; 12 | 13 | exports.com_codename1_webrtc_WebRTCNative= o; 14 | 15 | })(cn1_get_native_interfaces()); 16 | -------------------------------------------------------------------------------- /docs/demo/includes/com_codename1_webrtc_compat_cordova_CordovaNative.js: -------------------------------------------------------------------------------- 1 | (function(exports){ 2 | 3 | var o = {}; 4 | 5 | o.execute__java_lang_String_java_lang_String = function(param1, param2, callback) { 6 | callback.error(new Error("Not implemented yet")); 7 | }; 8 | 9 | o.pluginInitialize__com_codename1_ui_PeerComponent = function(param1, callback) { 10 | callback.error(new Error("Not implemented yet")); 11 | }; 12 | 13 | o.dispose_ = function(callback) { 14 | callback.error(new Error("Not implemented yet")); 15 | }; 16 | 17 | o.isSupported_ = function(callback) { 18 | callback.complete(false); 19 | }; 20 | 21 | exports.com_codename1_webrtc_compat_cordova_CordovaNative= o; 22 | 23 | })(cn1_get_native_interfaces()); 24 | -------------------------------------------------------------------------------- /docs/demo/js/pwa.js: -------------------------------------------------------------------------------- 1 | UpUp.start({ 2 | 'content-url': 'offline.html', 3 | 'assets': [ 4 | '/css/bootstrap.min.css', 5 | '/css/bootstrap-theme.min.css', 6 | '/style.css', 7 | '/js/push.js?v={APP_VERSION}', 8 | '/js/jquery.min.js?v={APP_VERSION}', 9 | '/js/fontmetrics.js?v={APP_VERSION}', 10 | '/js/manup.js', 11 | '/teavm/classes.js?v={APP_VERSION}', 12 | '/js/bootstrap.min.js', 13 | '/js/upup.min.js', 14 | '/progress.gif', 15 | '/icon.png' 16 | /* UPUP_ASSETS_LIST */ 17 | 18 | ], 19 | 'service-worker-url': 'sw.js', 20 | 'cache-version' : '{APP_VERSION}' 21 | }); -------------------------------------------------------------------------------- /docs/demo/js/upup.min.js: -------------------------------------------------------------------------------- 1 | //! UpUp 2 | //! version : 1.0.0 3 | //! author : Tal Ater @TalAter 4 | //! license : MIT 5 | //! https://github.com/TalAter/UpUp 6 | (function(e){"use strict";var t=navigator.serviceWorker;if(!t)return this.UpUp=null,e;var n={"service-worker-url":"upup.sw.min.js"},r=!1,s="font-weight: bold; color: #00f;";this.UpUp={start:function(e){this.addSettings(e),t.register(n["service-worker-url"],{scope:"./"}).then(function(e){r&&console.log("Service worker registration successful with scope: %c"+e.scope,s);(e.installing||t.controller||e.active).postMessage({action:"set-settings",settings:n})}).catch(function(e){r&&console.log("Service worker registration failed: %c"+e,s)})},addSettings:function(t){"string"==typeof(t=t||{})&&(t={content:t}),["content","content-url","assets","service-worker-url","cache-version"].forEach(function(r){t[r]!==e&&(n[r]=t[r])})},debug:function(e){r=!(arguments.length>0)||!!e}}}).call(this); 7 | //# sourceMappingURL=upup.min.js.map -------------------------------------------------------------------------------- /docs/demo/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CN1WebRTC", 3 | "short_name": "CN1WebRTC", 4 | "background_color": "#ffffff", 5 | "theme_color": "rgb(35,103,241)", 6 | "display": "standalone", 7 | "start_url": "index.html", 8 | "orientation": "portrait-primary", 9 | "icons": [ 10 | { 11 | "sizes": "70x70", 12 | "src": "_icons/tiny.png", 13 | "type": "image/png" 14 | }, 15 | { 16 | "sizes": "150x150", 17 | "src": "_icons/square.png", 18 | "type": "image/png" 19 | }, 20 | { 21 | "sizes": "144x144", 22 | "src": "_icons/square144.png", 23 | "type": "image/png" 24 | }, 25 | { 26 | "sizes": "310x150", 27 | "src": "_icons/widelogo.310x150.png", 28 | "type": "image/png" 29 | }, 30 | { 31 | "sizes": "72x72", 32 | "src": "_icons/apple-touch-icon-72x72-precomposed.png", 33 | "type": "image/png" 34 | }, 35 | { 36 | "sizes": "57x57", 37 | "src": "_icons/apple-touch-icon-57x57-precomposed.png", 38 | "type": "image/png" 39 | }, 40 | { 41 | "sizes": "76x76", 42 | "src": "_icons/apple-touch-icon-76x76-precomposed.png", 43 | "type": "image/png" 44 | }, 45 | { 46 | "sizes": "60x60", 47 | "src": "_icons/apple-touch-icon-60x60-precomposed.png", 48 | "type": "image/png" 49 | }, 50 | { 51 | "sizes": "120x120", 52 | "src": "_icons/apple-touch-icon-120x120-precomposed.png", 53 | "type": "image/png" 54 | }, 55 | { 56 | "sizes": "152x152", 57 | "src": "_icons/apple-touch-icon-152x152-precomposed.png", 58 | "type": "image/png" 59 | }, 60 | { 61 | "sizes": "114x114", 62 | "src": "_icons/apple-touch-icon-114x114-precomposed.png", 63 | "type": "image/png" 64 | }, 65 | { 66 | "sizes": "192x192", 67 | "src": "_icons/nice-highres.png", 68 | "type": "image/png" 69 | }, 70 | { 71 | "sizes": "128x128", 72 | "src": "_icons/niceicon.png", 73 | "type": "image/png" 74 | }, 75 | { 76 | "sizes": "512x512", 77 | "src": "_icons/icon-512x512.png", 78 | "type": "image/png" 79 | } 80 | ] 81 | } -------------------------------------------------------------------------------- /docs/demo/progress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/progress.gif -------------------------------------------------------------------------------- /docs/demo/teavm/classes.js.teavmdbg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/docs/demo/teavm/classes.js.teavmdbg -------------------------------------------------------------------------------- /docs/javadoc/com/codename1/ui/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | com.codename1.ui 7 | 8 | 9 | 10 | 11 | 12 |

com.codename1.ui

13 |
14 |

Classes

15 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/javadoc/com/codename1/webrtc/compat/cordova/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | com.codename1.webrtc.compat.cordova 7 | 8 | 9 | 10 | 11 | 12 |

com.codename1.webrtc.compat.cordova

13 |
14 |

Interfaces

15 | 19 |

Classes

20 | 27 |

Enums

28 | 31 |
32 | 33 | 34 | -------------------------------------------------------------------------------- /docs/javadoc/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Overview List 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |

Packages

15 | 20 |
21 |

 

22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/package-list: -------------------------------------------------------------------------------- 1 | com.codename1.ui 2 | com.codename1.webrtc 3 | com.codename1.webrtc.compat.cordova 4 | -------------------------------------------------------------------------------- /docs/javadoc/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/icon.png -------------------------------------------------------------------------------- /javadoc-dependencies/com.codename1/package-list: -------------------------------------------------------------------------------- 1 | com.codename1.ads 2 | com.codename1.analytics 3 | com.codename1.background 4 | com.codename1.capture 5 | com.codename1.charts 6 | com.codename1.charts.models 7 | com.codename1.charts.renderers 8 | com.codename1.charts.transitions 9 | com.codename1.charts.util 10 | com.codename1.charts.views 11 | com.codename1.cloud 12 | com.codename1.codescan 13 | com.codename1.compat.java.util 14 | com.codename1.components 15 | com.codename1.contacts 16 | com.codename1.db 17 | com.codename1.facebook 18 | com.codename1.facebook.ui 19 | com.codename1.io 20 | com.codename1.io.gzip 21 | com.codename1.io.rest 22 | com.codename1.io.services 23 | com.codename1.io.tar 24 | com.codename1.javascript 25 | com.codename1.l10n 26 | com.codename1.location 27 | com.codename1.maps 28 | com.codename1.maps.layers 29 | com.codename1.maps.providers 30 | com.codename1.media 31 | com.codename1.messaging 32 | com.codename1.notifications 33 | com.codename1.payment 34 | com.codename1.processing 35 | com.codename1.properties 36 | com.codename1.push 37 | com.codename1.share 38 | com.codename1.social 39 | com.codename1.system 40 | com.codename1.testing 41 | com.codename1.ui 42 | com.codename1.ui.animations 43 | com.codename1.ui.events 44 | com.codename1.ui.geom 45 | com.codename1.ui.html 46 | com.codename1.ui.layouts 47 | com.codename1.ui.layouts.mig 48 | com.codename1.ui.list 49 | com.codename1.ui.painter 50 | com.codename1.ui.plaf 51 | com.codename1.ui.scene 52 | com.codename1.ui.spinner 53 | com.codename1.ui.table 54 | com.codename1.ui.tree 55 | com.codename1.ui.util 56 | com.codename1.ui.validation 57 | com.codename1.util 58 | com.codename1.util.regex 59 | com.codename1.xml 60 | java.io 61 | java.lang 62 | java.lang.annotation 63 | java.lang.invoke 64 | java.lang.ref 65 | java.net 66 | java.text 67 | java.util 68 | -------------------------------------------------------------------------------- /lib/CN1JSON.cn1lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/lib/CN1JSON.cn1lib -------------------------------------------------------------------------------- /lib/CN1JSON.ver: -------------------------------------------------------------------------------- 1 | version=4 2 | -------------------------------------------------------------------------------- /manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | X-COMMENT: Main-Class will be added automatically by build 3 | 4 | -------------------------------------------------------------------------------- /native/internal_tmp/com/codename1/webrtc/WebRTCNativeImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/native/internal_tmp/com/codename1/webrtc/WebRTCNativeImpl.class -------------------------------------------------------------------------------- /native/internal_tmp/com/codename1/webrtc/WebRTCNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc; 2 | 3 | public class WebRTCNativeImpl implements com.codename1.webrtc.WebRTCNative{ 4 | public void requestPermissions(String param, boolean param1, boolean param2) { 5 | } 6 | 7 | public boolean isSupported() { 8 | return false; 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /native/internal_tmp/com/codename1/webrtc/compat/cordova/CordovaNativeImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/native/internal_tmp/com/codename1/webrtc/compat/cordova/CordovaNativeImpl.class -------------------------------------------------------------------------------- /native/internal_tmp/com/codename1/webrtc/compat/cordova/CordovaNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc.compat.cordova; 2 | 3 | public class CordovaNativeImpl implements com.codename1.webrtc.compat.cordova.CordovaNative{ 4 | public boolean execute(String param, String param1, String param2) { 5 | return false; 6 | } 7 | 8 | public void pluginInitialize(com.codename1.ui.PeerComponent param) { 9 | } 10 | 11 | public void dispose() { 12 | } 13 | 14 | public boolean isSupported() { 15 | return false; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=65812561 2 | build.xml.script.CRC32=c17a4175 3 | build.xml.stylesheet.CRC32=28e38971@1.44.1.45 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=1da975ad 7 | nbproject/build-impl.xml.script.CRC32=df69c43e 8 | nbproject/build-impl.xml.stylesheet.CRC32=f89f7d21@1.95.0.48 9 | -------------------------------------------------------------------------------- /nbproject/nativej2me.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/nbproject/nativej2me.res -------------------------------------------------------------------------------- /nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.java.j2seproject 4 | 5 | 6 | CN1WebRTC 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | CodenameOne 18 | jar 19 | 20 | jar 21 | clean 22 | jar 23 | 24 | 25 | JavaSE 26 | jar 27 | 28 | jar 29 | clean 30 | jar 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | DIR="$( cd "$(dirname "$0")" ; pwd -P )" 3 | UPDATE_JAR=$HOME/.codenameone/UpdateCodenameOne.jar 4 | if [ ! -f $UPDATE_JAR ] 5 | then 6 | curl https://www.codenameone.com/files/updates/UpdateCodenameOne.jar > $UPDATE_JAR 7 | fi 8 | rm Versions.properties 9 | java -jar $UPDATE_JAR $DIR force 10 | mkdir webrtc/lib 11 | cp lib/CodenameOne_SRC.zip webrtc/lib/ 12 | cp lib/CodenameOne.jar webrtc/lib/ 13 | cp lib/CLDC11.jar webrtc/lib/ 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/theme.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/src/theme.res -------------------------------------------------------------------------------- /webrtc/codenameone_library_appended.properties: -------------------------------------------------------------------------------- 1 | #Place here properties that should be appended to an existed property if exists 2 | #in the project codenameone_settings.properties for example codename1.arg.android.xpermissions 3 | #is an appended type property. 4 | # 5 | #Wed Jan 09 17:59:31 IST 2013 6 | codename1.arg.android.xpermissions= \\ 7 | #codename1.arg.ios.pods=,Cordova ~> 6.1 8 | codename1.arg.ios.pods=,Cordova ~> 6.1 9 | codename1.arg.ios.pods.platform=,11.0 10 | codename1.arg.ios.pods.build.CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES=YES 11 | codename1.arg.ios.pods.build.CLANG_ENABLE_MODULES=YES -------------------------------------------------------------------------------- /webrtc/codenameone_library_required.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Fri Jul 24 08:43:36 PDT 2020 3 | codename1.arg.java.version=8 4 | -------------------------------------------------------------------------------- /webrtc/lib/asciidoclet-1.5.7-SNAPSHOT-shaded.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/webrtc/lib/asciidoclet-1.5.7-SNAPSHOT-shaded.jar -------------------------------------------------------------------------------- /webrtc/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | X-COMMENT: Main-Class will be added automatically by build 3 | 4 | -------------------------------------------------------------------------------- /webrtc/manifest.properties: -------------------------------------------------------------------------------- 1 | # Codename One libray manifest 2 | 3 | -------------------------------------------------------------------------------- /webrtc/native/android/com/codename1/webrtc/WebRTCNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc; 2 | 3 | import android.Manifest; 4 | import static com.codename1.impl.android.AndroidImplementation.checkForPermission; 5 | 6 | public class WebRTCNativeImpl { 7 | public void requestPermissions(String callbackId, boolean audio, boolean video) { 8 | 9 | if(audio && !checkForPermission(Manifest.permission.RECORD_AUDIO, "This is required to record audio")){ 10 | RTC.permissionCallback(callbackId, false, false); 11 | return; 12 | } 13 | if(audio && !checkForPermission(Manifest.permission.MODIFY_AUDIO_SETTINGS, "This is required to record audio")){ 14 | RTC.permissionCallback(callbackId, false, false); 15 | return; 16 | } 17 | if (video && !checkForPermission(Manifest.permission.CAMERA, "This is required to record video")) { 18 | RTC.permissionCallback(callbackId, false, false); 19 | return; 20 | } 21 | RTC.permissionCallback(callbackId, audio, video); 22 | } 23 | 24 | public boolean isSupported() { 25 | return true; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /webrtc/native/android/com/codename1/webrtc/compat/cordova/CordovaNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc.compat.cordova; 2 | 3 | public class CordovaNativeImpl { 4 | public boolean execute(String param, String param1, String param2) { 5 | return false; 6 | } 7 | 8 | public void pluginInitialize(android.view.View param) { 9 | } 10 | 11 | public void dispose() { 12 | } 13 | 14 | public boolean isSupported() { 15 | return false; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /webrtc/native/internal_tmp/com/codename1/webrtc/WebRTCNativeImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/webrtc/native/internal_tmp/com/codename1/webrtc/WebRTCNativeImpl.class -------------------------------------------------------------------------------- /webrtc/native/internal_tmp/com/codename1/webrtc/WebRTCNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc; 2 | 3 | public class WebRTCNativeImpl implements com.codename1.webrtc.WebRTCNative{ 4 | public void requestPermissions(String param, boolean param1, boolean param2) { 5 | } 6 | 7 | public boolean isSupported() { 8 | return false; 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /webrtc/native/ios/IosRtcPlugin.framework.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/webrtc/native/ios/IosRtcPlugin.framework.zip -------------------------------------------------------------------------------- /webrtc/native/ios/IosrtcPluginCommandDelegateImpl.h: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | #import 21 | #import 22 | 23 | @class CDVViewController; 24 | 25 | @interface IosrtcPluginCommandDelegateImpl : NSObject { 26 | 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /webrtc/native/ios/WebRTC.framework.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/webrtc/native/ios/WebRTC.framework.zip -------------------------------------------------------------------------------- /webrtc/native/ios/com_codename1_webrtc_WebRTCNativeImpl.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface com_codename1_webrtc_WebRTCNativeImpl : NSObject { 4 | } 5 | 6 | -(void)requestPermissions:(NSString*)param param1:(BOOL)param1 param2:(BOOL)param2; 7 | -(BOOL)isSupported; 8 | @end 9 | -------------------------------------------------------------------------------- /webrtc/native/ios/com_codename1_webrtc_WebRTCNativeImpl.m: -------------------------------------------------------------------------------- 1 | #import "com_codename1_webrtc_WebRTCNativeImpl.h" 2 | 3 | 4 | @implementation com_codename1_webrtc_WebRTCNativeImpl 5 | 6 | -(void)requestPermissions:(NSString*)param param1:(BOOL)param1 param2:(BOOL)param2{ 7 | 8 | } 9 | 10 | -(BOOL)isSupported{ 11 | return NO; 12 | } 13 | 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /webrtc/native/ios/com_codename1_webrtc_compat_cordova_CordovaNativeImpl.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class iosrtcPlugin; 4 | 5 | @interface com_codename1_webrtc_compat_cordova_CordovaNativeImpl : NSObject { 6 | 7 | iosrtcPlugin* _iosrtcPlugin; 8 | } 9 | -(void)pluginInitialize:(UIView*)param; 10 | -(void)dispose; 11 | -(BOOL)execute:(NSString*) callbackId param1:(NSString*)action param2:(NSString*)data; 12 | -(BOOL)isSupported; 13 | @end 14 | -------------------------------------------------------------------------------- /webrtc/native/j2me/com/codename1/webrtc/WebRTCNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc; 2 | 3 | public class WebRTCNativeImpl { 4 | public void requestPermissions(String param, boolean param1, boolean param2) { 5 | } 6 | 7 | public boolean isSupported() { 8 | return false; 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /webrtc/native/j2me/com/codename1/webrtc/compat/cordova/CordovaNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc.compat.cordova; 2 | 3 | public class CordovaNativeImpl { 4 | public boolean execute(String param, String param1, String param2) { 5 | return false; 6 | } 7 | 8 | public void pluginInitialize(Object param) { 9 | } 10 | 11 | public void dispose() { 12 | } 13 | 14 | public boolean isSupported() { 15 | return false; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /webrtc/native/javascript/com_codename1_webrtc_WebRTCNative.js: -------------------------------------------------------------------------------- 1 | (function(exports){ 2 | 3 | var o = {}; 4 | 5 | o.requestPermissions__java_lang_String_boolean_boolean = function(param1, param2, param3, callback) { 6 | callback.error(new Error("Not implemented yet")); 7 | }; 8 | 9 | o.isSupported_ = function(callback) { 10 | callback.complete(false); 11 | }; 12 | 13 | exports.com_codename1_webrtc_WebRTCNative= o; 14 | 15 | })(cn1_get_native_interfaces()); 16 | -------------------------------------------------------------------------------- /webrtc/native/javascript/com_codename1_webrtc_compat_cordova_CordovaNative.js: -------------------------------------------------------------------------------- 1 | (function(exports){ 2 | 3 | var o = {}; 4 | 5 | o.execute__java_lang_String_java_lang_String = function(param1, param2, callback) { 6 | callback.error(new Error("Not implemented yet")); 7 | }; 8 | 9 | o.pluginInitialize__com_codename1_ui_PeerComponent = function(param1, callback) { 10 | callback.error(new Error("Not implemented yet")); 11 | }; 12 | 13 | o.dispose_ = function(callback) { 14 | callback.error(new Error("Not implemented yet")); 15 | }; 16 | 17 | o.isSupported_ = function(callback) { 18 | callback.complete(false); 19 | }; 20 | 21 | exports.com_codename1_webrtc_compat_cordova_CordovaNative= o; 22 | 23 | })(cn1_get_native_interfaces()); 24 | -------------------------------------------------------------------------------- /webrtc/native/javase/com/codename1/webrtc/WebRTCNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc; 2 | 3 | public class WebRTCNativeImpl implements com.codename1.webrtc.WebRTCNative{ 4 | public void requestPermissions(String param, boolean param1, boolean param2) { 5 | } 6 | 7 | public boolean isSupported() { 8 | return false; 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /webrtc/native/javase/com/codename1/webrtc/compat/cordova/CordovaNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc.compat.cordova; 2 | 3 | public class CordovaNativeImpl implements com.codename1.webrtc.compat.cordova.CordovaNative{ 4 | public boolean execute(String param, String param1, String param2) { 5 | return false; 6 | } 7 | 8 | public void pluginInitialize(com.codename1.ui.PeerComponent param) { 9 | } 10 | 11 | public void dispose() { 12 | } 13 | 14 | public boolean isSupported() { 15 | return false; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /webrtc/native/rim/com/codename1/webrtc/WebRTCNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc; 2 | 3 | public class WebRTCNativeImpl { 4 | public void requestPermissions(String param, boolean param1, boolean param2) { 5 | } 6 | 7 | public boolean isSupported() { 8 | return false; 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /webrtc/native/rim/com/codename1/webrtc/compat/cordova/CordovaNativeImpl.java: -------------------------------------------------------------------------------- 1 | package com.codename1.webrtc.compat.cordova; 2 | 3 | public class CordovaNativeImpl { 4 | public boolean execute(String param, String param1, String param2) { 5 | return false; 6 | } 7 | 8 | public void pluginInitialize(net.rim.device.api.ui.Field param) { 9 | } 10 | 11 | public void dispose() { 12 | } 13 | 14 | public boolean isSupported() { 15 | return false; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /webrtc/native/win/com/codename1/webrtc/WebRTCNativeImpl.cs: -------------------------------------------------------------------------------- 1 | namespace com.codename1.webrtc{ 2 | 3 | 4 | public class WebRTCNativeImpl : IWebRTCNativeImpl { 5 | public void requestPermissions(String param, bool param1, bool param2) { 6 | } 7 | 8 | public bool isSupported() { 9 | return false; 10 | } 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /webrtc/native/win/com/codename1/webrtc/compat/cordova/CordovaNativeImpl.cs: -------------------------------------------------------------------------------- 1 | namespace com.codename1.webrtc.compat.cordova{ 2 | 3 | 4 | public class CordovaNativeImpl : ICordovaNativeImpl { 5 | public bool execute(String param, String param1, String param2) { 6 | return false; 7 | } 8 | 9 | public void pluginInitialize(object param) { 10 | } 11 | 12 | public void dispose() { 13 | } 14 | 15 | public bool isSupported() { 16 | return false; 17 | } 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /webrtc/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=65812561 2 | build.xml.script.CRC32=c17a4175 3 | build.xml.stylesheet.CRC32=28e38971@1.44.1.45 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=f1968ce3 7 | nbproject/build-impl.xml.script.CRC32=77a3d3c6 8 | nbproject/build-impl.xml.stylesheet.CRC32=f89f7d21@1.95.0.48 9 | -------------------------------------------------------------------------------- /webrtc/nbproject/nativej2me.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shannah/WebRTC-Java-Mobile/9a78e58ba3dc0fedbf30b9fde5b6cfdf0e15146a/webrtc/nbproject/nativej2me.res -------------------------------------------------------------------------------- /webrtc/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.java.j2seproject 4 | 5 | 6 | webrtc 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | CodenameOne 18 | jar 19 | 20 | jar 21 | clean 22 | jar 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /webrtc/src/com/codename1/ui/WebRTCAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package com.codename1.ui; 7 | 8 | /** 9 | * 10 | * @author shannah 11 | */ 12 | public class WebRTCAccessor { 13 | public static PeerComponent getInternal(BrowserComponent cmp) { 14 | return cmp.getInternal(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /webrtc/src/com/codename1/webrtc/AudioTrack.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package com.codename1.webrtc; 7 | 8 | /** 9 | * The AudioTrack interface represents a single audio track from one of the HTML media elements, 10 | * `