Delete talk directory, and references from build_ios_libs.sh.
BUG=webrtc:4256
Review-Url: https://codereview.webrtc.org/2296613002
Cr-Commit-Position: refs/heads/master@{#14040}
diff --git a/COPYING b/COPYING
deleted file mode 100644
index fba26f4..0000000
--- a/COPYING
+++ /dev/null
@@ -1 +0,0 @@
-Refer to talk/COPYING.
\ No newline at end of file
diff --git a/LICENSE_THIRD_PARTY b/LICENSE_THIRD_PARTY
index dfcf6e4..2281c65 100644
--- a/LICENSE_THIRD_PARTY
+++ b/LICENSE_THIRD_PARTY
@@ -1 +1 @@
-Refer to webrtc/LICENSE_THIRD_PARTY and talk/LICENSE_THIRD_PARTY.
+Refer to webrtc/LICENSE_THIRD_PARTY.
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 00bcc3e..f07f49b 100755
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -63,7 +63,6 @@
# These directories should not be used but are maintained only to avoid breaking
# some legacy downstream code.
LEGACY_API_DIRS = (
- 'talk/app/webrtc',
'webrtc/base',
'webrtc/common_audio/include',
'webrtc/modules/audio_coding/include',
@@ -459,6 +458,7 @@
],
pylintrc='pylintrc'))
+ # TODO(nisse): talk/ is no more, so make below checks simpler?
# WebRTC can't use the presubmit_canned_checks.PanProjectChecks function since
# we need to have different license checks in talk/ and webrtc/ directories.
# Instead, hand-picked checks are included below.
diff --git a/all.gyp b/all.gyp
index da54e72..be267fb 100644
--- a/all.gyp
+++ b/all.gyp
@@ -63,18 +63,6 @@
'webrtc/sdk/sdk.gyp:*',
],
}],
- ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', {
- 'dependencies': [
- 'talk/app/webrtc/legacy_objc_api.gyp:*',
- ],
- 'conditions': [
- ['include_tests==1', {
- 'dependencies': [
- 'talk/app/webrtc/legacy_objc_api_tests.gyp:*',
- ],
- }],
- ],
- }],
],
},
],
diff --git a/talk/COPYING b/talk/COPYING
deleted file mode 100644
index ba0bffa..0000000
--- a/talk/COPYING
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright (c) 2013, Google Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
\ No newline at end of file
diff --git a/talk/LICENSE_THIRD_PARTY b/talk/LICENSE_THIRD_PARTY
deleted file mode 100644
index 5a27606..0000000
--- a/talk/LICENSE_THIRD_PARTY
+++ /dev/null
@@ -1,27 +0,0 @@
-This source tree contains third party source code which is governed by third
-party licenses. This file contains references to files which are under other
-licenses than the one provided in the COPYING file in the root of the source
-tree.
-
-Files governed by third party licenses:
-
-Governed by license within files (Public domain):
-Exact origin unknown
-base/base64.c
-base/base64.h
-
-Governed by http://www.fourmilab.ch/md5/ (Public domain):
-base/md5.c
-base/md5.h
-
-Governed by license within files (Public domain):
-Originally downloaded from http://svn.ghostscript.com/jbig2dec/tags/release_0_02/sha1.*
-base/sha1.c
-base/sha1.h
-
-Governed by http://sigslot.sourceforge.net/#license (Public domain):
-base/sigslot.cc
-base/sigslot.h
-
-Governed by http://www.freedesktop.org/wiki/Software/systemd (LGPL 2.1+):
-third_party/libudev/libudev.h
\ No newline at end of file
diff --git a/talk/OWNERS b/talk/OWNERS
deleted file mode 100644
index 112040c..0000000
--- a/talk/OWNERS
+++ /dev/null
@@ -1,13 +0,0 @@
-hta@webrtc.org
-jiayl@webrtc.org
-juberti@webrtc.org
-perkj@webrtc.org
-pthatcher@webrtc.org
-sergeyu@chromium.org
-tommi@webrtc.org
-per-file *.isolate=kjellander@webrtc.org
-
-# These are for the common case of adding or renaming files. If you're doing
-# structural changes, please get a review from a reviewer in this file.
-per-file *.gyp=*
-per-file *.gypi=*
diff --git a/talk/PRESUBMIT.py b/talk/PRESUBMIT.py
deleted file mode 100644
index 3e121f5..0000000
--- a/talk/PRESUBMIT.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# libjingle
-# Copyright 2013 Google Inc.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-def _LicenseHeader(input_api):
- """Returns the license header regexp."""
- # Accept any year number from start of project to the current year
- current_year = int(input_api.time.strftime('%Y'))
- allowed_years = (str(s) for s in reversed(xrange(2004, current_year + 1)))
- years_re = '(' + '|'.join(allowed_years) + ')'
- years_re = '%s(--%s)?' % (years_re, years_re)
- license_header = (
- r'.*? libjingle\n'
- r'.*? Copyright %(year)s Google Inc\..*\n'
- r'.*?\n'
- r'.*? Redistribution and use in source and binary forms, with or without'
- r'\n'
- r'.*? modification, are permitted provided that the following conditions '
- r'are met:\n'
- r'.*?\n'
- r'.*? 1\. Redistributions of source code must retain the above copyright '
- r'notice,\n'
- r'.*? this list of conditions and the following disclaimer\.\n'
- r'.*? 2\. Redistributions in binary form must reproduce the above '
- r'copyright notice,\n'
- r'.*? this list of conditions and the following disclaimer in the '
- r'documentation\n'
- r'.*? and/or other materials provided with the distribution\.\n'
- r'.*? 3\. The name of the author may not be used to endorse or promote '
- r'products\n'
- r'.*? derived from this software without specific prior written '
- r'permission\.\n'
- r'.*?\n'
- r'.*? THIS SOFTWARE IS PROVIDED BY THE AUTHOR \`\`AS IS\'\' AND ANY '
- r'EXPRESS OR IMPLIED\n'
- r'.*? WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES '
- r'OF\n'
- r'.*? MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE '
- r'DISCLAIMED\. IN NO\n'
- r'.*? EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, '
- r'INCIDENTAL,\n'
- r'.*? SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES \(INCLUDING, '
- r'BUT NOT LIMITED TO,\n'
- r'.*? PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR '
- r'PROFITS;\n'
- r'.*? OR BUSINESS INTERRUPTION\) HOWEVER CAUSED AND ON ANY THEORY OF '
- r'LIABILITY,\n'
- r'.*? WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \(INCLUDING '
- r'NEGLIGENCE OR\n'
- r'.*? OTHERWISE\) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, '
- r'EVEN IF\n'
- r'.*? ADVISED OF THE POSSIBILITY OF SUCH DAMAGE\.\n'
- ) % {
- 'year': years_re,
- }
- return license_header
-
-def _CommonChecks(input_api, output_api):
- """Checks common to both upload and commit."""
- results = []
- results.extend(input_api.canned_checks.CheckLicense(
- input_api, output_api, _LicenseHeader(input_api)))
- return results
-
-def CheckChangeOnUpload(input_api, output_api):
- results = []
- results.extend(_CommonChecks(input_api, output_api))
- return results
-
-def CheckChangeOnCommit(input_api, output_api):
- results = []
- results.extend(_CommonChecks(input_api, output_api))
- return results
diff --git a/talk/app/webrtc/DEPS b/talk/app/webrtc/DEPS
deleted file mode 100644
index 69ecd02..0000000
--- a/talk/app/webrtc/DEPS
+++ /dev/null
@@ -1,7 +0,0 @@
-include_rules = [
- "+talk/app/webrtc/objc",
- "+webrtc/video_frame.h",
- "+webrtc/api",
- "+webrtc/base",
- "+webrtc/media",
-]
diff --git a/talk/app/webrtc/legacy_objc_api.gyp b/talk/app/webrtc/legacy_objc_api.gyp
deleted file mode 100755
index c55e74c..0000000
--- a/talk/app/webrtc/legacy_objc_api.gyp
+++ /dev/null
@@ -1,193 +0,0 @@
-#
-# libjingle
-# Copyright 2012 Google Inc.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-{
- 'includes': ['../../build/common.gypi'],
- 'conditions': [
- ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', {
- # The >= 10.7 above is required for ARC.
- 'targets': [
- {
- 'target_name': 'libjingle_peerconnection_objc',
- 'type': 'static_library',
- 'dependencies': [
- '<(webrtc_root)/api/api.gyp:libjingle_peerconnection',
- ],
- 'sources': [
- 'objc/RTCAudioTrack+Internal.h',
- 'objc/RTCAudioTrack.mm',
- 'objc/RTCDataChannel+Internal.h',
- 'objc/RTCDataChannel.mm',
- 'objc/RTCEnumConverter.h',
- 'objc/RTCEnumConverter.mm',
- 'objc/RTCI420Frame+Internal.h',
- 'objc/RTCI420Frame.mm',
- 'objc/RTCICECandidate+Internal.h',
- 'objc/RTCICECandidate.mm',
- 'objc/RTCICEServer+Internal.h',
- 'objc/RTCICEServer.mm',
- 'objc/RTCLogging.mm',
- 'objc/RTCMediaConstraints+Internal.h',
- 'objc/RTCMediaConstraints.mm',
- 'objc/RTCMediaConstraintsNative.cc',
- 'objc/RTCMediaConstraintsNative.h',
- 'objc/RTCMediaSource+Internal.h',
- 'objc/RTCMediaSource.mm',
- 'objc/RTCMediaStream+Internal.h',
- 'objc/RTCMediaStream.mm',
- 'objc/RTCMediaStreamTrack+Internal.h',
- 'objc/RTCMediaStreamTrack.mm',
- 'objc/RTCOpenGLVideoRenderer.mm',
- 'objc/RTCPair.m',
- 'objc/RTCPeerConnection+Internal.h',
- 'objc/RTCPeerConnection.mm',
- 'objc/RTCPeerConnectionFactory.mm',
- 'objc/RTCPeerConnectionInterface+Internal.h',
- 'objc/RTCPeerConnectionInterface.mm',
- 'objc/RTCPeerConnectionObserver.h',
- 'objc/RTCPeerConnectionObserver.mm',
- 'objc/RTCSessionDescription+Internal.h',
- 'objc/RTCSessionDescription.mm',
- 'objc/RTCStatsReport+Internal.h',
- 'objc/RTCStatsReport.mm',
- 'objc/RTCVideoCapturer+Internal.h',
- 'objc/RTCVideoCapturer.mm',
- 'objc/RTCVideoRendererAdapter.h',
- 'objc/RTCVideoRendererAdapter.mm',
- 'objc/RTCVideoSource+Internal.h',
- 'objc/RTCVideoSource.mm',
- 'objc/RTCVideoTrack+Internal.h',
- 'objc/RTCVideoTrack.mm',
- 'objc/public/RTCAudioSource.h',
- 'objc/public/RTCAudioTrack.h',
- 'objc/public/RTCDataChannel.h',
- 'objc/public/RTCFileLogger.h',
- 'objc/public/RTCI420Frame.h',
- 'objc/public/RTCICECandidate.h',
- 'objc/public/RTCICEServer.h',
- 'objc/public/RTCLogging.h',
- 'objc/public/RTCMediaConstraints.h',
- 'objc/public/RTCMediaSource.h',
- 'objc/public/RTCMediaStream.h',
- 'objc/public/RTCMediaStreamTrack.h',
- 'objc/public/RTCOpenGLVideoRenderer.h',
- 'objc/public/RTCPair.h',
- 'objc/public/RTCPeerConnection.h',
- 'objc/public/RTCPeerConnectionDelegate.h',
- 'objc/public/RTCPeerConnectionFactory.h',
- 'objc/public/RTCPeerConnectionInterface.h',
- 'objc/public/RTCSessionDescription.h',
- 'objc/public/RTCSessionDescriptionDelegate.h',
- 'objc/public/RTCStatsDelegate.h',
- 'objc/public/RTCStatsReport.h',
- 'objc/public/RTCTypes.h',
- 'objc/public/RTCVideoCapturer.h',
- 'objc/public/RTCVideoRenderer.h',
- 'objc/public/RTCVideoSource.h',
- 'objc/public/RTCVideoTrack.h',
- ],
- 'direct_dependent_settings': {
- 'include_dirs': [
- '<(DEPTH)/talk/app/webrtc/objc/public',
- ],
- },
- 'include_dirs': [
- '<(webrtc_root)/webrtc/api',
- '<(DEPTH)/talk/app/webrtc/objc',
- '<(DEPTH)/talk/app/webrtc/objc/public',
- ],
- 'link_settings': {
- 'libraries': [
- '-lstdc++',
- ],
- },
- 'all_dependent_settings': {
- 'xcode_settings': {
- 'CLANG_ENABLE_OBJC_ARC': 'YES',
- },
- },
- 'xcode_settings': {
- 'CLANG_ENABLE_OBJC_ARC': 'YES',
- # common.gypi enables this for mac but we want this to be disabled
- # like it is for ios.
- 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO',
- # Disabled due to failing when compiled with -Wall, see
- # https://bugs.chromium.org/p/webrtc/issues/detail?id=5397
- 'WARNING_CFLAGS': ['-Wno-unused-property-ivar'],
- },
- 'conditions': [
- ['OS=="ios"', {
- 'sources': [
- 'objc/avfoundationvideocapturer.h',
- 'objc/avfoundationvideocapturer.mm',
- 'objc/RTCAVFoundationVideoSource+Internal.h',
- 'objc/RTCAVFoundationVideoSource.mm',
- 'objc/RTCEAGLVideoView.m',
- 'objc/public/RTCEAGLVideoView.h',
- 'objc/public/RTCAVFoundationVideoSource.h',
- ],
- 'dependencies': [
- '<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_common_objc',
- ],
- 'link_settings': {
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [
- '-framework CoreGraphics',
- '-framework GLKit',
- '-framework OpenGLES',
- '-framework QuartzCore',
- ],
- },
- },
- }],
- ['OS=="mac"', {
- 'sources': [
- 'objc/RTCNSGLVideoView.m',
- 'objc/public/RTCNSGLVideoView.h',
- ],
- 'xcode_settings': {
- # Need to build against 10.7 framework for full ARC support
- # on OSX.
- 'MACOSX_DEPLOYMENT_TARGET' : '10.7',
- # RTCVideoTrack.mm uses code with partial availability.
- # https://code.google.com/p/webrtc/issues/detail?id=4695
- 'WARNING_CFLAGS!': ['-Wpartial-availability'],
- },
- 'link_settings': {
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [
- '-framework Cocoa',
- '-framework OpenGL',
- ],
- },
- },
- }],
- ],
- }, # target libjingle_peerconnection_objc
- ],
- }],
- ],
-}
diff --git a/talk/app/webrtc/legacy_objc_api_tests.gyp b/talk/app/webrtc/legacy_objc_api_tests.gyp
deleted file mode 100755
index 462488a..0000000
--- a/talk/app/webrtc/legacy_objc_api_tests.gyp
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-# libjingle
-# Copyright 2012 Google Inc.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-{
- 'includes': ['../../build/common.gypi'],
- 'conditions': [
- ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', {
- # The >=10.7 above is required to make ARC link cleanly (e.g. as
- # opposed to _compile_ cleanly, which the library under test
- # does just fine on 10.6 too).
- 'targets': [
- {
- 'target_name': 'libjingle_peerconnection_objc_test',
- 'type': 'executable',
- 'includes': [ '../../../webrtc/build/ios/objc_app.gypi' ],
- 'dependencies': [
- '<(webrtc_root)/base/base_tests.gyp:rtc_base_tests_utils',
- '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_default',
- '<(webrtc_root)/system_wrappers/system_wrappers.gyp:metrics_default',
- 'legacy_objc_api.gyp:libjingle_peerconnection_objc',
- ],
- 'sources': [
- 'objctests/RTCPeerConnectionSyncObserver.h',
- 'objctests/RTCPeerConnectionSyncObserver.m',
- 'objctests/RTCPeerConnectionTest.mm',
- 'objctests/RTCSessionDescriptionSyncObserver.h',
- 'objctests/RTCSessionDescriptionSyncObserver.m',
- # TODO(fischman): figure out if this works for ios or if it
- # needs a GUI driver.
- 'objctests/mac/main.mm',
- ],
- 'conditions': [
- ['OS=="mac"', {
- 'xcode_settings': {
- # Need to build against 10.7 framework for full ARC support
- # on OSX.
- 'MACOSX_DEPLOYMENT_TARGET' : '10.7',
- # common.gypi enables this for mac but we want this to be
- # disabled like it is for ios.
- 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO',
- },
- }],
- ],
- }, # target libjingle_peerconnection_objc_test
- {
- 'target_name': 'apprtc_signaling_gunit_test',
- 'type': 'executable',
- 'includes': [ '../../../webrtc/build/ios/objc_app.gypi' ],
- 'dependencies': [
- '<(webrtc_root)/base/base_tests.gyp:rtc_base_tests_utils',
- '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_default',
- '<(webrtc_root)/system_wrappers/system_wrappers.gyp:metrics_default',
- '<(webrtc_root)/webrtc_examples.gyp:apprtc_signaling',
- '<(DEPTH)/third_party/ocmock/ocmock.gyp:ocmock',
- ],
- 'sources': [
- 'objctests/mac/main.mm',
- '<(webrtc_root)/examples/objc/AppRTCDemo/tests/ARDAppClientTest.mm',
- ],
- 'conditions': [
- ['OS=="mac"', {
- 'xcode_settings': {
- 'MACOSX_DEPLOYMENT_TARGET' : '10.8',
- },
- }],
- ],
- }, # target apprtc_signaling_gunit_test
- ],
- }],
- ],
-}
diff --git a/talk/app/webrtc/objc/.clang-format b/talk/app/webrtc/objc/.clang-format
deleted file mode 100644
index 34694e5..0000000
--- a/talk/app/webrtc/objc/.clang-format
+++ /dev/null
@@ -1,10 +0,0 @@
-BasedOnStyle: Chromium
-ColumnLimit: 100
-BinPackParameters: false
-AllowAllParametersOfDeclarationOnNextLine: true
-DerivePointerAlignment: false
-PointerAlignment: Right
-SpacesBeforeTrailingComments: 1
-ObjCBlockIndentWidth: 2
-ObjCSpaceAfterProperty: false
-ObjCSpaceBeforeProtocolList: true
diff --git a/talk/app/webrtc/objc/OWNERS b/talk/app/webrtc/objc/OWNERS
deleted file mode 100644
index cd06158..0000000
--- a/talk/app/webrtc/objc/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-tkchin@webrtc.org
diff --git a/talk/app/webrtc/objc/README b/talk/app/webrtc/objc/README
deleted file mode 100644
index f24ca24..0000000
--- a/talk/app/webrtc/objc/README
+++ /dev/null
@@ -1,68 +0,0 @@
-This directory contains the ObjectiveC implementation of the
-webrtc::PeerConnection API. This can be built for Mac or iOS. This
-file describes building the API, unit test, and AppRTCDemo sample app.
-
-Prerequisites:
-- Make sure gclient is checking out tools necessary to target iOS: your
- .gclient file should contain a line like:
- target_os = ['ios', 'mac']
- Make sure to re-run gclient sync after adding this to download the tools.
-
-- Set up webrtc-related $GYP_DEFINES; example shell functions that set
- up for building for iOS-device, iOS-simulator, and Mac (resp) are:
-function wrbase() {
- cd /path/to/webrtc/src
-}
-
-function wrios() {
- wrbase
- export GYP_DEFINES="$GYP_DEFINES OS=ios"
- export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_ios"
- export GYP_CROSSCOMPILE=1
-}
-
-function wrios32() {
- wrios
- export GYP_DEFINES="$GYP_DEFINES target_arch=arm"
-}
-
-function wrios64() {
- wrios
- export GYP_DEFINES="$GYP_DEFINES target_arch=arm64"
-}
-
-function wrsim() {
- wrbase
- export GYP_DEFINES="$GYP_DEFINES OS=ios target_subarch=arm32 target_arch=ia32"
- export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_sim"
- export GYP_CROSSCOMPILE=1
-}
-
-function wrmac() {
- wrbase
- export GYP_DEFINES="$GYP_DEFINES OS=mac target_subarch=arm64 target_arch=x64"
- export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_mac"
-}
-
-- Finally, run "webrtc/build/gyp_webrtc.py" to generate ninja files.
-
-Example of building & using the unittest & app:
-
-- To build & run the unittest (must target mac):
- wrmac && ./webrtc/build/gyp_webrtc.py && \
- ninja -C out_mac/Debug libjingle_peerconnection_objc_test && \
- ./out_mac/Debug/libjingle_peerconnection_objc_test.app/Contents/MacOS/libjingle_peerconnection_objc_test
-
-- To build & launch the sample app on OSX:
- wrmac && ./webrtc/build/gyp_webrtc.py && ninja -C out_mac/Debug AppRTCDemo && \
- ./out_mac/Debug/AppRTCDemo.app/Contents/MacOS/AppRTCDemo
-
-- To build & launch the sample app on the iOS simulator:
- wrsim && ./webrtc/build/gyp_webrtc.py && ninja -C out_sim/Debug iossim AppRTCDemo && \
- ./out_sim/Debug/iossim out_sim/Debug/AppRTCDemo.app
-
-- To build & sign the sample app for an iOS device (32 bit):
- wrios32 && ./webrtc/build/gyp_webrtc.py && ninja -C out_ios/Debug-iphoneos AppRTCDemo
-
-- To build & sign the sample app for an iOS device (64 bit):
- wrios64 && ./webrtc/build/gyp_webrtc.py && ninja -C out_ios/Debug-iphoneos AppRTCDemo
diff --git a/talk/app/webrtc/objc/RTCAVFoundationVideoSource+Internal.h b/talk/app/webrtc/objc/RTCAVFoundationVideoSource+Internal.h
deleted file mode 100644
index ffa6629..0000000
--- a/talk/app/webrtc/objc/RTCAVFoundationVideoSource+Internal.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCAVFoundationVideoSource.h"
-
-#include "avfoundationvideocapturer.h"
-
-@interface RTCAVFoundationVideoSource ()
-
-@property(nonatomic, readonly) webrtc::AVFoundationVideoCapturer* capturer;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCAVFoundationVideoSource.mm b/talk/app/webrtc/objc/RTCAVFoundationVideoSource.mm
deleted file mode 100644
index 8dc0fe9..0000000
--- a/talk/app/webrtc/objc/RTCAVFoundationVideoSource.mm
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCAVFoundationVideoSource+Internal.h"
-
-#import "RTCMediaConstraints+Internal.h"
-#import "RTCMediaSource+Internal.h"
-#import "RTCPeerConnectionFactory+Internal.h"
-#import "RTCVideoSource+Internal.h"
-
-#include <memory>
-
-@implementation RTCAVFoundationVideoSource {
- webrtc::AVFoundationVideoCapturer *_capturer;
-}
-
-- (instancetype)initWithFactory:(RTCPeerConnectionFactory*)factory
- constraints:(RTCMediaConstraints*)constraints {
- NSParameterAssert(factory);
- // We pass ownership of the capturer to the source, but since we own
- // the source, it should be ok to keep a raw pointer to the
- // capturer.
- _capturer = new webrtc::AVFoundationVideoCapturer();
- rtc::scoped_refptr<webrtc::VideoTrackSourceInterface> source =
- factory.nativeFactory->CreateVideoSource(_capturer,
- constraints.constraints);
- return [super initWithMediaSource:source];
-}
-
-- (BOOL)canUseBackCamera {
- return self.capturer->CanUseBackCamera();
-}
-
-- (BOOL)useBackCamera {
- return self.capturer->GetUseBackCamera();
-}
-
-- (void)setUseBackCamera:(BOOL)useBackCamera {
- self.capturer->SetUseBackCamera(useBackCamera);
-}
-
-- (AVCaptureSession*)captureSession {
- return self.capturer->GetCaptureSession();
-}
-
-- (webrtc::AVFoundationVideoCapturer*)capturer {
- return _capturer;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCAudioTrack+Internal.h b/talk/app/webrtc/objc/RTCAudioTrack+Internal.h
deleted file mode 100644
index 1ca2b8f..0000000
--- a/talk/app/webrtc/objc/RTCAudioTrack+Internal.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCAudioTrack.h"
-
-#include "webrtc/api/mediastreaminterface.h"
-
-@interface RTCAudioTrack (Internal)
-
-@property(nonatomic, assign, readonly)
- rtc::scoped_refptr<webrtc::AudioTrackInterface> audioTrack;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCAudioTrack.mm b/talk/app/webrtc/objc/RTCAudioTrack.mm
deleted file mode 100644
index 78635b6..0000000
--- a/talk/app/webrtc/objc/RTCAudioTrack.mm
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCAudioTrack+Internal.h"
-
-#import "RTCMediaStreamTrack+Internal.h"
-
-@implementation RTCAudioTrack
-@end
-
-@implementation RTCAudioTrack (Internal)
-
-- (rtc::scoped_refptr<webrtc::AudioTrackInterface>)audioTrack {
- return static_cast<webrtc::AudioTrackInterface*>(self.mediaTrack.get());
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCDataChannel+Internal.h b/talk/app/webrtc/objc/RTCDataChannel+Internal.h
deleted file mode 100644
index 9e23b7b..0000000
--- a/talk/app/webrtc/objc/RTCDataChannel+Internal.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCDataChannel.h"
-
-#include "webrtc/api/datachannelinterface.h"
-#include "webrtc/base/scoped_ref_ptr.h"
-
-@interface RTCDataBuffer (Internal)
-
-@property(nonatomic, readonly) const webrtc::DataBuffer* dataBuffer;
-
-- (instancetype)initWithDataBuffer:(const webrtc::DataBuffer&)buffer;
-
-@end
-
-@interface RTCDataChannelInit (Internal)
-
-@property(nonatomic, readonly) const webrtc::DataChannelInit* dataChannelInit;
-
-@end
-
-@interface RTCDataChannel (Internal)
-
-@property(nonatomic, readonly)
- rtc::scoped_refptr<webrtc::DataChannelInterface> dataChannel;
-
-- (instancetype)initWithDataChannel:
- (rtc::scoped_refptr<webrtc::DataChannelInterface>)dataChannel;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCDataChannel.mm b/talk/app/webrtc/objc/RTCDataChannel.mm
deleted file mode 100644
index 6cfa562..0000000
--- a/talk/app/webrtc/objc/RTCDataChannel.mm
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCDataChannel+Internal.h"
-
-#include <memory>
-
-#include "webrtc/api/datachannelinterface.h"
-
-namespace webrtc {
-
-class RTCDataChannelObserver : public DataChannelObserver {
- public:
- RTCDataChannelObserver(RTCDataChannel* channel) { _channel = channel; }
-
- void OnStateChange() override {
- [_channel.delegate channelDidChangeState:_channel];
- }
-
- void OnBufferedAmountChange(uint64_t previousAmount) override {
- RTCDataChannel* channel = _channel;
- id<RTCDataChannelDelegate> delegate = channel.delegate;
- if ([delegate
- respondsToSelector:@selector(channel:didChangeBufferedAmount:)]) {
- [delegate channel:channel didChangeBufferedAmount:previousAmount];
- }
- }
-
- void OnMessage(const DataBuffer& buffer) override {
- if (!_channel.delegate) {
- return;
- }
- RTCDataBuffer* dataBuffer =
- [[RTCDataBuffer alloc] initWithDataBuffer:buffer];
- [_channel.delegate channel:_channel didReceiveMessageWithBuffer:dataBuffer];
- }
-
- private:
- __weak RTCDataChannel* _channel;
-};
-}
-
-// TODO(henrika): move to shared location.
-// See https://code.google.com/p/webrtc/issues/detail?id=4773 for details.
-NSString* NSStringFromStdString(const std::string& stdString) {
- // std::string may contain null termination character so we construct
- // using length.
- return [[NSString alloc] initWithBytes:stdString.data()
- length:stdString.length()
- encoding:NSUTF8StringEncoding];
-}
-
-std::string StdStringFromNSString(NSString* nsString) {
- NSData* charData = [nsString dataUsingEncoding:NSUTF8StringEncoding];
- return std::string(reinterpret_cast<const char*>([charData bytes]),
- [charData length]);
-}
-
-@implementation RTCDataChannelInit {
- webrtc::DataChannelInit _dataChannelInit;
-}
-
-- (BOOL)isOrdered {
- return _dataChannelInit.ordered;
-}
-
-- (void)setIsOrdered:(BOOL)isOrdered {
- _dataChannelInit.ordered = isOrdered;
-}
-
-- (NSInteger)maxRetransmitTime {
- return _dataChannelInit.maxRetransmitTime;
-}
-
-- (void)setMaxRetransmitTime:(NSInteger)maxRetransmitTime {
- _dataChannelInit.maxRetransmitTime = maxRetransmitTime;
-}
-
-- (NSInteger)maxRetransmits {
- return _dataChannelInit.maxRetransmits;
-}
-
-- (void)setMaxRetransmits:(NSInteger)maxRetransmits {
- _dataChannelInit.maxRetransmits = maxRetransmits;
-}
-
-- (NSString*)protocol {
- return NSStringFromStdString(_dataChannelInit.protocol);
-}
-
-- (void)setProtocol:(NSString*)protocol {
- _dataChannelInit.protocol = StdStringFromNSString(protocol);
-}
-
-- (BOOL)isNegotiated {
- return _dataChannelInit.negotiated;
-}
-
-- (void)setIsNegotiated:(BOOL)isNegotiated {
- _dataChannelInit.negotiated = isNegotiated;
-}
-
-- (NSInteger)streamId {
- return _dataChannelInit.id;
-}
-
-- (void)setStreamId:(NSInteger)streamId {
- _dataChannelInit.id = streamId;
-}
-
-@end
-
-@implementation RTCDataChannelInit (Internal)
-
-- (const webrtc::DataChannelInit*)dataChannelInit {
- return &_dataChannelInit;
-}
-
-@end
-
-@implementation RTCDataBuffer {
- std::unique_ptr<webrtc::DataBuffer> _dataBuffer;
-}
-
-- (instancetype)initWithData:(NSData*)data isBinary:(BOOL)isBinary {
- NSAssert(data, @"data cannot be nil");
- if (self = [super init]) {
- rtc::CopyOnWriteBuffer buffer(
- reinterpret_cast<const uint8_t*>([data bytes]), [data length]);
- _dataBuffer.reset(new webrtc::DataBuffer(buffer, isBinary));
- }
- return self;
-}
-
-- (NSData*)data {
- return [NSData dataWithBytes:_dataBuffer->data.data()
- length:_dataBuffer->data.size()];
-}
-
-- (BOOL)isBinary {
- return _dataBuffer->binary;
-}
-
-@end
-
-@implementation RTCDataBuffer (Internal)
-
-- (instancetype)initWithDataBuffer:(const webrtc::DataBuffer&)buffer {
- if (self = [super init]) {
- _dataBuffer.reset(new webrtc::DataBuffer(buffer));
- }
- return self;
-}
-
-- (const webrtc::DataBuffer*)dataBuffer {
- return _dataBuffer.get();
-}
-
-@end
-
-@implementation RTCDataChannel {
- rtc::scoped_refptr<webrtc::DataChannelInterface> _dataChannel;
- std::unique_ptr<webrtc::RTCDataChannelObserver> _observer;
- BOOL _isObserverRegistered;
-}
-
-- (void)dealloc {
- // Handles unregistering the observer properly. We need to do this because
- // there may still be other references to the underlying data channel.
- self.delegate = nil;
-}
-
-- (NSString*)label {
- return NSStringFromStdString(_dataChannel->label());
-}
-
-- (BOOL)isReliable {
- return _dataChannel->reliable();
-}
-
-- (BOOL)isOrdered {
- return _dataChannel->ordered();
-}
-
-- (NSUInteger)maxRetransmitTimeMs {
- return _dataChannel->maxRetransmitTime();
-}
-
-- (NSUInteger)maxRetransmits {
- return _dataChannel->maxRetransmits();
-}
-
-- (NSString*)protocol {
- return NSStringFromStdString(_dataChannel->protocol());
-}
-
-- (BOOL)isNegotiated {
- return _dataChannel->negotiated();
-}
-
-- (NSInteger)streamId {
- return _dataChannel->id();
-}
-
-- (RTCDataChannelState)state {
- switch (_dataChannel->state()) {
- case webrtc::DataChannelInterface::DataState::kConnecting:
- return kRTCDataChannelStateConnecting;
- case webrtc::DataChannelInterface::DataState::kOpen:
- return kRTCDataChannelStateOpen;
- case webrtc::DataChannelInterface::DataState::kClosing:
- return kRTCDataChannelStateClosing;
- case webrtc::DataChannelInterface::DataState::kClosed:
- return kRTCDataChannelStateClosed;
- }
-}
-
-- (NSUInteger)bufferedAmount {
- return _dataChannel->buffered_amount();
-}
-
-- (void)setDelegate:(id<RTCDataChannelDelegate>)delegate {
- if (_delegate == delegate) {
- return;
- }
- if (_isObserverRegistered) {
- _dataChannel->UnregisterObserver();
- _isObserverRegistered = NO;
- }
- _delegate = delegate;
- if (_delegate) {
- _dataChannel->RegisterObserver(_observer.get());
- _isObserverRegistered = YES;
- }
-}
-
-- (void)close {
- _dataChannel->Close();
-}
-
-- (BOOL)sendData:(RTCDataBuffer*)data {
- return _dataChannel->Send(*data.dataBuffer);
-}
-
-@end
-
-@implementation RTCDataChannel (Internal)
-
-- (instancetype)initWithDataChannel:
- (rtc::scoped_refptr<webrtc::DataChannelInterface>)
- dataChannel {
- NSAssert(dataChannel != NULL, @"dataChannel cannot be NULL");
- if (self = [super init]) {
- _dataChannel = dataChannel;
- _observer.reset(new webrtc::RTCDataChannelObserver(self));
- }
- return self;
-}
-
-- (rtc::scoped_refptr<webrtc::DataChannelInterface>)dataChannel {
- return _dataChannel;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCEAGLVideoView.m b/talk/app/webrtc/objc/RTCEAGLVideoView.m
deleted file mode 100644
index d19462c..0000000
--- a/talk/app/webrtc/objc/RTCEAGLVideoView.m
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCEAGLVideoView.h"
-
-#import <GLKit/GLKit.h>
-
-#import "RTCI420Frame.h"
-#import "RTCOpenGLVideoRenderer.h"
-
-// RTCDisplayLinkTimer wraps a CADisplayLink and is set to fire every two screen
-// refreshes, which should be 30fps. We wrap the display link in order to avoid
-// a retain cycle since CADisplayLink takes a strong reference onto its target.
-// The timer is paused by default.
-@interface RTCDisplayLinkTimer : NSObject
-
-@property(nonatomic) BOOL isPaused;
-
-- (instancetype)initWithTimerHandler:(void (^)(void))timerHandler;
-- (void)invalidate;
-
-@end
-
-@implementation RTCDisplayLinkTimer {
- CADisplayLink* _displayLink;
- void (^_timerHandler)(void);
-}
-
-- (instancetype)initWithTimerHandler:(void (^)(void))timerHandler {
- NSParameterAssert(timerHandler);
- if (self = [super init]) {
- _timerHandler = timerHandler;
- _displayLink =
- [CADisplayLink displayLinkWithTarget:self
- selector:@selector(displayLinkDidFire:)];
- _displayLink.paused = YES;
- // Set to half of screen refresh, which should be 30fps.
- [_displayLink setFrameInterval:2];
- [_displayLink addToRunLoop:[NSRunLoop currentRunLoop]
- forMode:NSRunLoopCommonModes];
- }
- return self;
-}
-
-- (void)dealloc {
- [self invalidate];
-}
-
-- (BOOL)isPaused {
- return _displayLink.paused;
-}
-
-- (void)setIsPaused:(BOOL)isPaused {
- _displayLink.paused = isPaused;
-}
-
-- (void)invalidate {
- [_displayLink invalidate];
-}
-
-- (void)displayLinkDidFire:(CADisplayLink*)displayLink {
- _timerHandler();
-}
-
-@end
-
-// RTCEAGLVideoView wraps a GLKView which is setup with
-// enableSetNeedsDisplay = NO for the purpose of gaining control of
-// exactly when to call -[GLKView display]. This need for extra
-// control is required to avoid triggering method calls on GLKView
-// that results in attempting to bind the underlying render buffer
-// when the drawable size would be empty which would result in the
-// error GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT. -[GLKView display] is
-// the method that will trigger the binding of the render
-// buffer. Because the standard behaviour of -[UIView setNeedsDisplay]
-// is disabled for the reasons above, the RTCEAGLVideoView maintains
-// its own |isDirty| flag.
-
-@interface RTCEAGLVideoView () <GLKViewDelegate>
-// |i420Frame| is set when we receive a frame from a worker thread and is read
-// from the display link callback so atomicity is required.
-@property(atomic, strong) RTCI420Frame* i420Frame;
-@property(nonatomic, readonly) GLKView* glkView;
-@property(nonatomic, readonly) RTCOpenGLVideoRenderer* glRenderer;
-@end
-
-@implementation RTCEAGLVideoView {
- RTCDisplayLinkTimer* _timer;
- GLKView* _glkView;
- RTCOpenGLVideoRenderer* _glRenderer;
- // This flag should only be set and read on the main thread (e.g. by
- // setNeedsDisplay)
- BOOL _isDirty;
-}
-
-- (instancetype)initWithFrame:(CGRect)frame {
- if (self = [super initWithFrame:frame]) {
- [self configure];
- }
- return self;
-}
-
-- (instancetype)initWithCoder:(NSCoder *)aDecoder {
- if (self = [super initWithCoder:aDecoder]) {
- [self configure];
- }
- return self;
-}
-
-- (void)configure {
- EAGLContext* glContext =
- [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3];
- if (!glContext) {
- glContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
- }
- _glRenderer = [[RTCOpenGLVideoRenderer alloc] initWithContext:glContext];
-
- // GLKView manages a framebuffer for us.
- _glkView = [[GLKView alloc] initWithFrame:CGRectZero
- context:glContext];
- _glkView.drawableColorFormat = GLKViewDrawableColorFormatRGBA8888;
- _glkView.drawableDepthFormat = GLKViewDrawableDepthFormatNone;
- _glkView.drawableStencilFormat = GLKViewDrawableStencilFormatNone;
- _glkView.drawableMultisample = GLKViewDrawableMultisampleNone;
- _glkView.delegate = self;
- _glkView.layer.masksToBounds = YES;
- _glkView.enableSetNeedsDisplay = NO;
- [self addSubview:_glkView];
-
- // Listen to application state in order to clean up OpenGL before app goes
- // away.
- NSNotificationCenter* notificationCenter =
- [NSNotificationCenter defaultCenter];
- [notificationCenter addObserver:self
- selector:@selector(willResignActive)
- name:UIApplicationWillResignActiveNotification
- object:nil];
- [notificationCenter addObserver:self
- selector:@selector(didBecomeActive)
- name:UIApplicationDidBecomeActiveNotification
- object:nil];
-
- // Frames are received on a separate thread, so we poll for current frame
- // using a refresh rate proportional to screen refresh frequency. This
- // occurs on the main thread.
- __weak RTCEAGLVideoView* weakSelf = self;
- _timer = [[RTCDisplayLinkTimer alloc] initWithTimerHandler:^{
- RTCEAGLVideoView* strongSelf = weakSelf;
- [strongSelf displayLinkTimerDidFire];
- }];
- [self setupGL];
-}
-
-- (void)dealloc {
- [[NSNotificationCenter defaultCenter] removeObserver:self];
- UIApplicationState appState =
- [UIApplication sharedApplication].applicationState;
- if (appState == UIApplicationStateActive) {
- [self teardownGL];
- }
- [_timer invalidate];
-}
-
-#pragma mark - UIView
-
-- (void)setNeedsDisplay {
- [super setNeedsDisplay];
- _isDirty = YES;
-}
-
-- (void)setNeedsDisplayInRect:(CGRect)rect {
- [super setNeedsDisplayInRect:rect];
- _isDirty = YES;
-}
-
-- (void)layoutSubviews {
- [super layoutSubviews];
- _glkView.frame = self.bounds;
-}
-
-#pragma mark - GLKViewDelegate
-
-// This method is called when the GLKView's content is dirty and needs to be
-// redrawn. This occurs on main thread.
-- (void)glkView:(GLKView*)view drawInRect:(CGRect)rect {
- // The renderer will draw the frame to the framebuffer corresponding to the
- // one used by |view|.
- [_glRenderer drawFrame:self.i420Frame];
-}
-
-#pragma mark - RTCVideoRenderer
-
-// These methods may be called on non-main thread.
-- (void)setSize:(CGSize)size {
- __weak RTCEAGLVideoView* weakSelf = self;
- dispatch_async(dispatch_get_main_queue(), ^{
- RTCEAGLVideoView* strongSelf = weakSelf;
- [strongSelf.delegate videoView:strongSelf didChangeVideoSize:size];
- });
-}
-
-- (void)renderFrame:(RTCI420Frame*)frame {
- self.i420Frame = frame;
-}
-
-#pragma mark - Private
-
-- (void)displayLinkTimerDidFire {
- // Don't render unless video frame have changed or the view content
- // has explicitly been marked dirty.
- if (!_isDirty && _glRenderer.lastDrawnFrame == self.i420Frame) {
- return;
- }
-
- // Always reset isDirty at this point, even if -[GLKView display]
- // won't be called in the case the drawable size is empty.
- _isDirty = NO;
-
- // Only call -[GLKView display] if the drawable size is
- // non-empty. Calling display will make the GLKView setup its
- // render buffer if necessary, but that will fail with error
- // GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT if size is empty.
- if (self.bounds.size.width > 0 && self.bounds.size.height > 0) {
- [_glkView display];
- }
-}
-
-- (void)setupGL {
- self.i420Frame = nil;
- [_glRenderer setupGL];
- _timer.isPaused = NO;
-}
-
-- (void)teardownGL {
- self.i420Frame = nil;
- _timer.isPaused = YES;
- [_glkView deleteDrawable];
- [_glRenderer teardownGL];
-}
-
-- (void)didBecomeActive {
- [self setupGL];
-}
-
-- (void)willResignActive {
- [self teardownGL];
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCEnumConverter.h b/talk/app/webrtc/objc/RTCEnumConverter.h
deleted file mode 100644
index eb06c18..0000000
--- a/talk/app/webrtc/objc/RTCEnumConverter.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// TODO(tkchin): remove this in favor of having objc headers mirror their C++ counterparts.
-// TODO(tkchin): see if we can move C++ enums into their own file so we can avoid all this
-// conversion code.
-#import "RTCTypes.h"
-
-#import "talk/app/webrtc/objc/RTCPeerConnectionInterface+Internal.h"
-
-@interface RTCEnumConverter : NSObject
-
-// TODO(tkchin): rename these.
-+ (RTCICEConnectionState)convertIceConnectionStateToObjC:
- (webrtc::PeerConnectionInterface::IceConnectionState)nativeState;
-
-+ (RTCICEGatheringState)convertIceGatheringStateToObjC:
- (webrtc::PeerConnectionInterface::IceGatheringState)nativeState;
-
-+ (RTCSignalingState)convertSignalingStateToObjC:
- (webrtc::PeerConnectionInterface::SignalingState)nativeState;
-
-+ (webrtc::PeerConnectionInterface::StatsOutputLevel)
- convertStatsOutputLevelToNative:(RTCStatsOutputLevel)statsOutputLevel;
-
-+ (RTCSourceState)convertSourceStateToObjC:
- (webrtc::MediaSourceInterface::SourceState)nativeState;
-
-+ (webrtc::MediaStreamTrackInterface::TrackState)convertTrackStateToNative:
- (RTCTrackState)state;
-
-+ (RTCTrackState)convertTrackStateToObjC:
- (webrtc::MediaStreamTrackInterface::TrackState)nativeState;
-
-+ (RTCIceTransportsType)iceTransportsTypeForNativeEnum:
- (webrtc::PeerConnectionInterface::IceTransportsType)nativeEnum;
-
-+ (webrtc::PeerConnectionInterface::IceTransportsType)nativeEnumForIceTransportsType:
- (RTCIceTransportsType)iceTransportsType;
-
-+ (RTCBundlePolicy)bundlePolicyForNativeEnum:
- (webrtc::PeerConnectionInterface::BundlePolicy)nativeEnum;
-
-+ (webrtc::PeerConnectionInterface::BundlePolicy)nativeEnumForBundlePolicy:
- (RTCBundlePolicy)bundlePolicy;
-
-+ (RTCRtcpMuxPolicy)rtcpMuxPolicyForNativeEnum:
- (webrtc::PeerConnectionInterface::RtcpMuxPolicy)nativeEnum;
-
-+ (webrtc::PeerConnectionInterface::RtcpMuxPolicy)nativeEnumForRtcpMuxPolicy:
- (RTCRtcpMuxPolicy)rtcpMuxPolicy;
-
-+ (RTCTcpCandidatePolicy)tcpCandidatePolicyForNativeEnum:
- (webrtc::PeerConnectionInterface::TcpCandidatePolicy)nativeEnum;
-
-+ (webrtc::PeerConnectionInterface::TcpCandidatePolicy)nativeEnumForTcpCandidatePolicy:
- (RTCTcpCandidatePolicy)tcpCandidatePolicy;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCEnumConverter.mm b/talk/app/webrtc/objc/RTCEnumConverter.mm
deleted file mode 100644
index 03b249c..0000000
--- a/talk/app/webrtc/objc/RTCEnumConverter.mm
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCEnumConverter.h"
-
-#include "webrtc/api/peerconnectioninterface.h"
-
-@implementation RTCEnumConverter
-
-+ (RTCICEConnectionState)convertIceConnectionStateToObjC:
- (webrtc::PeerConnectionInterface::IceConnectionState)nativeState {
- switch (nativeState) {
- case webrtc::PeerConnectionInterface::kIceConnectionNew:
- return RTCICEConnectionNew;
- case webrtc::PeerConnectionInterface::kIceConnectionChecking:
- return RTCICEConnectionChecking;
- case webrtc::PeerConnectionInterface::kIceConnectionConnected:
- return RTCICEConnectionConnected;
- case webrtc::PeerConnectionInterface::kIceConnectionCompleted:
- return RTCICEConnectionCompleted;
- case webrtc::PeerConnectionInterface::kIceConnectionFailed:
- return RTCICEConnectionFailed;
- case webrtc::PeerConnectionInterface::kIceConnectionDisconnected:
- return RTCICEConnectionDisconnected;
- case webrtc::PeerConnectionInterface::kIceConnectionClosed:
- return RTCICEConnectionClosed;
- case webrtc::PeerConnectionInterface::kIceConnectionMax:
- NSAssert(NO, @"kIceConnectionMax not allowed");
- return RTCICEConnectionMax;
- }
-}
-
-+ (RTCICEGatheringState)convertIceGatheringStateToObjC:
- (webrtc::PeerConnectionInterface::IceGatheringState)nativeState {
- switch (nativeState) {
- case webrtc::PeerConnectionInterface::kIceGatheringNew:
- return RTCICEGatheringNew;
- case webrtc::PeerConnectionInterface::kIceGatheringGathering:
- return RTCICEGatheringGathering;
- case webrtc::PeerConnectionInterface::kIceGatheringComplete:
- return RTCICEGatheringComplete;
- }
-}
-
-+ (RTCSignalingState)convertSignalingStateToObjC:
- (webrtc::PeerConnectionInterface::SignalingState)nativeState {
- switch (nativeState) {
- case webrtc::PeerConnectionInterface::kStable:
- return RTCSignalingStable;
- case webrtc::PeerConnectionInterface::kHaveLocalOffer:
- return RTCSignalingHaveLocalOffer;
- case webrtc::PeerConnectionInterface::kHaveLocalPrAnswer:
- return RTCSignalingHaveLocalPrAnswer;
- case webrtc::PeerConnectionInterface::kHaveRemoteOffer:
- return RTCSignalingHaveRemoteOffer;
- case webrtc::PeerConnectionInterface::kHaveRemotePrAnswer:
- return RTCSignalingHaveRemotePrAnswer;
- case webrtc::PeerConnectionInterface::kClosed:
- return RTCSignalingClosed;
- }
-}
-
-+ (webrtc::PeerConnectionInterface::StatsOutputLevel)
- convertStatsOutputLevelToNative:(RTCStatsOutputLevel)statsOutputLevel {
- switch (statsOutputLevel) {
- case RTCStatsOutputLevelStandard:
- return webrtc::PeerConnectionInterface::kStatsOutputLevelStandard;
- case RTCStatsOutputLevelDebug:
- return webrtc::PeerConnectionInterface::kStatsOutputLevelDebug;
- }
-}
-
-+ (RTCSourceState)convertSourceStateToObjC:
- (webrtc::MediaSourceInterface::SourceState)nativeState {
- switch (nativeState) {
- case webrtc::MediaSourceInterface::kInitializing:
- return RTCSourceStateInitializing;
- case webrtc::MediaSourceInterface::kLive:
- return RTCSourceStateLive;
- case webrtc::MediaSourceInterface::kEnded:
- return RTCSourceStateEnded;
- case webrtc::MediaSourceInterface::kMuted:
- return RTCSourceStateMuted;
- }
-}
-
-+ (webrtc::MediaStreamTrackInterface::TrackState)
- convertTrackStateToNative:(RTCTrackState)state {
- switch (state) {
- case RTCTrackStateLive:
- return webrtc::MediaStreamTrackInterface::kLive;
- case RTCTrackStateEnded:
- return webrtc::MediaStreamTrackInterface::kEnded;
- }
-}
-
-+ (RTCTrackState)convertTrackStateToObjC:
- (webrtc::MediaStreamTrackInterface::TrackState)nativeState {
- switch (nativeState) {
- case webrtc::MediaStreamTrackInterface::kLive:
- return RTCTrackStateLive;
- case webrtc::MediaStreamTrackInterface::kEnded:
- return RTCTrackStateEnded;
- }
-}
-
-+ (RTCIceTransportsType)iceTransportsTypeForNativeEnum:
- (webrtc::PeerConnectionInterface::IceTransportsType)nativeEnum {
- switch (nativeEnum) {
- case webrtc::PeerConnectionInterface::kNone:
- return kRTCIceTransportsTypeNone;
- case webrtc::PeerConnectionInterface::kRelay:
- return kRTCIceTransportsTypeRelay;
- case webrtc::PeerConnectionInterface::kNoHost:
- return kRTCIceTransportsTypeNoHost;
- case webrtc::PeerConnectionInterface::kAll:
- return kRTCIceTransportsTypeAll;
- }
-}
-
-+ (webrtc::PeerConnectionInterface::IceTransportsType)nativeEnumForIceTransportsType:
- (RTCIceTransportsType)iceTransportsType {
- switch (iceTransportsType) {
- case kRTCIceTransportsTypeNone:
- return webrtc::PeerConnectionInterface::kNone;
- case kRTCIceTransportsTypeRelay:
- return webrtc::PeerConnectionInterface::kRelay;
- case kRTCIceTransportsTypeNoHost:
- return webrtc::PeerConnectionInterface::kNoHost;
- case kRTCIceTransportsTypeAll:
- return webrtc::PeerConnectionInterface::kAll;
- }
-}
-
-+ (RTCBundlePolicy)bundlePolicyForNativeEnum:
- (webrtc::PeerConnectionInterface::BundlePolicy)nativeEnum {
- switch (nativeEnum) {
- case webrtc::PeerConnectionInterface::kBundlePolicyBalanced:
- return kRTCBundlePolicyBalanced;
- case webrtc::PeerConnectionInterface::kBundlePolicyMaxBundle:
- return kRTCBundlePolicyMaxBundle;
- case webrtc::PeerConnectionInterface::kBundlePolicyMaxCompat:
- return kRTCBundlePolicyMaxCompat;
- }
-}
-
-+ (webrtc::PeerConnectionInterface::BundlePolicy)nativeEnumForBundlePolicy:
- (RTCBundlePolicy)bundlePolicy {
- switch (bundlePolicy) {
- case kRTCBundlePolicyBalanced:
- return webrtc::PeerConnectionInterface::kBundlePolicyBalanced;
- case kRTCBundlePolicyMaxBundle:
- return webrtc::PeerConnectionInterface::kBundlePolicyMaxBundle;
- case kRTCBundlePolicyMaxCompat:
- return webrtc::PeerConnectionInterface::kBundlePolicyMaxCompat;
- }
-}
-
-+ (RTCRtcpMuxPolicy)rtcpMuxPolicyForNativeEnum:
- (webrtc::PeerConnectionInterface::RtcpMuxPolicy)nativeEnum {
- switch (nativeEnum) {
- case webrtc::PeerConnectionInterface::kRtcpMuxPolicyNegotiate:
- return kRTCRtcpMuxPolicyNegotiate;
- case webrtc::PeerConnectionInterface::kRtcpMuxPolicyRequire:
- return kRTCRtcpMuxPolicyRequire;
- }
-}
-
-+ (webrtc::PeerConnectionInterface::RtcpMuxPolicy)nativeEnumForRtcpMuxPolicy:
- (RTCRtcpMuxPolicy)rtcpMuxPolicy {
- switch (rtcpMuxPolicy) {
- case kRTCRtcpMuxPolicyNegotiate:
- return webrtc::PeerConnectionInterface::kRtcpMuxPolicyNegotiate;
- case kRTCRtcpMuxPolicyRequire:
- return webrtc::PeerConnectionInterface::kRtcpMuxPolicyRequire;
- }
-}
-
-+ (RTCTcpCandidatePolicy)tcpCandidatePolicyForNativeEnum:
- (webrtc::PeerConnectionInterface::TcpCandidatePolicy)nativeEnum {
- switch (nativeEnum) {
- case webrtc::PeerConnectionInterface::kTcpCandidatePolicyEnabled:
- return kRTCTcpCandidatePolicyEnabled;
- case webrtc::PeerConnectionInterface::kTcpCandidatePolicyDisabled:
- return kRTCTcpCandidatePolicyDisabled;
- }
-}
-
-+ (webrtc::PeerConnectionInterface::TcpCandidatePolicy)nativeEnumForTcpCandidatePolicy:
- (RTCTcpCandidatePolicy)tcpCandidatePolicy {
- switch (tcpCandidatePolicy) {
- case kRTCTcpCandidatePolicyEnabled:
- return webrtc::PeerConnectionInterface::kTcpCandidatePolicyEnabled;
- case kRTCTcpCandidatePolicyDisabled:
- return webrtc::PeerConnectionInterface::kTcpCandidatePolicyDisabled;
- }
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCI420Frame+Internal.h b/talk/app/webrtc/objc/RTCI420Frame+Internal.h
deleted file mode 100644
index b910ae3..0000000
--- a/talk/app/webrtc/objc/RTCI420Frame+Internal.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCI420Frame.h"
-
-#include "webrtc/media/base/videoframe.h"
-
-@interface RTCI420Frame (Internal)
-
-- (instancetype)initWithVideoFrame:(const cricket::VideoFrame*)videoFrame;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCI420Frame.mm b/talk/app/webrtc/objc/RTCI420Frame.mm
deleted file mode 100644
index 1646510..0000000
--- a/talk/app/webrtc/objc/RTCI420Frame.mm
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCI420Frame.h"
-
-#include <memory>
-
-#include "webrtc/media/engine/webrtcvideoframe.h"
-
-@implementation RTCI420Frame {
- std::unique_ptr<cricket::VideoFrame> _videoFrame;
-}
-
-- (NSUInteger)width {
- return _videoFrame->width();
-}
-
-- (NSUInteger)height {
- return _videoFrame->height();
-}
-
-// TODO(nisse): chromaWidth and chromaHeight are used only in
-// RTCOpenGLVideoRenderer.mm. Update, and then delete these
-// properties.
-- (NSUInteger)chromaWidth {
- return (self.width + 1) / 2;
-}
-
-- (NSUInteger)chromaHeight {
- return (self.height + 1) / 2;
-}
-
-- (const uint8_t*)yPlane {
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer =
- _videoFrame->video_frame_buffer();
- return buffer ? buffer->DataY() : nullptr;
-}
-
-- (const uint8_t*)uPlane {
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer =
- _videoFrame->video_frame_buffer();
- return buffer ? buffer->DataU() : nullptr;
-}
-
-- (const uint8_t*)vPlane {
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer =
- _videoFrame->video_frame_buffer();
- return buffer ? buffer->DataV() : nullptr;
-}
-
-- (NSInteger)yPitch {
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer =
- _videoFrame->video_frame_buffer();
- return buffer ? buffer->StrideY() : 0;
-}
-
-- (NSInteger)uPitch {
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer =
- _videoFrame->video_frame_buffer();
- return buffer ? buffer->StrideU() : 0;
-}
-
-- (NSInteger)vPitch {
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer =
- _videoFrame->video_frame_buffer();
- return buffer ? buffer->StrideV() : 0;
-}
-
-@end
-
-@implementation RTCI420Frame (Internal)
-
-- (instancetype)initWithVideoFrame:(cricket::VideoFrame*)videoFrame {
- if (self = [super init]) {
- // Keep a shallow copy of the video frame. The underlying frame buffer is
- // not copied.
- _videoFrame.reset(new cricket::WebRtcVideoFrame(
- videoFrame->video_frame_buffer(),
- videoFrame->rotation(),
- videoFrame->timestamp_us()));
- }
- return self;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCICECandidate+Internal.h b/talk/app/webrtc/objc/RTCICECandidate+Internal.h
deleted file mode 100644
index f5b226f..0000000
--- a/talk/app/webrtc/objc/RTCICECandidate+Internal.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCICECandidate.h"
-
-#include "webrtc/api/peerconnectioninterface.h"
-
-@interface RTCICECandidate (Internal)
-
-@property(nonatomic, assign, readonly) const
- webrtc::IceCandidateInterface* candidate;
-
-- (id)initWithCandidate:(const webrtc::IceCandidateInterface*)candidate;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCICECandidate.mm b/talk/app/webrtc/objc/RTCICECandidate.mm
deleted file mode 100644
index 1510946..0000000
--- a/talk/app/webrtc/objc/RTCICECandidate.mm
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCICECandidate+Internal.h"
-
-@implementation RTCICECandidate
-
-@synthesize sdpMid = _sdpMid;
-@synthesize sdpMLineIndex = _sdpMLineIndex;
-@synthesize sdp = _sdp;
-
-- (id)initWithMid:(NSString*)sdpMid
- index:(NSInteger)sdpMLineIndex
- sdp:(NSString*)sdp {
- if (!sdpMid || !sdp) {
- NSAssert(NO, @"nil arguments not allowed");
- return nil;
- }
- if ((self = [super init])) {
- _sdpMid = [sdpMid copy];
- _sdpMLineIndex = sdpMLineIndex;
- _sdp = [sdp copy];
- }
- return self;
-}
-
-- (NSString*)description {
- return [NSString stringWithFormat:@"%@:%ld:%@",
- self.sdpMid,
- (long)self.sdpMLineIndex,
- self.sdp];
-}
-
-@end
-
-@implementation RTCICECandidate (Internal)
-
-- (id)initWithCandidate:(const webrtc::IceCandidateInterface*)candidate {
- if ((self = [super init])) {
- std::string sdp;
- if (candidate->ToString(&sdp)) {
- _sdpMid = @(candidate->sdp_mid().c_str());
- _sdpMLineIndex = candidate->sdp_mline_index();
- _sdp = @(sdp.c_str());
- } else {
- self = nil;
- NSAssert(NO, @"ICECandidateInterface->ToString failed");
- }
- }
- return self;
-}
-
-- (const webrtc::IceCandidateInterface*)candidate {
- return webrtc::CreateIceCandidate(
- [self.sdpMid UTF8String], self.sdpMLineIndex, [self.sdp UTF8String],
- nullptr);
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCICEServer+Internal.h b/talk/app/webrtc/objc/RTCICEServer+Internal.h
deleted file mode 100644
index 92c4816..0000000
--- a/talk/app/webrtc/objc/RTCICEServer+Internal.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCICEServer.h"
-
-#include "webrtc/api/peerconnectioninterface.h"
-
-@interface RTCICEServer (Internal)
-
-@property(nonatomic,
- assign,
- readonly) webrtc::PeerConnectionInterface::IceServer iceServer;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCICEServer.mm b/talk/app/webrtc/objc/RTCICEServer.mm
deleted file mode 100644
index dc1eb2d..0000000
--- a/talk/app/webrtc/objc/RTCICEServer.mm
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCICEServer+Internal.h"
-
-@implementation RTCICEServer
-
-@synthesize URI = _URI;
-@synthesize username = _username;
-@synthesize password = _password;
-
-- (id)initWithURI:(NSURL*)URI
- username:(NSString*)username
- password:(NSString*)password {
- if (!URI || !username || !password) {
- NSAssert(NO, @"nil arguments not allowed");
- self = nil;
- return nil;
- }
- if ((self = [super init])) {
- _URI = URI;
- _username = [username copy];
- _password = [password copy];
- }
- return self;
-}
-
-- (NSString*)description {
- return [NSString stringWithFormat:@"RTCICEServer: [%@:%@:%@]",
- [self.URI absoluteString],
- self.username,
- self.password];
-}
-
-@end
-
-@implementation RTCICEServer (Internal)
-
-- (webrtc::PeerConnectionInterface::IceServer)iceServer {
- webrtc::PeerConnectionInterface::IceServer iceServer;
- iceServer.uri = [[self.URI absoluteString] UTF8String];
- iceServer.username = [self.username UTF8String];
- iceServer.password = [self.password UTF8String];
- return iceServer;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCLogging.mm b/talk/app/webrtc/objc/RTCLogging.mm
deleted file mode 100644
index fab3584..0000000
--- a/talk/app/webrtc/objc/RTCLogging.mm
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCLogging.h"
-
-#include "webrtc/base/logging.h"
-
-rtc::LoggingSeverity RTCGetNativeLoggingSeverity(RTCLoggingSeverity severity) {
- switch (severity) {
- case kRTCLoggingSeverityVerbose:
- return rtc::LS_VERBOSE;
- case kRTCLoggingSeverityInfo:
- return rtc::LS_INFO;
- case kRTCLoggingSeverityWarning:
- return rtc::LS_WARNING;
- case kRTCLoggingSeverityError:
- return rtc::LS_ERROR;
- }
-}
-
-void RTCLogEx(RTCLoggingSeverity severity, NSString* logString) {
- if (logString.length) {
- const char* utf8String = logString.UTF8String;
- LOG_V(RTCGetNativeLoggingSeverity(severity)) << utf8String;
- }
-}
-
-void RTCSetMinDebugLogLevel(RTCLoggingSeverity severity) {
- rtc::LogMessage::LogToDebug(RTCGetNativeLoggingSeverity(severity));
-}
-
-NSString* RTCFileName(const char* filePath) {
- NSString* nsFilePath =
- [[NSString alloc] initWithBytesNoCopy:const_cast<char*>(filePath)
- length:strlen(filePath)
- encoding:NSUTF8StringEncoding
- freeWhenDone:NO];
- return nsFilePath.lastPathComponent;
-}
-
diff --git a/talk/app/webrtc/objc/RTCMediaConstraints+Internal.h b/talk/app/webrtc/objc/RTCMediaConstraints+Internal.h
deleted file mode 100644
index 8b03d89..0000000
--- a/talk/app/webrtc/objc/RTCMediaConstraints+Internal.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCMediaConstraints.h"
-
-#import "RTCMediaConstraintsNative.h"
-
-#include "webrtc/api/mediastreaminterface.h"
-
-@interface RTCMediaConstraints (Internal)
-
-// Ownership is retained for the lifetime of this object.
-@property(nonatomic, assign, readonly) const
- webrtc::RTCMediaConstraintsNative *constraints;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCMediaConstraints.mm b/talk/app/webrtc/objc/RTCMediaConstraints.mm
deleted file mode 100644
index a79afb1..0000000
--- a/talk/app/webrtc/objc/RTCMediaConstraints.mm
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCMediaConstraints+Internal.h"
-
-#import "RTCPair.h"
-
-#include <memory>
-
-// TODO(hughv): Add accessors for mandatory and optional constraints.
-// TODO(hughv): Add description.
-
-@implementation RTCMediaConstraints {
- std::unique_ptr<webrtc::RTCMediaConstraintsNative> _constraints;
- webrtc::MediaConstraintsInterface::Constraints _mandatory;
- webrtc::MediaConstraintsInterface::Constraints _optional;
-}
-
-- (id)initWithMandatoryConstraints:(NSArray*)mandatory
- optionalConstraints:(NSArray*)optional {
- if ((self = [super init])) {
- _mandatory = [[self class] constraintsFromArray:mandatory];
- _optional = [[self class] constraintsFromArray:optional];
- _constraints.reset(
- new webrtc::RTCMediaConstraintsNative(_mandatory, _optional));
- }
- return self;
-}
-
-+ (webrtc::MediaConstraintsInterface::Constraints)constraintsFromArray:
- (NSArray*)array {
- webrtc::MediaConstraintsInterface::Constraints constraints;
- for (RTCPair* pair in array) {
- constraints.push_back(webrtc::MediaConstraintsInterface::Constraint(
- [pair.key UTF8String], [pair.value UTF8String]));
- }
- return constraints;
-}
-
-@end
-
-@implementation RTCMediaConstraints (internal)
-
-- (const webrtc::RTCMediaConstraintsNative*)constraints {
- return _constraints.get();
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCMediaConstraintsNative.cc b/talk/app/webrtc/objc/RTCMediaConstraintsNative.cc
deleted file mode 100644
index e502639..0000000
--- a/talk/app/webrtc/objc/RTCMediaConstraintsNative.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "talk/app/webrtc/objc/RTCMediaConstraintsNative.h"
-
-namespace webrtc {
-
-RTCMediaConstraintsNative::~RTCMediaConstraintsNative() {}
-
-RTCMediaConstraintsNative::RTCMediaConstraintsNative() {}
-
-RTCMediaConstraintsNative::RTCMediaConstraintsNative(
- const MediaConstraintsInterface::Constraints& mandatory,
- const MediaConstraintsInterface::Constraints& optional)
- : mandatory_(mandatory), optional_(optional) {}
-
-const MediaConstraintsInterface::Constraints&
-RTCMediaConstraintsNative::GetMandatory() const {
- return mandatory_;
-}
-
-const MediaConstraintsInterface::Constraints&
-RTCMediaConstraintsNative::GetOptional() const {
- return optional_;
-}
-
-} // namespace webrtc
diff --git a/talk/app/webrtc/objc/RTCMediaConstraintsNative.h b/talk/app/webrtc/objc/RTCMediaConstraintsNative.h
deleted file mode 100644
index 6948465..0000000
--- a/talk/app/webrtc/objc/RTCMediaConstraintsNative.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef TALK_APP_WEBRTC_OBJC_RTCMEDIACONSTRAINTSNATIVE_H_
-#define TALK_APP_WEBRTC_OBJC_RTCMEDIACONSTRAINTSNATIVE_H_
-
-#include "webrtc/api/mediaconstraintsinterface.h"
-
-namespace webrtc {
-class RTCMediaConstraintsNative : public MediaConstraintsInterface {
- public:
- virtual ~RTCMediaConstraintsNative();
- RTCMediaConstraintsNative();
- RTCMediaConstraintsNative(
- const MediaConstraintsInterface::Constraints& mandatory,
- const MediaConstraintsInterface::Constraints& optional);
- virtual const Constraints& GetMandatory() const;
- virtual const Constraints& GetOptional() const;
-
- private:
- MediaConstraintsInterface::Constraints mandatory_;
- MediaConstraintsInterface::Constraints optional_;
-};
-} // namespace webrtc
-
-#endif // TALK_APP_WEBRTC_OBJC_RTCMEDIACONSTRAINTSNATIVE_H_
diff --git a/talk/app/webrtc/objc/RTCMediaSource+Internal.h b/talk/app/webrtc/objc/RTCMediaSource+Internal.h
deleted file mode 100644
index 2620cfd..0000000
--- a/talk/app/webrtc/objc/RTCMediaSource+Internal.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCMediaSource.h"
-
-#include "webrtc/api/mediastreaminterface.h"
-
-@interface RTCMediaSource (Internal)
-
-@property(nonatomic, assign, readonly)
- rtc::scoped_refptr<webrtc::MediaSourceInterface> mediaSource;
-
-- (id)initWithMediaSource:
- (rtc::scoped_refptr<webrtc::MediaSourceInterface>)mediaSource;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCMediaSource.mm b/talk/app/webrtc/objc/RTCMediaSource.mm
deleted file mode 100644
index 8d2bb1f..0000000
--- a/talk/app/webrtc/objc/RTCMediaSource.mm
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCMediaSource+Internal.h"
-
-#import "RTCEnumConverter.h"
-
-@implementation RTCMediaSource {
- rtc::scoped_refptr<webrtc::MediaSourceInterface> _mediaSource;
-}
-
-- (RTCSourceState)state {
- return [RTCEnumConverter convertSourceStateToObjC:self.mediaSource->state()];
-}
-
-@end
-
-@implementation RTCMediaSource (Internal)
-
-- (id)initWithMediaSource:
- (rtc::scoped_refptr<webrtc::MediaSourceInterface>)mediaSource {
- if (!mediaSource) {
- NSAssert(NO, @"nil arguments not allowed");
- self = nil;
- return nil;
- }
- if ((self = [super init])) {
- _mediaSource = mediaSource;
- }
- return self;
-}
-
-- (rtc::scoped_refptr<webrtc::MediaSourceInterface>)mediaSource {
- return _mediaSource;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCMediaStream+Internal.h b/talk/app/webrtc/objc/RTCMediaStream+Internal.h
deleted file mode 100644
index 2f17a17..0000000
--- a/talk/app/webrtc/objc/RTCMediaStream+Internal.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCMediaStream.h"
-
-#include "webrtc/api/mediastreamtrack.h"
-
-@interface RTCMediaStream (Internal)
-
-@property(nonatomic, assign, readonly)
- rtc::scoped_refptr<webrtc::MediaStreamInterface> mediaStream;
-
-- (id)initWithMediaStream:
- (rtc::scoped_refptr<webrtc::MediaStreamInterface>)mediaStream;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCMediaStream.mm b/talk/app/webrtc/objc/RTCMediaStream.mm
deleted file mode 100644
index 543a569..0000000
--- a/talk/app/webrtc/objc/RTCMediaStream.mm
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCMediaStream+Internal.h"
-
-#import "RTCAudioTrack+Internal.h"
-#import "RTCMediaStreamTrack+Internal.h"
-#import "RTCVideoTrack+Internal.h"
-
-#include "webrtc/api/mediastreaminterface.h"
-
-@implementation RTCMediaStream {
- NSMutableArray* _audioTracks;
- NSMutableArray* _videoTracks;
- rtc::scoped_refptr<webrtc::MediaStreamInterface> _mediaStream;
-}
-
-- (NSString*)description {
- return [NSString stringWithFormat:@"[%@:A=%lu:V=%lu]",
- [self label],
- (unsigned long)[self.audioTracks count],
- (unsigned long)[self.videoTracks count]];
-}
-
-- (NSArray*)audioTracks {
- return [_audioTracks copy];
-}
-
-- (NSArray*)videoTracks {
- return [_videoTracks copy];
-}
-
-- (NSString*)label {
- return @(self.mediaStream->label().c_str());
-}
-
-- (BOOL)addAudioTrack:(RTCAudioTrack*)track {
- if (self.mediaStream->AddTrack(track.audioTrack)) {
- [_audioTracks addObject:track];
- return YES;
- }
- return NO;
-}
-
-- (BOOL)addVideoTrack:(RTCVideoTrack*)track {
- if (self.mediaStream->AddTrack(track.nativeVideoTrack)) {
- [_videoTracks addObject:track];
- return YES;
- }
- return NO;
-}
-
-- (BOOL)removeAudioTrack:(RTCAudioTrack*)track {
- NSUInteger index = [_audioTracks indexOfObjectIdenticalTo:track];
- NSAssert(index != NSNotFound,
- @"|removeAudioTrack| called on unexpected RTCAudioTrack");
- if (index != NSNotFound && self.mediaStream->RemoveTrack(track.audioTrack)) {
- [_audioTracks removeObjectAtIndex:index];
- return YES;
- }
- return NO;
-}
-
-- (BOOL)removeVideoTrack:(RTCVideoTrack*)track {
- NSUInteger index = [_videoTracks indexOfObjectIdenticalTo:track];
- NSAssert(index != NSNotFound,
- @"|removeAudioTrack| called on unexpected RTCVideoTrack");
- if (index != NSNotFound &&
- self.mediaStream->RemoveTrack(track.nativeVideoTrack)) {
- [_videoTracks removeObjectAtIndex:index];
- return YES;
- }
- return NO;
-}
-
-@end
-
-@implementation RTCMediaStream (Internal)
-
-- (id)initWithMediaStream:
- (rtc::scoped_refptr<webrtc::MediaStreamInterface>)mediaStream {
- if (!mediaStream) {
- NSAssert(NO, @"nil arguments not allowed");
- self = nil;
- return nil;
- }
- if ((self = [super init])) {
- webrtc::AudioTrackVector audio_tracks = mediaStream->GetAudioTracks();
- webrtc::VideoTrackVector video_tracks = mediaStream->GetVideoTracks();
-
- _audioTracks = [NSMutableArray arrayWithCapacity:audio_tracks.size()];
- _videoTracks = [NSMutableArray arrayWithCapacity:video_tracks.size()];
- _mediaStream = mediaStream;
-
- for (size_t i = 0; i < audio_tracks.size(); ++i) {
- rtc::scoped_refptr<webrtc::AudioTrackInterface> track =
- audio_tracks[i];
- RTCAudioTrack* audioTrack =
- [[RTCAudioTrack alloc] initWithMediaTrack:track];
- [_audioTracks addObject:audioTrack];
- }
-
- for (size_t i = 0; i < video_tracks.size(); ++i) {
- rtc::scoped_refptr<webrtc::VideoTrackInterface> track =
- video_tracks[i];
- RTCVideoTrack* videoTrack =
- [[RTCVideoTrack alloc] initWithMediaTrack:track];
- [_videoTracks addObject:videoTrack];
- }
- }
- return self;
-}
-
-- (rtc::scoped_refptr<webrtc::MediaStreamInterface>)mediaStream {
- return _mediaStream;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCMediaStreamTrack+Internal.h b/talk/app/webrtc/objc/RTCMediaStreamTrack+Internal.h
deleted file mode 100644
index 88c83ff..0000000
--- a/talk/app/webrtc/objc/RTCMediaStreamTrack+Internal.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCMediaStreamTrack.h"
-
-#include "webrtc/api/mediastreaminterface.h"
-
-@interface RTCMediaStreamTrack (Internal)
-
-@property(nonatomic, assign, readonly)
- rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> mediaTrack;
-
-- (id)initWithMediaTrack:
- (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)mediaTrack;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCMediaStreamTrack.mm b/talk/app/webrtc/objc/RTCMediaStreamTrack.mm
deleted file mode 100644
index 616bd36..0000000
--- a/talk/app/webrtc/objc/RTCMediaStreamTrack.mm
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCEnumConverter.h"
-#import "RTCMediaStreamTrack+Internal.h"
-
-#include <memory>
-
-namespace webrtc {
-
-class RTCMediaStreamTrackObserver : public ObserverInterface {
- public:
- RTCMediaStreamTrackObserver(RTCMediaStreamTrack* track) { _track = track; }
-
- void OnChanged() override {
- [_track.delegate mediaStreamTrackDidChange:_track];
- }
-
- private:
- __weak RTCMediaStreamTrack* _track;
-};
-}
-
-@implementation RTCMediaStreamTrack {
- rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> _mediaTrack;
- std::unique_ptr<webrtc::RTCMediaStreamTrackObserver> _observer;
-}
-
-@synthesize label;
-
-- (BOOL)isEqual:(id)other {
- // Equality is purely based on the label just like the C++ implementation.
- if (self == other)
- return YES;
- if (![other isKindOfClass:[self class]] ||
- ![self isKindOfClass:[other class]]) {
- return NO;
- }
- RTCMediaStreamTrack* otherMediaStream = (RTCMediaStreamTrack*)other;
- return [self.label isEqual:otherMediaStream.label];
-}
-
-- (NSUInteger)hash {
- return [self.label hash];
-}
-
-- (NSString*)kind {
- return @(self.mediaTrack->kind().c_str());
-}
-
-- (NSString*)label {
- return @(self.mediaTrack->id().c_str());
-}
-
-- (BOOL)isEnabled {
- return self.mediaTrack->enabled();
-}
-
-- (BOOL)setEnabled:(BOOL)enabled {
- return self.mediaTrack->set_enabled(enabled);
-}
-
-- (RTCTrackState)state {
- return [RTCEnumConverter convertTrackStateToObjC:self.mediaTrack->state()];
-}
-
-@end
-
-@implementation RTCMediaStreamTrack (Internal)
-
-- (id)initWithMediaTrack:
- (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)
- mediaTrack {
- if (!mediaTrack) {
- NSAssert(NO, @"nil arguments not allowed");
- self = nil;
- return nil;
- }
- if (self = [super init]) {
- _mediaTrack = mediaTrack;
- label = @(mediaTrack->id().c_str());
- _observer.reset(new webrtc::RTCMediaStreamTrackObserver(self));
- _mediaTrack->RegisterObserver(_observer.get());
- }
- return self;
-}
-
-- (void)dealloc {
- _mediaTrack->UnregisterObserver(_observer.get());
-}
-
-- (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)mediaTrack {
- return _mediaTrack;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCNSGLVideoView.m b/talk/app/webrtc/objc/RTCNSGLVideoView.m
deleted file mode 100644
index 34a866b..0000000
--- a/talk/app/webrtc/objc/RTCNSGLVideoView.m
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCNSGLVideoView.h"
-
-#import <CoreVideo/CVDisplayLink.h>
-#import <OpenGL/gl3.h>
-#import "RTCI420Frame.h"
-#import "RTCOpenGLVideoRenderer.h"
-
-@interface RTCNSGLVideoView ()
-// |i420Frame| is set when we receive a frame from a worker thread and is read
-// from the display link callback so atomicity is required.
-@property(atomic, strong) RTCI420Frame* i420Frame;
-@property(atomic, strong) RTCOpenGLVideoRenderer* glRenderer;
-- (void)drawFrame;
-@end
-
-static CVReturn OnDisplayLinkFired(CVDisplayLinkRef displayLink,
- const CVTimeStamp* now,
- const CVTimeStamp* outputTime,
- CVOptionFlags flagsIn,
- CVOptionFlags* flagsOut,
- void* displayLinkContext) {
- RTCNSGLVideoView* view = (__bridge RTCNSGLVideoView*)displayLinkContext;
- [view drawFrame];
- return kCVReturnSuccess;
-}
-
-@implementation RTCNSGLVideoView {
- CVDisplayLinkRef _displayLink;
-}
-
-- (void)dealloc {
- [self teardownDisplayLink];
-}
-
-- (void)drawRect:(NSRect)rect {
- [self drawFrame];
-}
-
-- (void)reshape {
- [super reshape];
- NSRect frame = [self frame];
- CGLLockContext([[self openGLContext] CGLContextObj]);
- glViewport(0, 0, frame.size.width, frame.size.height);
- CGLUnlockContext([[self openGLContext] CGLContextObj]);
-}
-
-- (void)lockFocus {
- NSOpenGLContext* context = [self openGLContext];
- [super lockFocus];
- if ([context view] != self) {
- [context setView:self];
- }
- [context makeCurrentContext];
-}
-
-- (void)prepareOpenGL {
- [super prepareOpenGL];
- if (!self.glRenderer) {
- self.glRenderer =
- [[RTCOpenGLVideoRenderer alloc] initWithContext:[self openGLContext]];
- }
- [self.glRenderer setupGL];
- [self setupDisplayLink];
-}
-
-- (void)clearGLContext {
- [self.glRenderer teardownGL];
- self.glRenderer = nil;
- [super clearGLContext];
-}
-
-#pragma mark - RTCVideoRenderer
-
-// These methods may be called on non-main thread.
-- (void)setSize:(CGSize)size {
- dispatch_async(dispatch_get_main_queue(), ^{
- [self.delegate videoView:self didChangeVideoSize:size];
- });
-}
-
-- (void)renderFrame:(RTCI420Frame*)frame {
- self.i420Frame = frame;
-}
-
-#pragma mark - Private
-
-- (void)drawFrame {
- RTCI420Frame* i420Frame = self.i420Frame;
- if (self.glRenderer.lastDrawnFrame != i420Frame) {
- // This method may be called from CVDisplayLink callback which isn't on the
- // main thread so we have to lock the GL context before drawing.
- CGLLockContext([[self openGLContext] CGLContextObj]);
- [self.glRenderer drawFrame:i420Frame];
- CGLUnlockContext([[self openGLContext] CGLContextObj]);
- }
-}
-
-- (void)setupDisplayLink {
- if (_displayLink) {
- return;
- }
- // Synchronize buffer swaps with vertical refresh rate.
- GLint swapInt = 1;
- [[self openGLContext] setValues:&swapInt forParameter:NSOpenGLCPSwapInterval];
-
- // Create display link.
- CVDisplayLinkCreateWithActiveCGDisplays(&_displayLink);
- CVDisplayLinkSetOutputCallback(_displayLink,
- &OnDisplayLinkFired,
- (__bridge void*)self);
- // Set the display link for the current renderer.
- CGLContextObj cglContext = [[self openGLContext] CGLContextObj];
- CGLPixelFormatObj cglPixelFormat = [[self pixelFormat] CGLPixelFormatObj];
- CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext(
- _displayLink, cglContext, cglPixelFormat);
- CVDisplayLinkStart(_displayLink);
-}
-
-- (void)teardownDisplayLink {
- if (!_displayLink) {
- return;
- }
- CVDisplayLinkRelease(_displayLink);
- _displayLink = NULL;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCOpenGLVideoRenderer.mm b/talk/app/webrtc/objc/RTCOpenGLVideoRenderer.mm
deleted file mode 100644
index b0f1b80..0000000
--- a/talk/app/webrtc/objc/RTCOpenGLVideoRenderer.mm
+++ /dev/null
@@ -1,503 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCOpenGLVideoRenderer.h"
-
-#include <string.h>
-
-#include <memory>
-
-#if TARGET_OS_IPHONE
-#import <OpenGLES/ES3/gl.h>
-#else
-#import <OpenGL/gl3.h>
-#endif
-
-#import "RTCI420Frame.h"
-
-// TODO(tkchin): check and log openGL errors. Methods here return BOOLs in
-// anticipation of that happening in the future.
-
-#if TARGET_OS_IPHONE
-#define RTC_PIXEL_FORMAT GL_LUMINANCE
-#define SHADER_VERSION
-#define VERTEX_SHADER_IN "attribute"
-#define VERTEX_SHADER_OUT "varying"
-#define FRAGMENT_SHADER_IN "varying"
-#define FRAGMENT_SHADER_OUT
-#define FRAGMENT_SHADER_COLOR "gl_FragColor"
-#define FRAGMENT_SHADER_TEXTURE "texture2D"
-#else
-#define RTC_PIXEL_FORMAT GL_RED
-#define SHADER_VERSION "#version 150\n"
-#define VERTEX_SHADER_IN "in"
-#define VERTEX_SHADER_OUT "out"
-#define FRAGMENT_SHADER_IN "in"
-#define FRAGMENT_SHADER_OUT "out vec4 fragColor;\n"
-#define FRAGMENT_SHADER_COLOR "fragColor"
-#define FRAGMENT_SHADER_TEXTURE "texture"
-#endif
-
-// Vertex shader doesn't do anything except pass coordinates through.
-static const char kVertexShaderSource[] =
- SHADER_VERSION
- VERTEX_SHADER_IN " vec2 position;\n"
- VERTEX_SHADER_IN " vec2 texcoord;\n"
- VERTEX_SHADER_OUT " vec2 v_texcoord;\n"
- "void main() {\n"
- " gl_Position = vec4(position.x, position.y, 0.0, 1.0);\n"
- " v_texcoord = texcoord;\n"
- "}\n";
-
-// Fragment shader converts YUV values from input textures into a final RGB
-// pixel. The conversion formula is from http://www.fourcc.org/fccyvrgb.php.
-static const char kFragmentShaderSource[] =
- SHADER_VERSION
- "precision highp float;"
- FRAGMENT_SHADER_IN " vec2 v_texcoord;\n"
- "uniform lowp sampler2D s_textureY;\n"
- "uniform lowp sampler2D s_textureU;\n"
- "uniform lowp sampler2D s_textureV;\n"
- FRAGMENT_SHADER_OUT
- "void main() {\n"
- " float y, u, v, r, g, b;\n"
- " y = " FRAGMENT_SHADER_TEXTURE "(s_textureY, v_texcoord).r;\n"
- " u = " FRAGMENT_SHADER_TEXTURE "(s_textureU, v_texcoord).r;\n"
- " v = " FRAGMENT_SHADER_TEXTURE "(s_textureV, v_texcoord).r;\n"
- " u = u - 0.5;\n"
- " v = v - 0.5;\n"
- " r = y + 1.403 * v;\n"
- " g = y - 0.344 * u - 0.714 * v;\n"
- " b = y + 1.770 * u;\n"
- " " FRAGMENT_SHADER_COLOR " = vec4(r, g, b, 1.0);\n"
- " }\n";
-
-// Compiles a shader of the given |type| with GLSL source |source| and returns
-// the shader handle or 0 on error.
-GLuint CreateShader(GLenum type, const GLchar* source) {
- GLuint shader = glCreateShader(type);
- if (!shader) {
- return 0;
- }
- glShaderSource(shader, 1, &source, NULL);
- glCompileShader(shader);
- GLint compileStatus = GL_FALSE;
- glGetShaderiv(shader, GL_COMPILE_STATUS, &compileStatus);
- if (compileStatus == GL_FALSE) {
- glDeleteShader(shader);
- shader = 0;
- }
- return shader;
-}
-
-// Links a shader program with the given vertex and fragment shaders and
-// returns the program handle or 0 on error.
-GLuint CreateProgram(GLuint vertexShader, GLuint fragmentShader) {
- if (vertexShader == 0 || fragmentShader == 0) {
- return 0;
- }
- GLuint program = glCreateProgram();
- if (!program) {
- return 0;
- }
- glAttachShader(program, vertexShader);
- glAttachShader(program, fragmentShader);
- glLinkProgram(program);
- GLint linkStatus = GL_FALSE;
- glGetProgramiv(program, GL_LINK_STATUS, &linkStatus);
- if (linkStatus == GL_FALSE) {
- glDeleteProgram(program);
- program = 0;
- }
- return program;
-}
-
-// When modelview and projection matrices are identity (default) the world is
-// contained in the square around origin with unit size 2. Drawing to these
-// coordinates is equivalent to drawing to the entire screen. The texture is
-// stretched over that square using texture coordinates (u, v) that range
-// from (0, 0) to (1, 1) inclusive. Texture coordinates are flipped vertically
-// here because the incoming frame has origin in upper left hand corner but
-// OpenGL expects origin in bottom left corner.
-const GLfloat gVertices[] = {
- // X, Y, U, V.
- -1, -1, 0, 1, // Bottom left.
- 1, -1, 1, 1, // Bottom right.
- 1, 1, 1, 0, // Top right.
- -1, 1, 0, 0, // Top left.
-};
-
-// |kNumTextures| must not exceed 8, which is the limit in OpenGLES2. Two sets
-// of 3 textures are used here, one for each of the Y, U and V planes. Having
-// two sets alleviates CPU blockage in the event that the GPU is asked to render
-// to a texture that is already in use.
-static const GLsizei kNumTextureSets = 2;
-static const GLsizei kNumTextures = 3 * kNumTextureSets;
-
-@implementation RTCOpenGLVideoRenderer {
-#if TARGET_OS_IPHONE
- EAGLContext* _context;
-#else
- NSOpenGLContext* _context;
-#endif
- BOOL _isInitialized;
- NSUInteger _currentTextureSet;
- // Handles for OpenGL constructs.
- GLuint _textures[kNumTextures];
- GLuint _program;
-#if !TARGET_OS_IPHONE
- GLuint _vertexArray;
-#endif
- GLuint _vertexBuffer;
- GLint _position;
- GLint _texcoord;
- GLint _ySampler;
- GLint _uSampler;
- GLint _vSampler;
- // Used to create a non-padded plane for GPU upload when we receive padded
- // frames.
- std::unique_ptr<uint8_t[]> _planeBuffer;
-}
-
-+ (void)initialize {
- // Disable dithering for performance.
- glDisable(GL_DITHER);
-}
-
-#if TARGET_OS_IPHONE
-- (instancetype)initWithContext:(EAGLContext*)context {
-#else
-- (instancetype)initWithContext:(NSOpenGLContext*)context {
-#endif
- NSAssert(context != nil, @"context cannot be nil");
- if (self = [super init]) {
- _context = context;
- }
- return self;
-}
-
-- (BOOL)drawFrame:(RTCI420Frame*)frame {
- if (!_isInitialized) {
- return NO;
- }
- if (_lastDrawnFrame == frame) {
- return NO;
- }
- [self ensureGLContext];
- glClear(GL_COLOR_BUFFER_BIT);
- if (frame) {
- if (![self updateTextureSizesForFrame:frame] ||
- ![self updateTextureDataForFrame:frame]) {
- return NO;
- }
-#if !TARGET_OS_IPHONE
- glBindVertexArray(_vertexArray);
-#endif
- glBindBuffer(GL_ARRAY_BUFFER, _vertexBuffer);
- glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
- }
-#if !TARGET_OS_IPHONE
- [_context flushBuffer];
-#endif
- _lastDrawnFrame = frame;
- return YES;
-}
-
-- (void)setupGL {
- if (_isInitialized) {
- return;
- }
- [self ensureGLContext];
- if (![self setupProgram]) {
- return;
- }
- if (![self setupTextures]) {
- return;
- }
- if (![self setupVertices]) {
- return;
- }
- glUseProgram(_program);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- _isInitialized = YES;
-}
-
-- (void)teardownGL {
- if (!_isInitialized) {
- return;
- }
- [self ensureGLContext];
- glDeleteProgram(_program);
- _program = 0;
- glDeleteTextures(kNumTextures, _textures);
- glDeleteBuffers(1, &_vertexBuffer);
- _vertexBuffer = 0;
-#if !TARGET_OS_IPHONE
- glDeleteVertexArrays(1, &_vertexArray);
-#endif
- _isInitialized = NO;
-}
-
-#pragma mark - Private
-
-- (void)ensureGLContext {
- NSAssert(_context, @"context shouldn't be nil");
-#if TARGET_OS_IPHONE
- if ([EAGLContext currentContext] != _context) {
- [EAGLContext setCurrentContext:_context];
- }
-#else
- if ([NSOpenGLContext currentContext] != _context) {
- [_context makeCurrentContext];
- }
-#endif
-}
-
-- (BOOL)setupProgram {
- NSAssert(!_program, @"program already set up");
- GLuint vertexShader = CreateShader(GL_VERTEX_SHADER, kVertexShaderSource);
- NSAssert(vertexShader, @"failed to create vertex shader");
- GLuint fragmentShader =
- CreateShader(GL_FRAGMENT_SHADER, kFragmentShaderSource);
- NSAssert(fragmentShader, @"failed to create fragment shader");
- _program = CreateProgram(vertexShader, fragmentShader);
- // Shaders are created only to generate program.
- if (vertexShader) {
- glDeleteShader(vertexShader);
- }
- if (fragmentShader) {
- glDeleteShader(fragmentShader);
- }
- if (!_program) {
- return NO;
- }
- _position = glGetAttribLocation(_program, "position");
- _texcoord = glGetAttribLocation(_program, "texcoord");
- _ySampler = glGetUniformLocation(_program, "s_textureY");
- _uSampler = glGetUniformLocation(_program, "s_textureU");
- _vSampler = glGetUniformLocation(_program, "s_textureV");
- if (_position < 0 || _texcoord < 0 || _ySampler < 0 || _uSampler < 0 ||
- _vSampler < 0) {
- return NO;
- }
- return YES;
-}
-
-- (BOOL)setupTextures {
- glGenTextures(kNumTextures, _textures);
- // Set parameters for each of the textures we created.
- for (GLsizei i = 0; i < kNumTextures; i++) {
- glActiveTexture(GL_TEXTURE0 + i);
- glBindTexture(GL_TEXTURE_2D, _textures[i]);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
- }
- return YES;
-}
-
-- (BOOL)updateTextureSizesForFrame:(RTCI420Frame*)frame {
- if (frame.height == _lastDrawnFrame.height &&
- frame.width == _lastDrawnFrame.width &&
- frame.chromaWidth == _lastDrawnFrame.chromaWidth &&
- frame.chromaHeight == _lastDrawnFrame.chromaHeight) {
- return YES;
- }
- GLsizei lumaWidth = frame.width;
- GLsizei lumaHeight = frame.height;
- GLsizei chromaWidth = frame.chromaWidth;
- GLsizei chromaHeight = frame.chromaHeight;
- for (GLint i = 0; i < kNumTextureSets; i++) {
- glActiveTexture(GL_TEXTURE0 + i * 3);
- glTexImage2D(GL_TEXTURE_2D,
- 0,
- RTC_PIXEL_FORMAT,
- lumaWidth,
- lumaHeight,
- 0,
- RTC_PIXEL_FORMAT,
- GL_UNSIGNED_BYTE,
- 0);
- glActiveTexture(GL_TEXTURE0 + i * 3 + 1);
- glTexImage2D(GL_TEXTURE_2D,
- 0,
- RTC_PIXEL_FORMAT,
- chromaWidth,
- chromaHeight,
- 0,
- RTC_PIXEL_FORMAT,
- GL_UNSIGNED_BYTE,
- 0);
- glActiveTexture(GL_TEXTURE0 + i * 3 + 2);
- glTexImage2D(GL_TEXTURE_2D,
- 0,
- RTC_PIXEL_FORMAT,
- chromaWidth,
- chromaHeight,
- 0,
- RTC_PIXEL_FORMAT,
- GL_UNSIGNED_BYTE,
- 0);
- }
- if (frame.yPitch != frame.width || frame.uPitch != frame.chromaWidth ||
- frame.vPitch != frame.chromaWidth) {
- _planeBuffer.reset(new uint8_t[frame.width * frame.height]);
- } else {
- _planeBuffer.reset();
- }
- return YES;
-}
-
-- (void)uploadPlane:(const uint8_t*)plane
- sampler:(GLint)sampler
- offset:(NSUInteger)offset
- width:(NSUInteger)width
- height:(NSUInteger)height
- stride:(NSInteger)stride {
- glActiveTexture(GL_TEXTURE0 + offset);
- // When setting texture sampler uniforms, the texture index is used not
- // the texture handle.
- glUniform1i(sampler, offset);
-#if TARGET_OS_IPHONE
- BOOL hasUnpackRowLength = _context.API == kEAGLRenderingAPIOpenGLES3;
-#else
- BOOL hasUnpackRowLength = YES;
-#endif
- const uint8_t* uploadPlane = plane;
- if (stride != width) {
- if (hasUnpackRowLength) {
- // GLES3 allows us to specify stride.
- glPixelStorei(GL_UNPACK_ROW_LENGTH, stride);
- glTexImage2D(GL_TEXTURE_2D,
- 0,
- RTC_PIXEL_FORMAT,
- width,
- height,
- 0,
- RTC_PIXEL_FORMAT,
- GL_UNSIGNED_BYTE,
- uploadPlane);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- return;
- } else {
- // Make an unpadded copy and upload that instead. Quick profiling showed
- // that this is faster than uploading row by row using glTexSubImage2D.
- uint8_t* unpaddedPlane = _planeBuffer.get();
- for (NSUInteger y = 0; y < height; ++y) {
- memcpy(unpaddedPlane + y * width, plane + y * stride, width);
- }
- uploadPlane = unpaddedPlane;
- }
- }
- glTexImage2D(GL_TEXTURE_2D,
- 0,
- RTC_PIXEL_FORMAT,
- width,
- height,
- 0,
- RTC_PIXEL_FORMAT,
- GL_UNSIGNED_BYTE,
- uploadPlane);
-}
-
-- (BOOL)updateTextureDataForFrame:(RTCI420Frame*)frame {
- NSUInteger textureOffset = _currentTextureSet * 3;
- NSAssert(textureOffset + 3 <= kNumTextures, @"invalid offset");
-
- [self uploadPlane:frame.yPlane
- sampler:_ySampler
- offset:textureOffset
- width:frame.width
- height:frame.height
- stride:frame.yPitch];
-
- [self uploadPlane:frame.uPlane
- sampler:_uSampler
- offset:textureOffset + 1
- width:frame.chromaWidth
- height:frame.chromaHeight
- stride:frame.uPitch];
-
- [self uploadPlane:frame.vPlane
- sampler:_vSampler
- offset:textureOffset + 2
- width:frame.chromaWidth
- height:frame.chromaHeight
- stride:frame.vPitch];
-
- _currentTextureSet = (_currentTextureSet + 1) % kNumTextureSets;
- return YES;
-}
-
-- (BOOL)setupVertices {
-#if !TARGET_OS_IPHONE
- NSAssert(!_vertexArray, @"vertex array already set up");
- glGenVertexArrays(1, &_vertexArray);
- if (!_vertexArray) {
- return NO;
- }
- glBindVertexArray(_vertexArray);
-#endif
- NSAssert(!_vertexBuffer, @"vertex buffer already set up");
- glGenBuffers(1, &_vertexBuffer);
- if (!_vertexBuffer) {
-#if !TARGET_OS_IPHONE
- glDeleteVertexArrays(1, &_vertexArray);
- _vertexArray = 0;
-#endif
- return NO;
- }
- glBindBuffer(GL_ARRAY_BUFFER, _vertexBuffer);
- glBufferData(GL_ARRAY_BUFFER, sizeof(gVertices), gVertices, GL_DYNAMIC_DRAW);
-
- // Read position attribute from |gVertices| with size of 2 and stride of 4
- // beginning at the start of the array. The last argument indicates offset
- // of data within |gVertices| as supplied to the vertex buffer.
- glVertexAttribPointer(
- _position, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(GLfloat), (void*)0);
- glEnableVertexAttribArray(_position);
-
- // Read texcoord attribute from |gVertices| with size of 2 and stride of 4
- // beginning at the first texcoord in the array. The last argument indicates
- // offset of data within |gVertices| as supplied to the vertex buffer.
- glVertexAttribPointer(_texcoord,
- 2,
- GL_FLOAT,
- GL_FALSE,
- 4 * sizeof(GLfloat),
- (void*)(2 * sizeof(GLfloat)));
- glEnableVertexAttribArray(_texcoord);
-
- return YES;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCPair.m b/talk/app/webrtc/objc/RTCPair.m
deleted file mode 100644
index 2171c9e..0000000
--- a/talk/app/webrtc/objc/RTCPair.m
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCPair.h"
-
-@implementation RTCPair
-
-@synthesize key = _key;
-@synthesize value = _value;
-
-- (id)initWithKey:(NSString*)key value:(NSString*)value {
- if ((self = [super init])) {
- _key = [key copy];
- _value = [value copy];
- }
- return self;
-}
-
-- (NSString*)description {
- return [NSString stringWithFormat:@"%@: %@", _key, _value];
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCPeerConnection+Internal.h b/talk/app/webrtc/objc/RTCPeerConnection+Internal.h
deleted file mode 100644
index 136fdf5..0000000
--- a/talk/app/webrtc/objc/RTCPeerConnection+Internal.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCPeerConnection.h"
-
-#import "RTCPeerConnectionDelegate.h"
-
-#include "webrtc/api/peerconnectioninterface.h"
-
-@interface RTCPeerConnection (Internal)
-
-@property(nonatomic, assign, readonly)
- rtc::scoped_refptr<webrtc::PeerConnectionInterface> peerConnection;
-
-- (instancetype)initWithFactory:(webrtc::PeerConnectionFactoryInterface *)factory
- iceServers:(const webrtc::PeerConnectionInterface::IceServers &)iceServers
- constraints:(const webrtc::MediaConstraintsInterface *)constraints;
-
-- (instancetype)initWithFactory:(webrtc::PeerConnectionFactoryInterface *)factory
- config:(const webrtc::PeerConnectionInterface::RTCConfiguration &)config
- constraints:(const webrtc::MediaConstraintsInterface *)constraints
- delegate:(id<RTCPeerConnectionDelegate>)delegate;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCPeerConnection.mm b/talk/app/webrtc/objc/RTCPeerConnection.mm
deleted file mode 100644
index 2491cf7..0000000
--- a/talk/app/webrtc/objc/RTCPeerConnection.mm
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCPeerConnection+Internal.h"
-
-#import "RTCDataChannel+Internal.h"
-#import "RTCEnumConverter.h"
-#import "RTCICECandidate+Internal.h"
-#import "RTCICEServer+Internal.h"
-#import "RTCMediaConstraints+Internal.h"
-#import "RTCMediaStream+Internal.h"
-#import "RTCMediaStreamTrack+Internal.h"
-#import "RTCPeerConnectionObserver.h"
-#import "RTCSessionDescription+Internal.h"
-#import "RTCSessionDescription.h"
-#import "RTCSessionDescriptionDelegate.h"
-#import "RTCStatsDelegate.h"
-#import "RTCStatsReport+Internal.h"
-
-#include <memory>
-
-#include "webrtc/api/jsep.h"
-
-NSString* const kRTCSessionDescriptionDelegateErrorDomain = @"RTCSDPError";
-int const kRTCSessionDescriptionDelegateErrorCode = -1;
-
-namespace webrtc {
-
-class RTCCreateSessionDescriptionObserver
- : public CreateSessionDescriptionObserver {
- public:
- RTCCreateSessionDescriptionObserver(
- id<RTCSessionDescriptionDelegate> delegate,
- RTCPeerConnection* peerConnection) {
- _delegate = delegate;
- _peerConnection = peerConnection;
- }
-
- void OnSuccess(SessionDescriptionInterface* desc) override {
- RTCSessionDescription* session =
- [[RTCSessionDescription alloc] initWithSessionDescription:desc];
- [_delegate peerConnection:_peerConnection
- didCreateSessionDescription:session
- error:nil];
- delete desc;
- }
-
- void OnFailure(const std::string& error) override {
- NSString* str = @(error.c_str());
- NSError* err =
- [NSError errorWithDomain:kRTCSessionDescriptionDelegateErrorDomain
- code:kRTCSessionDescriptionDelegateErrorCode
- userInfo:@{@"error" : str}];
- [_delegate peerConnection:_peerConnection
- didCreateSessionDescription:nil
- error:err];
- }
-
- private:
- id<RTCSessionDescriptionDelegate> _delegate;
- RTCPeerConnection* _peerConnection;
-};
-
-class RTCSetSessionDescriptionObserver : public SetSessionDescriptionObserver {
- public:
- RTCSetSessionDescriptionObserver(id<RTCSessionDescriptionDelegate> delegate,
- RTCPeerConnection* peerConnection) {
- _delegate = delegate;
- _peerConnection = peerConnection;
- }
-
- void OnSuccess() override {
- [_delegate peerConnection:_peerConnection
- didSetSessionDescriptionWithError:nil];
- }
-
- void OnFailure(const std::string& error) override {
- NSString* str = @(error.c_str());
- NSError* err =
- [NSError errorWithDomain:kRTCSessionDescriptionDelegateErrorDomain
- code:kRTCSessionDescriptionDelegateErrorCode
- userInfo:@{@"error" : str}];
- [_delegate peerConnection:_peerConnection
- didSetSessionDescriptionWithError:err];
- }
-
- private:
- id<RTCSessionDescriptionDelegate> _delegate;
- RTCPeerConnection* _peerConnection;
-};
-
-class RTCStatsObserver : public StatsObserver {
- public:
- RTCStatsObserver(id<RTCStatsDelegate> delegate,
- RTCPeerConnection* peerConnection) {
- _delegate = delegate;
- _peerConnection = peerConnection;
- }
-
- void OnComplete(const StatsReports& reports) override {
- NSMutableArray* stats = [NSMutableArray arrayWithCapacity:reports.size()];
- for (const auto* report : reports) {
- RTCStatsReport* statsReport =
- [[RTCStatsReport alloc] initWithStatsReport:*report];
- [stats addObject:statsReport];
- }
- [_delegate peerConnection:_peerConnection didGetStats:stats];
- }
-
- private:
- id<RTCStatsDelegate> _delegate;
- RTCPeerConnection* _peerConnection;
-};
-}
-
-@implementation RTCPeerConnection {
- NSMutableArray* _localStreams;
- std::unique_ptr<webrtc::RTCPeerConnectionObserver> _observer;
- rtc::scoped_refptr<webrtc::PeerConnectionInterface> _peerConnection;
-}
-
-- (BOOL)addICECandidate:(RTCICECandidate*)candidate {
- std::unique_ptr<const webrtc::IceCandidateInterface> iceCandidate(
- candidate.candidate);
- return self.peerConnection->AddIceCandidate(iceCandidate.get());
-}
-
-- (BOOL)addStream:(RTCMediaStream*)stream {
- BOOL ret = self.peerConnection->AddStream(stream.mediaStream);
- if (!ret) {
- return NO;
- }
- [_localStreams addObject:stream];
- return YES;
-}
-
-- (RTCDataChannel*)createDataChannelWithLabel:(NSString*)label
- config:(RTCDataChannelInit*)config {
- std::string labelString([label UTF8String]);
- rtc::scoped_refptr<webrtc::DataChannelInterface> dataChannel =
- self.peerConnection->CreateDataChannel(labelString,
- config.dataChannelInit);
- return [[RTCDataChannel alloc] initWithDataChannel:dataChannel];
-}
-
-- (void)createAnswerWithDelegate:(id<RTCSessionDescriptionDelegate>)delegate
- constraints:(RTCMediaConstraints*)constraints {
- rtc::scoped_refptr<webrtc::RTCCreateSessionDescriptionObserver>
- observer(new rtc::RefCountedObject<
- webrtc::RTCCreateSessionDescriptionObserver>(delegate, self));
- self.peerConnection->CreateAnswer(observer, constraints.constraints);
-}
-
-- (void)createOfferWithDelegate:(id<RTCSessionDescriptionDelegate>)delegate
- constraints:(RTCMediaConstraints*)constraints {
- rtc::scoped_refptr<webrtc::RTCCreateSessionDescriptionObserver>
- observer(new rtc::RefCountedObject<
- webrtc::RTCCreateSessionDescriptionObserver>(delegate, self));
- self.peerConnection->CreateOffer(observer, constraints.constraints);
-}
-
-- (void)removeStream:(RTCMediaStream*)stream {
- self.peerConnection->RemoveStream(stream.mediaStream);
- [_localStreams removeObject:stream];
-}
-
-- (void)setLocalDescriptionWithDelegate:
- (id<RTCSessionDescriptionDelegate>)delegate
- sessionDescription:(RTCSessionDescription*)sdp {
- rtc::scoped_refptr<webrtc::RTCSetSessionDescriptionObserver> observer(
- new rtc::RefCountedObject<webrtc::RTCSetSessionDescriptionObserver>(
- delegate, self));
- self.peerConnection->SetLocalDescription(observer, sdp.sessionDescription);
-}
-
-- (void)setRemoteDescriptionWithDelegate:
- (id<RTCSessionDescriptionDelegate>)delegate
- sessionDescription:(RTCSessionDescription*)sdp {
- rtc::scoped_refptr<webrtc::RTCSetSessionDescriptionObserver> observer(
- new rtc::RefCountedObject<webrtc::RTCSetSessionDescriptionObserver>(
- delegate, self));
- self.peerConnection->SetRemoteDescription(observer, sdp.sessionDescription);
-}
-
-- (BOOL)setConfiguration:(RTCConfiguration *)configuration {
- std::unique_ptr<webrtc::PeerConnectionInterface::RTCConfiguration> config(
- [configuration createNativeConfiguration]);
- if (!config) {
- return NO;
- }
- return self.peerConnection->SetConfiguration(*config);
-}
-
-- (RTCSessionDescription*)localDescription {
- const webrtc::SessionDescriptionInterface* sdi =
- self.peerConnection->local_description();
- return sdi ? [[RTCSessionDescription alloc] initWithSessionDescription:sdi]
- : nil;
-}
-
-- (NSArray*)localStreams {
- return [_localStreams copy];
-}
-
-- (RTCSessionDescription*)remoteDescription {
- const webrtc::SessionDescriptionInterface* sdi =
- self.peerConnection->remote_description();
- return sdi ? [[RTCSessionDescription alloc] initWithSessionDescription:sdi]
- : nil;
-}
-
-- (RTCICEConnectionState)iceConnectionState {
- return [RTCEnumConverter
- convertIceConnectionStateToObjC:self.peerConnection
- ->ice_connection_state()];
-}
-
-- (RTCICEGatheringState)iceGatheringState {
- return [RTCEnumConverter
- convertIceGatheringStateToObjC:self.peerConnection
- ->ice_gathering_state()];
-}
-
-- (RTCSignalingState)signalingState {
- return [RTCEnumConverter
- convertSignalingStateToObjC:self.peerConnection->signaling_state()];
-}
-
-- (void)close {
- self.peerConnection->Close();
-}
-
-- (BOOL)getStatsWithDelegate:(id<RTCStatsDelegate>)delegate
- mediaStreamTrack:(RTCMediaStreamTrack*)mediaStreamTrack
- statsOutputLevel:(RTCStatsOutputLevel)statsOutputLevel {
- rtc::scoped_refptr<webrtc::RTCStatsObserver> observer(
- new rtc::RefCountedObject<webrtc::RTCStatsObserver>(delegate,
- self));
- webrtc::PeerConnectionInterface::StatsOutputLevel nativeOutputLevel =
- [RTCEnumConverter convertStatsOutputLevelToNative:statsOutputLevel];
- return self.peerConnection->GetStats(
- observer, mediaStreamTrack.mediaTrack, nativeOutputLevel);
-}
-
-@end
-
-@implementation RTCPeerConnection (Internal)
-
-- (instancetype)initWithFactory:(webrtc::PeerConnectionFactoryInterface*)factory
- iceServers:(const webrtc::PeerConnectionInterface::IceServers&)iceServers
- constraints:(const webrtc::MediaConstraintsInterface*)constraints {
- NSParameterAssert(factory != nullptr);
- if (self = [super init]) {
- webrtc::PeerConnectionInterface::RTCConfiguration config;
- config.servers = iceServers;
- _observer.reset(new webrtc::RTCPeerConnectionObserver(self));
- _peerConnection = factory->CreatePeerConnection(
- config, constraints, nullptr, nullptr, _observer.get());
- _localStreams = [[NSMutableArray alloc] init];
- }
- return self;
-}
-
-- (instancetype)initWithFactory:(webrtc::PeerConnectionFactoryInterface *)factory
- config:(const webrtc::PeerConnectionInterface::RTCConfiguration &)config
- constraints:(const webrtc::MediaConstraintsInterface *)constraints
- delegate:(id<RTCPeerConnectionDelegate>)delegate {
- NSParameterAssert(factory);
- if (self = [super init]) {
- _observer.reset(new webrtc::RTCPeerConnectionObserver(self));
- _peerConnection =
- factory->CreatePeerConnection(config, constraints, nullptr, nullptr, _observer.get());
- _localStreams = [[NSMutableArray alloc] init];
- _delegate = delegate;
- }
- return self;
-}
-
-- (rtc::scoped_refptr<webrtc::PeerConnectionInterface>)peerConnection {
- return _peerConnection;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCPeerConnectionFactory+Internal.h b/talk/app/webrtc/objc/RTCPeerConnectionFactory+Internal.h
deleted file mode 100644
index 113327b..0000000
--- a/talk/app/webrtc/objc/RTCPeerConnectionFactory+Internal.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCPeerConnectionFactory.h"
-
-#include "webrtc/api/peerconnectionfactory.h"
-
-@interface RTCPeerConnectionFactory ()
-
-@property(nonatomic, assign) rtc::scoped_refptr<
- webrtc::PeerConnectionFactoryInterface> nativeFactory;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCPeerConnectionFactory.mm b/talk/app/webrtc/objc/RTCPeerConnectionFactory.mm
deleted file mode 100644
index 13afa8d..0000000
--- a/talk/app/webrtc/objc/RTCPeerConnectionFactory.mm
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCPeerConnectionFactory+Internal.h"
-
-#include <memory>
-#include <vector>
-
-#import "RTCAudioTrack+Internal.h"
-#import "RTCICEServer+Internal.h"
-#import "RTCMediaConstraints+Internal.h"
-#import "RTCMediaSource+Internal.h"
-#import "RTCMediaStream+Internal.h"
-#import "RTCMediaStreamTrack+Internal.h"
-#import "RTCPeerConnection+Internal.h"
-#import "RTCPeerConnectionDelegate.h"
-#import "RTCPeerConnectionInterface+Internal.h"
-#import "RTCVideoCapturer+Internal.h"
-#import "RTCVideoSource+Internal.h"
-#import "RTCVideoTrack+Internal.h"
-
-#include "webrtc/api/audiotrack.h"
-#include "webrtc/api/mediastreaminterface.h"
-#include "webrtc/api/peerconnectioninterface.h"
-#include "webrtc/api/videotrack.h"
-#include "webrtc/base/logging.h"
-#include "webrtc/base/ssladapter.h"
-
-@implementation RTCPeerConnectionFactory {
- std::unique_ptr<rtc::Thread> _networkThread;
- std::unique_ptr<rtc::Thread> _workerThread;
- std::unique_ptr<rtc::Thread> _signalingThread;
-}
-
-@synthesize nativeFactory = _nativeFactory;
-
-+ (void)initializeSSL {
- BOOL initialized = rtc::InitializeSSL();
- NSAssert(initialized, @"Failed to initialize SSL library");
-}
-
-+ (void)deinitializeSSL {
- BOOL deinitialized = rtc::CleanupSSL();
- NSAssert(deinitialized, @"Failed to deinitialize SSL library");
-}
-
-- (id)init {
- if ((self = [super init])) {
- _networkThread = rtc::Thread::CreateWithSocketServer();
- BOOL result = _networkThread->Start();
- NSAssert(result, @"Failed to start network thread.");
-
- _workerThread = rtc::Thread::Create();
- result = _workerThread->Start();
- NSAssert(result, @"Failed to start worker thread.");
-
- _signalingThread = rtc::Thread::Create();
- result = _signalingThread->Start();
- NSAssert(result, @"Failed to start signaling thread.");
-
- _nativeFactory = webrtc::CreatePeerConnectionFactory(
- _networkThread.get(), _workerThread.get(), _signalingThread.get(),
- nullptr, nullptr, nullptr);
- NSAssert(_nativeFactory, @"Failed to initialize PeerConnectionFactory!");
- // Uncomment to get sensitive logs emitted (to stderr or logcat).
- // rtc::LogMessage::LogToDebug(rtc::LS_SENSITIVE);
- }
- return self;
-}
-
-- (RTCPeerConnection *)peerConnectionWithConfiguration:(RTCConfiguration *)configuration
- constraints:(RTCMediaConstraints *)constraints
- delegate:(id<RTCPeerConnectionDelegate>)delegate {
- std::unique_ptr<webrtc::PeerConnectionInterface::RTCConfiguration> config(
- [configuration createNativeConfiguration]);
- if (!config) {
- return nil;
- }
- return [[RTCPeerConnection alloc] initWithFactory:self.nativeFactory.get()
- config:*config
- constraints:constraints.constraints
- delegate:delegate];
-}
-
-- (RTCPeerConnection*)
- peerConnectionWithICEServers:(NSArray*)servers
- constraints:(RTCMediaConstraints*)constraints
- delegate:(id<RTCPeerConnectionDelegate>)delegate {
- webrtc::PeerConnectionInterface::IceServers iceServers;
- for (RTCICEServer* server in servers) {
- iceServers.push_back(server.iceServer);
- }
- RTCPeerConnection* pc =
- [[RTCPeerConnection alloc] initWithFactory:self.nativeFactory.get()
- iceServers:iceServers
- constraints:constraints.constraints];
- pc.delegate = delegate;
- return pc;
-}
-
-- (RTCMediaStream*)mediaStreamWithLabel:(NSString*)label {
- rtc::scoped_refptr<webrtc::MediaStreamInterface> nativeMediaStream =
- self.nativeFactory->CreateLocalMediaStream([label UTF8String]);
- return [[RTCMediaStream alloc] initWithMediaStream:nativeMediaStream];
-}
-
-- (RTCVideoSource*)videoSourceWithCapturer:(RTCVideoCapturer*)capturer
- constraints:(RTCMediaConstraints*)constraints {
- if (!capturer) {
- return nil;
- }
- rtc::scoped_refptr<webrtc::VideoTrackSourceInterface> source =
- self.nativeFactory->CreateVideoSource([capturer takeNativeCapturer], constraints.constraints);
- return [[RTCVideoSource alloc] initWithMediaSource:source];
-}
-
-- (RTCVideoTrack*)videoTrackWithID:(NSString*)videoId
- source:(RTCVideoSource*)source {
- rtc::scoped_refptr<webrtc::VideoTrackInterface> track =
- self.nativeFactory->CreateVideoTrack([videoId UTF8String],
- source.videoSource);
- return [[RTCVideoTrack alloc] initWithMediaTrack:track];
-}
-
-- (RTCAudioTrack*)audioTrackWithID:(NSString*)audioId {
- rtc::scoped_refptr<webrtc::AudioTrackInterface> track =
- self.nativeFactory->CreateAudioTrack([audioId UTF8String], NULL);
- return [[RTCAudioTrack alloc] initWithMediaTrack:track];
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCPeerConnectionInterface+Internal.h b/talk/app/webrtc/objc/RTCPeerConnectionInterface+Internal.h
deleted file mode 100644
index ecd236d..0000000
--- a/talk/app/webrtc/objc/RTCPeerConnectionInterface+Internal.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "talk/app/webrtc/objc/public/RTCPeerConnectionInterface.h"
-
-#include "webrtc/api/peerconnectioninterface.h"
-
-@interface RTCConfiguration ()
-
-+ (rtc::KeyType)nativeEncryptionKeyTypeForKeyType:(RTCEncryptionKeyType)keyType;
-
-- (webrtc::PeerConnectionInterface::RTCConfiguration *)
- createNativeConfiguration;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCPeerConnectionInterface.mm b/talk/app/webrtc/objc/RTCPeerConnectionInterface.mm
deleted file mode 100644
index 1ab9c56..0000000
--- a/talk/app/webrtc/objc/RTCPeerConnectionInterface.mm
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "talk/app/webrtc/objc/RTCPeerConnectionInterface+Internal.h"
-
-#import "talk/app/webrtc/objc/RTCEnumConverter.h"
-#import "talk/app/webrtc/objc/RTCICEServer+Internal.h"
-#import "talk/app/webrtc/objc/public/RTCLogging.h"
-
-#include <memory>
-
-#include "webrtc/base/rtccertificategenerator.h"
-
-@implementation RTCConfiguration
-
-@synthesize iceTransportsType = _iceTransportsType;
-@synthesize iceServers = _iceServers;
-@synthesize bundlePolicy = _bundlePolicy;
-@synthesize rtcpMuxPolicy = _rtcpMuxPolicy;
-@synthesize tcpCandidatePolicy = _tcpCandidatePolicy;
-@synthesize audioJitterBufferMaxPackets = _audioJitterBufferMaxPackets;
-@synthesize iceConnectionReceivingTimeout = _iceConnectionReceivingTimeout;
-@synthesize iceBackupCandidatePairPingInterval = _iceBackupCandidatePairPingInterval;
-@synthesize keyType = _keyType;
-
-- (instancetype)init {
- if (self = [super init]) {
- // Copy defaults.
- webrtc::PeerConnectionInterface::RTCConfiguration config;
- _iceTransportsType = [RTCEnumConverter iceTransportsTypeForNativeEnum:config.type];
- _bundlePolicy = [RTCEnumConverter bundlePolicyForNativeEnum:config.bundle_policy];
- _rtcpMuxPolicy = [RTCEnumConverter rtcpMuxPolicyForNativeEnum:config.rtcp_mux_policy];
- _tcpCandidatePolicy =
- [RTCEnumConverter tcpCandidatePolicyForNativeEnum:config.tcp_candidate_policy];
- _audioJitterBufferMaxPackets = config.audio_jitter_buffer_max_packets;
- _iceConnectionReceivingTimeout = config.ice_connection_receiving_timeout;
- _iceBackupCandidatePairPingInterval = config.ice_backup_candidate_pair_ping_interval;
- _keyType = kRTCEncryptionKeyTypeECDSA;
- }
- return self;
-}
-
-- (instancetype)initWithIceTransportsType:(RTCIceTransportsType)iceTransportsType
- bundlePolicy:(RTCBundlePolicy)bundlePolicy
- rtcpMuxPolicy:(RTCRtcpMuxPolicy)rtcpMuxPolicy
- tcpCandidatePolicy:(RTCTcpCandidatePolicy)tcpCandidatePolicy
- audioJitterBufferMaxPackets:(int)audioJitterBufferMaxPackets
- iceConnectionReceivingTimeout:(int)iceConnectionReceivingTimeout
- iceBackupCandidatePairPingInterval:(int)iceBackupCandidatePairPingInterval {
- if (self = [super init]) {
- _iceTransportsType = iceTransportsType;
- _bundlePolicy = bundlePolicy;
- _rtcpMuxPolicy = rtcpMuxPolicy;
- _tcpCandidatePolicy = tcpCandidatePolicy;
- _audioJitterBufferMaxPackets = audioJitterBufferMaxPackets;
- _iceConnectionReceivingTimeout = iceConnectionReceivingTimeout;
- _iceBackupCandidatePairPingInterval = iceBackupCandidatePairPingInterval;
- }
- return self;
-}
-
-#pragma mark - Private
-
-- (webrtc::PeerConnectionInterface::RTCConfiguration *)
- createNativeConfiguration {
- std::unique_ptr<webrtc::PeerConnectionInterface::RTCConfiguration>
- nativeConfig(new webrtc::PeerConnectionInterface::RTCConfiguration());
- nativeConfig->type =
- [RTCEnumConverter nativeEnumForIceTransportsType:_iceTransportsType];
- for (RTCICEServer *iceServer : _iceServers) {
- nativeConfig->servers.push_back(iceServer.iceServer);
- }
- nativeConfig->bundle_policy =
- [RTCEnumConverter nativeEnumForBundlePolicy:_bundlePolicy];
- nativeConfig->rtcp_mux_policy =
- [RTCEnumConverter nativeEnumForRtcpMuxPolicy:_rtcpMuxPolicy];
- nativeConfig->tcp_candidate_policy =
- [RTCEnumConverter nativeEnumForTcpCandidatePolicy:_tcpCandidatePolicy];
- nativeConfig->audio_jitter_buffer_max_packets = _audioJitterBufferMaxPackets;
- nativeConfig->ice_connection_receiving_timeout =
- _iceConnectionReceivingTimeout;
- nativeConfig->ice_backup_candidate_pair_ping_interval =
- _iceBackupCandidatePairPingInterval;
- rtc::KeyType keyType =
- [[self class] nativeEncryptionKeyTypeForKeyType:_keyType];
- if (keyType != rtc::KT_DEFAULT) {
- rtc::scoped_refptr<rtc::RTCCertificate> certificate =
- rtc::RTCCertificateGenerator::GenerateCertificate(
- rtc::KeyParams(keyType), rtc::Optional<uint64_t>());
- if (!certificate) {
- RTCLogError(@"Failed to generate certificate.");
- return nullptr;
- }
- nativeConfig->certificates.push_back(certificate);
- }
- return nativeConfig.release();
-}
-
-+ (rtc::KeyType)nativeEncryptionKeyTypeForKeyType:
- (RTCEncryptionKeyType)keyType {
- switch (keyType) {
- case kRTCEncryptionKeyTypeRSA:
- return rtc::KT_RSA;
- case kRTCEncryptionKeyTypeECDSA:
- return rtc::KT_ECDSA;
- }
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCPeerConnectionObserver.h b/talk/app/webrtc/objc/RTCPeerConnectionObserver.h
deleted file mode 100644
index 0ac37b9..0000000
--- a/talk/app/webrtc/objc/RTCPeerConnectionObserver.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "webrtc/api/peerconnectioninterface.h"
-
-#import "RTCPeerConnection.h"
-#import "RTCPeerConnectionDelegate.h"
-
-// These objects are created by RTCPeerConnectionFactory to wrap an
-// id<RTCPeerConnectionDelegate> and call methods on that interface.
-
-namespace webrtc {
-
-class RTCPeerConnectionObserver : public PeerConnectionObserver {
-
- public:
- RTCPeerConnectionObserver(RTCPeerConnection* peerConnection);
- virtual ~RTCPeerConnectionObserver();
-
- // Triggered when the SignalingState changed.
- void OnSignalingChange(
- PeerConnectionInterface::SignalingState new_state) override;
-
- // Triggered when media is received on a new stream from remote peer.
- void OnAddStream(MediaStreamInterface* stream) override;
-
- // Triggered when a remote peer close a stream.
- void OnRemoveStream(MediaStreamInterface* stream) override;
-
- // Triggered when a remote peer open a data channel.
- void OnDataChannel(DataChannelInterface* data_channel) override;
-
- // Triggered when renegotiation is needed, for example the ICE has restarted.
- void OnRenegotiationNeeded() override;
-
- // Called any time the ICEConnectionState changes
- void OnIceConnectionChange(
- PeerConnectionInterface::IceConnectionState new_state) override;
-
- // Called any time the ICEGatheringState changes
- void OnIceGatheringChange(
- PeerConnectionInterface::IceGatheringState new_state) override;
-
- // New Ice candidate have been found.
- void OnIceCandidate(const IceCandidateInterface* candidate) override;
-
- private:
- __weak RTCPeerConnection* _peerConnection;
-};
-
-} // namespace webrtc
diff --git a/talk/app/webrtc/objc/RTCPeerConnectionObserver.mm b/talk/app/webrtc/objc/RTCPeerConnectionObserver.mm
deleted file mode 100644
index 411cd6c..0000000
--- a/talk/app/webrtc/objc/RTCPeerConnectionObserver.mm
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCPeerConnectionObserver.h"
-
-#import "RTCDataChannel+Internal.h"
-#import "RTCEnumConverter.h"
-#import "RTCICECandidate+Internal.h"
-#import "RTCMediaStream+Internal.h"
-
-namespace webrtc {
-
-RTCPeerConnectionObserver::RTCPeerConnectionObserver(
- RTCPeerConnection* peerConnection) {
- _peerConnection = peerConnection;
-}
-
-RTCPeerConnectionObserver::~RTCPeerConnectionObserver() {
-}
-
-void RTCPeerConnectionObserver::OnSignalingChange(
- PeerConnectionInterface::SignalingState new_state) {
- RTCSignalingState state =
- [RTCEnumConverter convertSignalingStateToObjC:new_state];
- [_peerConnection.delegate peerConnection:_peerConnection
- signalingStateChanged:state];
-}
-
-void RTCPeerConnectionObserver::OnAddStream(MediaStreamInterface* stream) {
- RTCMediaStream* mediaStream =
- [[RTCMediaStream alloc] initWithMediaStream:stream];
- [_peerConnection.delegate peerConnection:_peerConnection
- addedStream:mediaStream];
-}
-
-void RTCPeerConnectionObserver::OnRemoveStream(MediaStreamInterface* stream) {
- RTCMediaStream* mediaStream =
- [[RTCMediaStream alloc] initWithMediaStream:stream];
- [_peerConnection.delegate peerConnection:_peerConnection
- removedStream:mediaStream];
-}
-
-void RTCPeerConnectionObserver::OnDataChannel(
- DataChannelInterface* data_channel) {
- RTCDataChannel* dataChannel =
- [[RTCDataChannel alloc] initWithDataChannel:data_channel];
- [_peerConnection.delegate peerConnection:_peerConnection
- didOpenDataChannel:dataChannel];
-}
-
-void RTCPeerConnectionObserver::OnRenegotiationNeeded() {
- id<RTCPeerConnectionDelegate> delegate = _peerConnection.delegate;
- [delegate peerConnectionOnRenegotiationNeeded:_peerConnection];
-}
-
-void RTCPeerConnectionObserver::OnIceConnectionChange(
- PeerConnectionInterface::IceConnectionState new_state) {
- RTCICEConnectionState state =
- [RTCEnumConverter convertIceConnectionStateToObjC:new_state];
- [_peerConnection.delegate peerConnection:_peerConnection
- iceConnectionChanged:state];
-}
-
-void RTCPeerConnectionObserver::OnIceGatheringChange(
- PeerConnectionInterface::IceGatheringState new_state) {
- RTCICEGatheringState state =
- [RTCEnumConverter convertIceGatheringStateToObjC:new_state];
- [_peerConnection.delegate peerConnection:_peerConnection
- iceGatheringChanged:state];
-}
-
-void RTCPeerConnectionObserver::OnIceCandidate(
- const IceCandidateInterface* candidate) {
- RTCICECandidate* iceCandidate =
- [[RTCICECandidate alloc] initWithCandidate:candidate];
- [_peerConnection.delegate peerConnection:_peerConnection
- gotICECandidate:iceCandidate];
-}
-
-} // namespace webrtc
diff --git a/talk/app/webrtc/objc/RTCSessionDescription+Internal.h b/talk/app/webrtc/objc/RTCSessionDescription+Internal.h
deleted file mode 100644
index d552af1..0000000
--- a/talk/app/webrtc/objc/RTCSessionDescription+Internal.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCSessionDescription.h"
-
-#include "webrtc/api/jsep.h"
-#include "webrtc/api/webrtcsession.h"
-
-@interface RTCSessionDescription (Internal)
-
-// Caller assumes ownership of this object!
-- (webrtc::SessionDescriptionInterface *)sessionDescription;
-
-- (id)initWithSessionDescription:
- (const webrtc::SessionDescriptionInterface*)sessionDescription;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCSessionDescription.mm b/talk/app/webrtc/objc/RTCSessionDescription.mm
deleted file mode 100644
index 5d62511..0000000
--- a/talk/app/webrtc/objc/RTCSessionDescription.mm
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCSessionDescription+Internal.h"
-
-@implementation RTCSessionDescription
-
-@synthesize description = _description;
-@synthesize type = _type;
-
-- (id)initWithType:(NSString*)type sdp:(NSString*)sdp {
- if (!type || !sdp) {
- NSAssert(NO, @"nil arguments not allowed");
- return nil;
- }
- if ((self = [super init])) {
- _description = sdp;
- _type = type;
- }
- return self;
-}
-
-@end
-
-@implementation RTCSessionDescription (Internal)
-
-- (id)initWithSessionDescription:
- (const webrtc::SessionDescriptionInterface*)sessionDescription {
- if (!sessionDescription) {
- NSAssert(NO, @"nil arguments not allowed");
- self = nil;
- return nil;
- }
- if ((self = [super init])) {
- const std::string& type = sessionDescription->type();
- std::string sdp;
- if (!sessionDescription->ToString(&sdp)) {
- NSAssert(NO, @"Invalid SessionDescriptionInterface.");
- self = nil;
- } else {
- _description = @(sdp.c_str());
- _type = @(type.c_str());
- }
- }
- return self;
-}
-
-- (webrtc::SessionDescriptionInterface*)sessionDescription {
- return webrtc::CreateSessionDescription(
- [self.type UTF8String], [self.description UTF8String], NULL);
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCStatsReport+Internal.h b/talk/app/webrtc/objc/RTCStatsReport+Internal.h
deleted file mode 100644
index a595cfd..0000000
--- a/talk/app/webrtc/objc/RTCStatsReport+Internal.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCStatsReport.h"
-
-#include "webrtc/api/statstypes.h"
-
-@interface RTCStatsReport (Internal)
-
-- (instancetype)initWithStatsReport:(const webrtc::StatsReport&)statsReport;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCStatsReport.mm b/talk/app/webrtc/objc/RTCStatsReport.mm
deleted file mode 100644
index 04a3d27..0000000
--- a/talk/app/webrtc/objc/RTCStatsReport.mm
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCStatsReport+Internal.h"
-
-#import "RTCPair.h"
-
-@implementation RTCStatsReport
-
-- (NSString*)description {
- NSString* format = @"id: %@, type: %@, timestamp: %f, values: %@";
- return [NSString stringWithFormat:format,
- self.reportId,
- self.type,
- self.timestamp,
- self.values];
-}
-
-@end
-
-@implementation RTCStatsReport (Internal)
-
-- (instancetype)initWithStatsReport:(const webrtc::StatsReport&)statsReport {
- if (self = [super init]) {
- _reportId = @(statsReport.id()->ToString().c_str());
- _type = @(statsReport.TypeToString());
- _timestamp = statsReport.timestamp();
- NSMutableArray* values =
- [NSMutableArray arrayWithCapacity:statsReport.values().size()];
- for (const auto& it : statsReport.values()) {
- RTCPair* pair =
- [[RTCPair alloc] initWithKey:@(it.second->display_name())
- value:@(it.second->ToString().c_str())];
- [values addObject:pair];
- }
- _values = values;
- }
- return self;
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCVideoCapturer+Internal.h b/talk/app/webrtc/objc/RTCVideoCapturer+Internal.h
deleted file mode 100644
index 799a027..0000000
--- a/talk/app/webrtc/objc/RTCVideoCapturer+Internal.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCVideoCapturer.h"
-
-#include "webrtc/api/mediastreaminterface.h"
-
-@interface RTCVideoCapturer (Internal)
-
-- (cricket::VideoCapturer*)takeNativeCapturer;
-
-- (id)initWithCapturer:(cricket::VideoCapturer*)capturer;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCVideoCapturer.mm b/talk/app/webrtc/objc/RTCVideoCapturer.mm
deleted file mode 100644
index 39f0693..0000000
--- a/talk/app/webrtc/objc/RTCVideoCapturer.mm
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCVideoCapturer+Internal.h"
-
-#include <memory>
-
-#include "webrtc/media/base/videocapturer.h"
-#include "webrtc/media/engine/webrtcvideocapturerfactory.h"
-
-@implementation RTCVideoCapturer {
- std::unique_ptr<cricket::VideoCapturer> _capturer;
-}
-
-+ (RTCVideoCapturer*)capturerWithDeviceName:(NSString*)deviceName {
- cricket::WebRtcVideoDeviceCapturerFactory factory;
- cricket::Device device(std::string(deviceName.UTF8String), 0);
- std::unique_ptr<cricket::VideoCapturer> capturer(factory.Create(device));
- RTCVideoCapturer* rtcCapturer =
- [[RTCVideoCapturer alloc] initWithCapturer:capturer.release()];
- return rtcCapturer;
-}
-
-@end
-
-@implementation RTCVideoCapturer (Internal)
-
-- (id)initWithCapturer:(cricket::VideoCapturer*)capturer {
- if ((self = [super init])) {
- _capturer.reset(capturer);
- }
- return self;
-}
-
-- (cricket::VideoCapturer*)takeNativeCapturer {
- return _capturer.release();
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCVideoRendererAdapter.h b/talk/app/webrtc/objc/RTCVideoRendererAdapter.h
deleted file mode 100644
index 117347f..0000000
--- a/talk/app/webrtc/objc/RTCVideoRendererAdapter.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCVideoRenderer.h"
-
-#include "webrtc/api/mediastreaminterface.h"
-
-@interface RTCVideoRendererAdapter : NSObject
-
-@property(nonatomic, readonly) id<RTCVideoRenderer> videoRenderer;
-@property(nonatomic, readonly)
- rtc::VideoSinkInterface<cricket::VideoFrame> *nativeVideoRenderer;
-
-- (instancetype)initWithVideoRenderer:(id<RTCVideoRenderer>)videoRenderer;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCVideoRendererAdapter.mm b/talk/app/webrtc/objc/RTCVideoRendererAdapter.mm
deleted file mode 100644
index 97876e7..0000000
--- a/talk/app/webrtc/objc/RTCVideoRendererAdapter.mm
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCI420Frame+Internal.h"
-#import "RTCVideoRendererAdapter.h"
-
-#include <memory>
-
-namespace webrtc {
-
-class RTCVideoRendererNativeAdapter
- : public rtc::VideoSinkInterface<cricket::VideoFrame> {
- public:
- RTCVideoRendererNativeAdapter(RTCVideoRendererAdapter* adapter) {
- _adapter = adapter;
- _size = CGSizeZero;
- }
-
- void OnFrame(const cricket::VideoFrame& videoFrame) override {
- const cricket::VideoFrame* frame = videoFrame.GetCopyWithRotationApplied();
- CGSize currentSize = CGSizeMake(frame->width(), frame->height());
- if (!CGSizeEqualToSize(_size, currentSize)) {
- _size = currentSize;
- [_adapter.videoRenderer setSize:_size];
- }
- RTCI420Frame* i420Frame = [[RTCI420Frame alloc] initWithVideoFrame:frame];
- [_adapter.videoRenderer renderFrame:i420Frame];
- }
-
- private:
- __weak RTCVideoRendererAdapter* _adapter;
- CGSize _size;
-};
-}
-
-@implementation RTCVideoRendererAdapter {
- id<RTCVideoRenderer> _videoRenderer;
- std::unique_ptr<webrtc::RTCVideoRendererNativeAdapter> _adapter;
-}
-
-- (instancetype)initWithVideoRenderer:(id<RTCVideoRenderer>)videoRenderer {
- NSParameterAssert(videoRenderer);
- if (self = [super init]) {
- _videoRenderer = videoRenderer;
- _adapter.reset(new webrtc::RTCVideoRendererNativeAdapter(self));
- }
- return self;
-}
-
-- (rtc::VideoSinkInterface<cricket::VideoFrame> *)nativeVideoRenderer {
- return _adapter.get();
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCVideoSource+Internal.h b/talk/app/webrtc/objc/RTCVideoSource+Internal.h
deleted file mode 100644
index a9f9def..0000000
--- a/talk/app/webrtc/objc/RTCVideoSource+Internal.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCVideoSource.h"
-
-#include "webrtc/api/mediastreaminterface.h"
-
-@interface RTCVideoSource (Internal)
-
-@property(nonatomic, assign, readonly) rtc::scoped_refptr<webrtc::VideoTrackSourceInterface>
- videoSource;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCVideoSource.mm b/talk/app/webrtc/objc/RTCVideoSource.mm
deleted file mode 100644
index d106fe1..0000000
--- a/talk/app/webrtc/objc/RTCVideoSource.mm
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCMediaSource+Internal.h"
-#import "RTCVideoSource+Internal.h"
-
-@implementation RTCVideoSource
-@end
-
-@implementation RTCVideoSource (Internal)
-
-- (rtc::scoped_refptr<webrtc::VideoTrackSourceInterface>)videoSource {
- return static_cast<webrtc::VideoTrackSourceInterface *>(self.mediaSource.get());
-}
-
-@end
diff --git a/talk/app/webrtc/objc/RTCVideoTrack+Internal.h b/talk/app/webrtc/objc/RTCVideoTrack+Internal.h
deleted file mode 100644
index 84259ea..0000000
--- a/talk/app/webrtc/objc/RTCVideoTrack+Internal.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCVideoTrack.h"
-
-#include "webrtc/api/mediastreaminterface.h"
-#include "webrtc/api/peerconnectioninterface.h"
-
-@class RTCVideoRenderer;
-
-@interface RTCVideoTrack (Internal)
-
-@property(nonatomic, readonly)
- rtc::scoped_refptr<webrtc::VideoTrackInterface> nativeVideoTrack;
-
-@end
diff --git a/talk/app/webrtc/objc/RTCVideoTrack.mm b/talk/app/webrtc/objc/RTCVideoTrack.mm
deleted file mode 100644
index 877e92e..0000000
--- a/talk/app/webrtc/objc/RTCVideoTrack.mm
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCVideoTrack+Internal.h"
-
-#import "RTCMediaSource+Internal.h"
-#import "RTCMediaStreamTrack+Internal.h"
-#import "RTCPeerConnectionFactory+Internal.h"
-#import "RTCVideoRendererAdapter.h"
-#import "RTCVideoSource+Internal.h"
-
-@implementation RTCVideoTrack {
- NSMutableArray* _adapters;
-}
-
-@synthesize source = _source;
-
-- (instancetype)initWithFactory:(RTCPeerConnectionFactory*)factory
- source:(RTCVideoSource*)source
- trackId:(NSString*)trackId {
- NSParameterAssert(factory);
- NSParameterAssert(source);
- NSParameterAssert(trackId.length);
- rtc::scoped_refptr<webrtc::VideoTrackInterface> track =
- factory.nativeFactory->CreateVideoTrack([trackId UTF8String],
- source.videoSource);
- if (self = [super initWithMediaTrack:track]) {
- [self configure];
- _source = source;
- }
- return self;
-}
-
-- (instancetype)initWithMediaTrack:
- (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)mediaTrack {
- if (self = [super initWithMediaTrack:mediaTrack]) {
- [self configure];
- rtc::scoped_refptr<webrtc::VideoTrackSourceInterface> source =
- self.nativeVideoTrack->GetSource();
- if (source) {
- _source = [[RTCVideoSource alloc] initWithMediaSource:source.get()];
- }
- }
- return self;
-}
-
-- (void)configure {
- _adapters = [NSMutableArray array];
-}
-
-- (void)dealloc {
- for (RTCVideoRendererAdapter *adapter in _adapters) {
- self.nativeVideoTrack->RemoveSink(adapter.nativeVideoRenderer);
- }
-}
-
-- (void)addRenderer:(id<RTCVideoRenderer>)renderer {
- // Make sure we don't have this renderer yet.
- for (RTCVideoRendererAdapter* adapter in _adapters) {
- NSParameterAssert(adapter.videoRenderer != renderer);
- }
- // Create a wrapper that provides a native pointer for us.
- RTCVideoRendererAdapter* adapter =
- [[RTCVideoRendererAdapter alloc] initWithVideoRenderer:renderer];
- [_adapters addObject:adapter];
- self.nativeVideoTrack->AddOrUpdateSink(adapter.nativeVideoRenderer,
- rtc::VideoSinkWants());
-}
-
-- (void)removeRenderer:(id<RTCVideoRenderer>)renderer {
- RTCVideoRendererAdapter* adapter = nil;
- NSUInteger indexToRemove = NSNotFound;
- for (NSUInteger i = 0; i < _adapters.count; i++) {
- adapter = _adapters[i];
- if (adapter.videoRenderer == renderer) {
- indexToRemove = i;
- break;
- }
- }
- if (indexToRemove == NSNotFound) {
- return;
- }
- self.nativeVideoTrack->RemoveSink(adapter.nativeVideoRenderer);
- [_adapters removeObjectAtIndex:indexToRemove];
-}
-
-@end
-
-@implementation RTCVideoTrack (Internal)
-
-- (rtc::scoped_refptr<webrtc::VideoTrackInterface>)nativeVideoTrack {
- return static_cast<webrtc::VideoTrackInterface*>(self.mediaTrack.get());
-}
-
-@end
diff --git a/talk/app/webrtc/objc/avfoundationvideocapturer.h b/talk/app/webrtc/objc/avfoundationvideocapturer.h
deleted file mode 100644
index 8bc128d..0000000
--- a/talk/app/webrtc/objc/avfoundationvideocapturer.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef TALK_APP_WEBRTC_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
-#define TALK_APP_WEBRTC_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
-
-#include "webrtc/media/base/videocapturer.h"
-#include "webrtc/video_frame.h"
-
-#import <AVFoundation/AVFoundation.h>
-
-@class RTCAVFoundationVideoCapturerInternal;
-
-namespace rtc {
-class Thread;
-} // namespace rtc
-
-namespace webrtc {
-
-class AVFoundationVideoCapturer : public cricket::VideoCapturer,
- public rtc::MessageHandler {
- public:
- AVFoundationVideoCapturer();
- ~AVFoundationVideoCapturer();
-
- cricket::CaptureState Start(const cricket::VideoFormat& format) override;
- void Stop() override;
- bool IsRunning() override;
- bool IsScreencast() const override {
- return false;
- }
- bool GetPreferredFourccs(std::vector<uint32_t>* fourccs) override {
- fourccs->push_back(cricket::FOURCC_NV12);
- return true;
- }
-
- // Returns the active capture session. Calls to the capture session should
- // occur on the RTCDispatcherTypeCaptureSession queue in RTCDispatcher.
- AVCaptureSession* GetCaptureSession();
-
- // Returns whether the rear-facing camera can be used.
- // e.g. It can't be used because it doesn't exist.
- bool CanUseBackCamera() const;
-
- // Switches the camera being used (either front or back).
- void SetUseBackCamera(bool useBackCamera);
- bool GetUseBackCamera() const;
-
- // Converts the sample buffer into a cricket::CapturedFrame and signals the
- // frame for capture.
- void CaptureSampleBuffer(CMSampleBufferRef sampleBuffer);
-
- // Handles messages from posts.
- void OnMessage(rtc::Message *msg) override;
-
- private:
- void OnFrameMessage(CVImageBufferRef image_buffer, int64_t capture_time);
-
- RTCAVFoundationVideoCapturerInternal* _capturer;
- rtc::Thread* _startThread; // Set in Start(), unset in Stop().
-}; // AVFoundationVideoCapturer
-
-} // namespace webrtc
-
-#endif // TALK_APP_WEBRTC_OBJC_AVFOUNDATION_CAPTURER_H_
diff --git a/talk/app/webrtc/objc/avfoundationvideocapturer.mm b/talk/app/webrtc/objc/avfoundationvideocapturer.mm
deleted file mode 100644
index d525217..0000000
--- a/talk/app/webrtc/objc/avfoundationvideocapturer.mm
+++ /dev/null
@@ -1,562 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "talk/app/webrtc/objc/avfoundationvideocapturer.h"
-
-#include "webrtc/base/bind.h"
-#include "webrtc/base/checks.h"
-#include "webrtc/base/thread.h"
-
-#import <AVFoundation/AVFoundation.h>
-#import <Foundation/Foundation.h>
-#import <UIKit/UIKit.h>
-
-#import "RTCDispatcher+Private.h"
-#import "RTCLogging.h"
-
-// TODO(tkchin): support other formats.
-static NSString *const kDefaultPreset = AVCaptureSessionPreset640x480;
-static cricket::VideoFormat const kDefaultFormat =
- cricket::VideoFormat(640,
- 480,
- cricket::VideoFormat::FpsToInterval(30),
- cricket::FOURCC_NV12);
-
-// This class used to capture frames using AVFoundation APIs on iOS. It is meant
-// to be owned by an instance of AVFoundationVideoCapturer. The reason for this
-// because other webrtc objects own cricket::VideoCapturer, which is not
-// ref counted. To prevent bad behavior we do not expose this class directly.
-@interface RTCAVFoundationVideoCapturerInternal : NSObject
- <AVCaptureVideoDataOutputSampleBufferDelegate>
-
-@property(nonatomic, readonly) AVCaptureSession *captureSession;
-@property(nonatomic, readonly) BOOL isRunning;
-@property(nonatomic, readonly) BOOL canUseBackCamera;
-@property(nonatomic, assign) BOOL useBackCamera; // Defaults to NO.
-
-// We keep a pointer back to AVFoundationVideoCapturer to make callbacks on it
-// when we receive frames. This is safe because this object should be owned by
-// it.
-- (instancetype)initWithCapturer:(webrtc::AVFoundationVideoCapturer *)capturer;
-
-// Starts and stops the capture session asynchronously. We cannot do this
-// synchronously without blocking a WebRTC thread.
-- (void)start;
-- (void)stop;
-
-@end
-
-@implementation RTCAVFoundationVideoCapturerInternal {
- // Keep pointers to inputs for convenience.
- AVCaptureDeviceInput *_frontCameraInput;
- AVCaptureDeviceInput *_backCameraInput;
- AVCaptureVideoDataOutput *_videoDataOutput;
- // The cricket::VideoCapturer that owns this class. Should never be NULL.
- webrtc::AVFoundationVideoCapturer *_capturer;
- BOOL _orientationHasChanged;
-}
-
-@synthesize captureSession = _captureSession;
-@synthesize isRunning = _isRunning;
-@synthesize useBackCamera = _useBackCamera;
-
-// This is called from the thread that creates the video source, which is likely
-// the main thread.
-- (instancetype)initWithCapturer:(webrtc::AVFoundationVideoCapturer *)capturer {
- RTC_DCHECK(capturer);
- if (self = [super init]) {
- _capturer = capturer;
- // Create the capture session and all relevant inputs and outputs. We need
- // to do this in init because the application may want the capture session
- // before we start the capturer for e.g. AVCapturePreviewLayer. All objects
- // created here are retained until dealloc and never recreated.
- if (![self setupCaptureSession]) {
- return nil;
- }
- NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
- [center addObserver:self
- selector:@selector(deviceOrientationDidChange:)
- name:UIDeviceOrientationDidChangeNotification
- object:nil];
- [center addObserverForName:AVCaptureSessionRuntimeErrorNotification
- object:nil
- queue:nil
- usingBlock:^(NSNotification *notification) {
- RTCLogError(@"Capture session error: %@", notification.userInfo);
- }];
- }
- return self;
-}
-
-- (void)dealloc {
- RTC_DCHECK(!_isRunning);
- [[NSNotificationCenter defaultCenter] removeObserver:self];
- _capturer = nullptr;
-}
-
-- (AVCaptureSession *)captureSession {
- return _captureSession;
-}
-
-// Called from any thread (likely main thread).
-- (BOOL)canUseBackCamera {
- return _backCameraInput != nil;
-}
-
-// Called from any thread (likely main thread).
-- (BOOL)useBackCamera {
- @synchronized(self) {
- return _useBackCamera;
- }
-}
-
-// Called from any thread (likely main thread).
-- (void)setUseBackCamera:(BOOL)useBackCamera {
- if (!self.canUseBackCamera) {
- if (useBackCamera) {
- RTCLogWarning(@"No rear-facing camera exists or it cannot be used;"
- "not switching.");
- }
- return;
- }
- @synchronized(self) {
- if (_useBackCamera == useBackCamera) {
- return;
- }
- _useBackCamera = useBackCamera;
- [self updateSessionInputForUseBackCamera:useBackCamera];
- }
-}
-
-// Called from WebRTC thread.
-- (void)start {
- if (_isRunning) {
- return;
- }
- _isRunning = YES;
- [RTCDispatcher dispatchAsyncOnType:RTCDispatcherTypeCaptureSession
- block:^{
- _orientationHasChanged = NO;
- [self updateOrientation];
- [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
- AVCaptureSession *captureSession = self.captureSession;
- [captureSession startRunning];
- }];
-}
-
-// Called from same thread as start.
-- (void)stop {
- if (!_isRunning) {
- return;
- }
- _isRunning = NO;
- [RTCDispatcher dispatchAsyncOnType:RTCDispatcherTypeCaptureSession
- block:^{
- [_videoDataOutput setSampleBufferDelegate:nil queue:nullptr];
- [_captureSession stopRunning];
- [[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
- }];
-}
-
-#pragma mark AVCaptureVideoDataOutputSampleBufferDelegate
-
-- (void)captureOutput:(AVCaptureOutput *)captureOutput
- didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
- fromConnection:(AVCaptureConnection *)connection {
- NSParameterAssert(captureOutput == _videoDataOutput);
- if (!_isRunning) {
- return;
- }
- _capturer->CaptureSampleBuffer(sampleBuffer);
-}
-
-- (void)captureOutput:(AVCaptureOutput *)captureOutput
- didDropSampleBuffer:(CMSampleBufferRef)sampleBuffer
- fromConnection:(AVCaptureConnection *)connection {
- RTCLogError(@"Dropped sample buffer.");
-}
-
-#pragma mark - Private
-
-- (BOOL)setupCaptureSession {
- AVCaptureSession *captureSession = [[AVCaptureSession alloc] init];
-#if defined(__IPHONE_7_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0
- NSString *version = [[UIDevice currentDevice] systemVersion];
- if ([version integerValue] >= 7) {
- captureSession.usesApplicationAudioSession = NO;
- }
-#endif
- if (![captureSession canSetSessionPreset:kDefaultPreset]) {
- RTCLogError(@"Session preset unsupported.");
- return NO;
- }
- captureSession.sessionPreset = kDefaultPreset;
-
- // Add the output.
- AVCaptureVideoDataOutput *videoDataOutput = [self videoDataOutput];
- if (![captureSession canAddOutput:videoDataOutput]) {
- RTCLogError(@"Video data output unsupported.");
- return NO;
- }
- [captureSession addOutput:videoDataOutput];
-
- // Get the front and back cameras. If there isn't a front camera
- // give up.
- AVCaptureDeviceInput *frontCameraInput = [self frontCameraInput];
- AVCaptureDeviceInput *backCameraInput = [self backCameraInput];
- if (!frontCameraInput) {
- RTCLogError(@"No front camera for capture session.");
- return NO;
- }
-
- // Add the inputs.
- if (![captureSession canAddInput:frontCameraInput] ||
- (backCameraInput && ![captureSession canAddInput:backCameraInput])) {
- RTCLogError(@"Session does not support capture inputs.");
- return NO;
- }
- AVCaptureDeviceInput *input = self.useBackCamera ?
- backCameraInput : frontCameraInput;
- [captureSession addInput:input];
- _captureSession = captureSession;
- return YES;
-}
-
-- (AVCaptureVideoDataOutput *)videoDataOutput {
- if (!_videoDataOutput) {
- // Make the capturer output NV12. Ideally we want I420 but that's not
- // currently supported on iPhone / iPad.
- AVCaptureVideoDataOutput *videoDataOutput =
- [[AVCaptureVideoDataOutput alloc] init];
- videoDataOutput = [[AVCaptureVideoDataOutput alloc] init];
- videoDataOutput.videoSettings = @{
- (NSString *)kCVPixelBufferPixelFormatTypeKey :
- @(kCVPixelFormatType_420YpCbCr8BiPlanarFullRange)
- };
- videoDataOutput.alwaysDiscardsLateVideoFrames = NO;
- dispatch_queue_t queue =
- [RTCDispatcher dispatchQueueForType:RTCDispatcherTypeCaptureSession];
- [videoDataOutput setSampleBufferDelegate:self queue:queue];
- _videoDataOutput = videoDataOutput;
- }
- return _videoDataOutput;
-}
-
-- (AVCaptureDevice *)videoCaptureDeviceForPosition:
- (AVCaptureDevicePosition)position {
- for (AVCaptureDevice *captureDevice in
- [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]) {
- if (captureDevice.position == position) {
- return captureDevice;
- }
- }
- return nil;
-}
-
-- (AVCaptureDeviceInput *)frontCameraInput {
- if (!_frontCameraInput) {
- AVCaptureDevice *frontCameraDevice =
- [self videoCaptureDeviceForPosition:AVCaptureDevicePositionFront];
- if (!frontCameraDevice) {
- RTCLogWarning(@"Failed to find front capture device.");
- return nil;
- }
- NSError *error = nil;
- AVCaptureDeviceInput *frontCameraInput =
- [AVCaptureDeviceInput deviceInputWithDevice:frontCameraDevice
- error:&error];
- if (!frontCameraInput) {
- RTCLogError(@"Failed to create front camera input: %@",
- error.localizedDescription);
- return nil;
- }
- _frontCameraInput = frontCameraInput;
- }
- return _frontCameraInput;
-}
-
-- (AVCaptureDeviceInput *)backCameraInput {
- if (!_backCameraInput) {
- AVCaptureDevice *backCameraDevice =
- [self videoCaptureDeviceForPosition:AVCaptureDevicePositionBack];
- if (!backCameraDevice) {
- RTCLogWarning(@"Failed to find front capture device.");
- return nil;
- }
- NSError *error = nil;
- AVCaptureDeviceInput *backCameraInput =
- [AVCaptureDeviceInput deviceInputWithDevice:backCameraDevice
- error:&error];
- if (!backCameraInput) {
- RTCLogError(@"Failed to create front camera input: %@",
- error.localizedDescription);
- return nil;
- }
- _backCameraInput = backCameraInput;
- }
- return _backCameraInput;
-}
-
-- (void)deviceOrientationDidChange:(NSNotification *)notification {
- [RTCDispatcher dispatchAsyncOnType:RTCDispatcherTypeCaptureSession
- block:^{
- _orientationHasChanged = YES;
- [self updateOrientation];
- }];
-}
-
-// Called from capture session queue.
-- (void)updateOrientation {
- AVCaptureConnection *connection =
- [_videoDataOutput connectionWithMediaType:AVMediaTypeVideo];
- if (!connection.supportsVideoOrientation) {
- // TODO(tkchin): set rotation bit on frames.
- return;
- }
- AVCaptureVideoOrientation orientation = AVCaptureVideoOrientationPortrait;
- switch ([UIDevice currentDevice].orientation) {
- case UIDeviceOrientationPortrait:
- orientation = AVCaptureVideoOrientationPortrait;
- break;
- case UIDeviceOrientationPortraitUpsideDown:
- orientation = AVCaptureVideoOrientationPortraitUpsideDown;
- break;
- case UIDeviceOrientationLandscapeLeft:
- orientation = AVCaptureVideoOrientationLandscapeRight;
- break;
- case UIDeviceOrientationLandscapeRight:
- orientation = AVCaptureVideoOrientationLandscapeLeft;
- break;
- case UIDeviceOrientationFaceUp:
- case UIDeviceOrientationFaceDown:
- case UIDeviceOrientationUnknown:
- if (!_orientationHasChanged) {
- connection.videoOrientation = orientation;
- }
- return;
- }
- connection.videoOrientation = orientation;
-}
-
-// Update the current session input to match what's stored in _useBackCamera.
-- (void)updateSessionInputForUseBackCamera:(BOOL)useBackCamera {
- [RTCDispatcher dispatchAsyncOnType:RTCDispatcherTypeCaptureSession
- block:^{
- [_captureSession beginConfiguration];
- AVCaptureDeviceInput *oldInput = _backCameraInput;
- AVCaptureDeviceInput *newInput = _frontCameraInput;
- if (useBackCamera) {
- oldInput = _frontCameraInput;
- newInput = _backCameraInput;
- }
- if (oldInput) {
- // Ok to remove this even if it's not attached. Will be no-op.
- [_captureSession removeInput:oldInput];
- }
- if (newInput) {
- [_captureSession addInput:newInput];
- }
- [self updateOrientation];
- [_captureSession commitConfiguration];
- }];
-}
-
-@end
-
-namespace webrtc {
-
-enum AVFoundationVideoCapturerMessageType : uint32_t {
- kMessageTypeFrame,
-};
-
-struct AVFoundationFrame {
- AVFoundationFrame(CVImageBufferRef buffer, int64_t time)
- : image_buffer(buffer), capture_time(time) {}
- CVImageBufferRef image_buffer;
- int64_t capture_time;
-};
-
-AVFoundationVideoCapturer::AVFoundationVideoCapturer()
- : _capturer(nil), _startThread(nullptr) {
- // Set our supported formats. This matches kDefaultPreset.
- std::vector<cricket::VideoFormat> supportedFormats;
- supportedFormats.push_back(cricket::VideoFormat(kDefaultFormat));
- SetSupportedFormats(supportedFormats);
- _capturer =
- [[RTCAVFoundationVideoCapturerInternal alloc] initWithCapturer:this];
-}
-
-AVFoundationVideoCapturer::~AVFoundationVideoCapturer() {
- _capturer = nil;
-}
-
-cricket::CaptureState AVFoundationVideoCapturer::Start(
- const cricket::VideoFormat& format) {
- if (!_capturer) {
- LOG(LS_ERROR) << "Failed to create AVFoundation capturer.";
- return cricket::CaptureState::CS_FAILED;
- }
- if (_capturer.isRunning) {
- LOG(LS_ERROR) << "The capturer is already running.";
- return cricket::CaptureState::CS_FAILED;
- }
- if (format != kDefaultFormat) {
- LOG(LS_ERROR) << "Unsupported format provided.";
- return cricket::CaptureState::CS_FAILED;
- }
-
- // Keep track of which thread capture started on. This is the thread that
- // frames need to be sent to.
- RTC_DCHECK(!_startThread);
- _startThread = rtc::Thread::Current();
-
- SetCaptureFormat(&format);
- // This isn't super accurate because it takes a while for the AVCaptureSession
- // to spin up, and this call returns async.
- // TODO(tkchin): make this better.
- [_capturer start];
- SetCaptureState(cricket::CaptureState::CS_RUNNING);
-
- return cricket::CaptureState::CS_STARTING;
-}
-
-void AVFoundationVideoCapturer::Stop() {
- [_capturer stop];
- SetCaptureFormat(NULL);
- _startThread = nullptr;
-}
-
-bool AVFoundationVideoCapturer::IsRunning() {
- return _capturer.isRunning;
-}
-
-AVCaptureSession* AVFoundationVideoCapturer::GetCaptureSession() {
- return _capturer.captureSession;
-}
-
-bool AVFoundationVideoCapturer::CanUseBackCamera() const {
- return _capturer.canUseBackCamera;
-}
-
-void AVFoundationVideoCapturer::SetUseBackCamera(bool useBackCamera) {
- _capturer.useBackCamera = useBackCamera;
-}
-
-bool AVFoundationVideoCapturer::GetUseBackCamera() const {
- return _capturer.useBackCamera;
-}
-
-void AVFoundationVideoCapturer::CaptureSampleBuffer(
- CMSampleBufferRef sampleBuffer) {
- if (CMSampleBufferGetNumSamples(sampleBuffer) != 1 ||
- !CMSampleBufferIsValid(sampleBuffer) ||
- !CMSampleBufferDataIsReady(sampleBuffer)) {
- return;
- }
-
- CVImageBufferRef image_buffer = CMSampleBufferGetImageBuffer(sampleBuffer);
- if (image_buffer == NULL) {
- return;
- }
-
- // Retain the buffer and post it to the webrtc thread. It will be released
- // after it has successfully been signaled.
- CVBufferRetain(image_buffer);
- AVFoundationFrame frame(image_buffer, rtc::TimeNanos());
- _startThread->Post(RTC_FROM_HERE, this, kMessageTypeFrame,
- new rtc::TypedMessageData<AVFoundationFrame>(frame));
-}
-
-void AVFoundationVideoCapturer::OnMessage(rtc::Message *msg) {
- switch (msg->message_id) {
- case kMessageTypeFrame: {
- rtc::TypedMessageData<AVFoundationFrame>* data =
- static_cast<rtc::TypedMessageData<AVFoundationFrame>*>(msg->pdata);
- const AVFoundationFrame& frame = data->data();
- OnFrameMessage(frame.image_buffer, frame.capture_time);
- delete data;
- break;
- }
- }
-}
-
-void AVFoundationVideoCapturer::OnFrameMessage(CVImageBufferRef image_buffer,
- int64_t capture_time) {
- RTC_DCHECK(_startThread->IsCurrent());
-
- // Base address must be unlocked to access frame data.
- CVOptionFlags lock_flags = kCVPixelBufferLock_ReadOnly;
- CVReturn ret = CVPixelBufferLockBaseAddress(image_buffer, lock_flags);
- if (ret != kCVReturnSuccess) {
- return;
- }
-
- static size_t const kYPlaneIndex = 0;
- static size_t const kUVPlaneIndex = 1;
- uint8_t* y_plane_address =
- static_cast<uint8_t*>(CVPixelBufferGetBaseAddressOfPlane(image_buffer,
- kYPlaneIndex));
- size_t y_plane_height =
- CVPixelBufferGetHeightOfPlane(image_buffer, kYPlaneIndex);
- size_t y_plane_width =
- CVPixelBufferGetWidthOfPlane(image_buffer, kYPlaneIndex);
- size_t y_plane_bytes_per_row =
- CVPixelBufferGetBytesPerRowOfPlane(image_buffer, kYPlaneIndex);
- size_t uv_plane_height =
- CVPixelBufferGetHeightOfPlane(image_buffer, kUVPlaneIndex);
- size_t uv_plane_bytes_per_row =
- CVPixelBufferGetBytesPerRowOfPlane(image_buffer, kUVPlaneIndex);
- size_t frame_size = y_plane_bytes_per_row * y_plane_height +
- uv_plane_bytes_per_row * uv_plane_height;
-
- // Sanity check assumption that planar bytes are contiguous.
- uint8_t* uv_plane_address =
- static_cast<uint8_t*>(CVPixelBufferGetBaseAddressOfPlane(image_buffer,
- kUVPlaneIndex));
- RTC_DCHECK(uv_plane_address ==
- y_plane_address + y_plane_height * y_plane_bytes_per_row);
-
- // Stuff data into a cricket::CapturedFrame.
- cricket::CapturedFrame frame;
- frame.width = y_plane_width;
- frame.height = y_plane_height;
- frame.pixel_width = 1;
- frame.pixel_height = 1;
- frame.fourcc = static_cast<uint32_t>(cricket::FOURCC_NV12);
- frame.time_stamp = capture_time;
- frame.data = y_plane_address;
- frame.data_size = frame_size;
-
- // This will call a superclass method that will perform the frame conversion
- // to I420.
- SignalFrameCaptured(this, &frame);
-
- CVPixelBufferUnlockBaseAddress(image_buffer, lock_flags);
- CVBufferRelease(image_buffer);
-}
-
-} // namespace webrtc
diff --git a/talk/app/webrtc/objc/public/RTCAVFoundationVideoSource.h b/talk/app/webrtc/objc/public/RTCAVFoundationVideoSource.h
deleted file mode 100644
index fcc8f1f..0000000
--- a/talk/app/webrtc/objc/public/RTCAVFoundationVideoSource.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCVideoSource.h"
-
-@class AVCaptureSession;
-@class RTCMediaConstraints;
-@class RTCPeerConnectionFactory;
-
-// RTCAVFoundationVideoSource is a video source that uses
-// webrtc::AVFoundationVideoCapturer. We do not currently provide a wrapper for
-// that capturer because cricket::VideoCapturer is not ref counted and we cannot
-// guarantee its lifetime. Instead, we expose its properties through the ref
-// counted video source interface.
-@interface RTCAVFoundationVideoSource : RTCVideoSource
-
-- (instancetype)initWithFactory:(RTCPeerConnectionFactory*)factory
- constraints:(RTCMediaConstraints*)constraints;
-
-// Returns whether rear-facing camera is available for use.
-@property(nonatomic, readonly) BOOL canUseBackCamera;
-// Switches the camera being used (either front or back).
-@property(nonatomic, assign) BOOL useBackCamera;
-// Returns the active capture session.
-@property(nonatomic, readonly) AVCaptureSession* captureSession;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCAudioSource.h b/talk/app/webrtc/objc/public/RTCAudioSource.h
deleted file mode 100644
index c0d38fe..0000000
--- a/talk/app/webrtc/objc/public/RTCAudioSource.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCMediaSource.h"
-
-// RTCAudioSource is an ObjectiveC wrapper for AudioSourceInterface. It is
-// used as the source for one or more RTCAudioTrack objects.
-@interface RTCAudioSource : RTCMediaSource
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCAudioTrack.h b/talk/app/webrtc/objc/public/RTCAudioTrack.h
deleted file mode 100644
index 48c2783..0000000
--- a/talk/app/webrtc/objc/public/RTCAudioTrack.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCMediaStreamTrack.h"
-
-// RTCAudioTrack is an ObjectiveC wrapper for AudioTrackInterface.
-@interface RTCAudioTrack : RTCMediaStreamTrack
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCDataChannel.h b/talk/app/webrtc/objc/public/RTCDataChannel.h
deleted file mode 100644
index 24a46f6..0000000
--- a/talk/app/webrtc/objc/public/RTCDataChannel.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// ObjectiveC wrapper for a DataChannelInit object.
-@interface RTCDataChannelInit : NSObject
-
-// Set to YES if ordered delivery is required
-@property(nonatomic) BOOL isOrdered;
-// Max period in milliseconds in which retransmissions will be sent. After this
-// time, no more retransmissions will be sent. -1 if unset.
-@property(nonatomic) NSInteger maxRetransmitTimeMs;
-// The max number of retransmissions. -1 if unset.
-@property(nonatomic) NSInteger maxRetransmits;
-// Set to YES if the channel has been externally negotiated and we do not send
-// an in-band signalling in the form of an "open" message
-@property(nonatomic) BOOL isNegotiated;
-// The stream id, or SID, for SCTP data channels. -1 if unset.
-@property(nonatomic) NSInteger streamId;
-// Set by the application and opaque to the WebRTC implementation.
-@property(nonatomic) NSString* protocol;
-
-@end
-
-// ObjectiveC wrapper for a DataBuffer object.
-@interface RTCDataBuffer : NSObject
-
-@property(nonatomic, readonly) NSData* data;
-@property(nonatomic, readonly) BOOL isBinary;
-
-- (instancetype)initWithData:(NSData*)data isBinary:(BOOL)isBinary;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__((
- unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
-
-// Keep in sync with webrtc::DataChannelInterface::DataState
-typedef enum {
- kRTCDataChannelStateConnecting,
- kRTCDataChannelStateOpen,
- kRTCDataChannelStateClosing,
- kRTCDataChannelStateClosed
-} RTCDataChannelState;
-
-@class RTCDataChannel;
-// Protocol for receving data channel state and message events.
-@protocol RTCDataChannelDelegate<NSObject>
-
-// Called when the data channel state has changed.
-- (void)channelDidChangeState:(RTCDataChannel*)channel;
-
-// Called when a data buffer was successfully received.
-- (void)channel:(RTCDataChannel*)channel
- didReceiveMessageWithBuffer:(RTCDataBuffer*)buffer;
-
-@optional
-
-// Called when the buffered amount has changed.
-- (void)channel:(RTCDataChannel*)channel
- didChangeBufferedAmount:(NSUInteger)amount;
-
-@end
-
-// ObjectiveC wrapper for a DataChannel object.
-// See talk/app/webrtc/datachannelinterface.h
-@interface RTCDataChannel : NSObject
-
-@property(nonatomic, readonly) NSString* label;
-@property(nonatomic, readonly) BOOL isReliable;
-@property(nonatomic, readonly) BOOL isOrdered;
-@property(nonatomic, readonly) NSUInteger maxRetransmitTime;
-@property(nonatomic, readonly) NSUInteger maxRetransmits;
-@property(nonatomic, readonly) NSString* protocol;
-@property(nonatomic, readonly) BOOL isNegotiated;
-@property(nonatomic, readonly) NSInteger streamId;
-@property(nonatomic, readonly) RTCDataChannelState state;
-@property(nonatomic, readonly) NSUInteger bufferedAmount;
-@property(nonatomic, weak) id<RTCDataChannelDelegate> delegate;
-
-- (void)close;
-- (BOOL)sendData:(RTCDataBuffer*)data;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__((
- unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCEAGLVideoView.h b/talk/app/webrtc/objc/public/RTCEAGLVideoView.h
deleted file mode 100644
index 32c834a..0000000
--- a/talk/app/webrtc/objc/public/RTCEAGLVideoView.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#import <UIKit/UIKit.h>
-
-#import "RTCVideoRenderer.h"
-
-@class RTCEAGLVideoView;
-@protocol RTCEAGLVideoViewDelegate
-
-- (void)videoView:(RTCEAGLVideoView*)videoView didChangeVideoSize:(CGSize)size;
-
-@end
-
-// RTCEAGLVideoView is an RTCVideoRenderer which renders i420 frames in its
-// bounds using OpenGLES 2.0.
-@interface RTCEAGLVideoView : UIView <RTCVideoRenderer>
-
-@property(nonatomic, weak) id<RTCEAGLVideoViewDelegate> delegate;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCFileLogger.h b/talk/app/webrtc/objc/public/RTCFileLogger.h
deleted file mode 100644
index af43f8a..0000000
--- a/talk/app/webrtc/objc/public/RTCFileLogger.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// TODO(tkchin): Move this to a common location.
-#ifndef NS_DESIGNATED_INITIALIZER
-#define NS_DESIGNATED_INITIALIZER
-#endif
-
-typedef NS_ENUM(NSUInteger, RTCFileLoggerSeverity) {
- kRTCFileLoggerSeverityVerbose,
- kRTCFileLoggerSeverityInfo,
- kRTCFileLoggerSeverityWarning,
- kRTCFileLoggerSeverityError
-};
-
-typedef NS_ENUM(NSUInteger, RTCFileLoggerRotationType) {
- kRTCFileLoggerTypeCall,
- kRTCFileLoggerTypeApp,
-};
-
-// This class intercepts WebRTC logs and saves them to a file. The file size
-// will not exceed the given maximum bytesize. When the maximum bytesize is
-// reached, logs are rotated according to the rotationType specified.
-// For kRTCFileLoggerTypeCall, logs from the beginning and the end
-// are preserved while the middle section is overwritten instead.
-// For kRTCFileLoggerTypeApp, the oldest log is overwritten.
-// This class is not threadsafe.
-@interface RTCFileLogger : NSObject
-
-// The severity level to capture. The default is kRTCFileLoggerSeverityInfo.
-@property(nonatomic, assign) RTCFileLoggerSeverity severity;
-
-// The rotation type for this file logger. The default is
-// kRTCFileLoggerTypeCall.
-@property(nonatomic, readonly) RTCFileLoggerRotationType rotationType;
-
-// Disables buffering disk writes. Should be set before |start|. Buffering
-// is enabled by default for performance.
-@property(nonatomic, assign) BOOL shouldDisableBuffering;
-
-// Default constructor provides default settings for dir path, file size and
-// rotation type.
-- (instancetype)init;
-
-// Create file logger with default rotation type.
-- (instancetype)initWithDirPath:(NSString *)dirPath
- maxFileSize:(NSUInteger)maxFileSize;
-
-- (instancetype)initWithDirPath:(NSString *)dirPath
- maxFileSize:(NSUInteger)maxFileSize
- rotationType:(RTCFileLoggerRotationType)rotationType
- NS_DESIGNATED_INITIALIZER;
-
-// Starts writing WebRTC logs to disk if not already started. Overwrites any
-// existing file(s).
-- (void)start;
-
-// Stops writing WebRTC logs to disk. This method is also called on dealloc.
-- (void)stop;
-
-// Returns the current contents of the logs, or nil if start has been called
-// without a stop.
-- (NSData *)logData;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCI420Frame.h b/talk/app/webrtc/objc/public/RTCI420Frame.h
deleted file mode 100644
index 1d145ee..0000000
--- a/talk/app/webrtc/objc/public/RTCI420Frame.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// RTCI420Frame is an ObjectiveC version of cricket::VideoFrame.
-// TODO(nisse): It appears it doesn't support any VideoFrame methods,
-// so let it wrap an webrtc::VideoFrameBuffer instead?
-@interface RTCI420Frame : NSObject
-
-@property(nonatomic, readonly) NSUInteger width;
-@property(nonatomic, readonly) NSUInteger height;
-@property(nonatomic, readonly) NSUInteger chromaWidth;
-@property(nonatomic, readonly) NSUInteger chromaHeight;
-// These can return NULL if the object is not backed by a buffer.
-@property(nonatomic, readonly) const uint8_t* yPlane;
-@property(nonatomic, readonly) const uint8_t* uPlane;
-@property(nonatomic, readonly) const uint8_t* vPlane;
-@property(nonatomic, readonly) NSInteger yPitch;
-@property(nonatomic, readonly) NSInteger uPitch;
-@property(nonatomic, readonly) NSInteger vPitch;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__((
- unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCICECandidate.h b/talk/app/webrtc/objc/public/RTCICECandidate.h
deleted file mode 100644
index 25e4fe2..0000000
--- a/talk/app/webrtc/objc/public/RTCICECandidate.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// RTCICECandidate contains an instance of ICECandidateInterface.
-@interface RTCICECandidate : NSObject
-
-// If present, this contains the identifier of the "media stream
-// identification" as defined in [RFC 3388] for m-line this candidate is
-// associated with.
-@property(nonatomic, copy, readonly) NSString* sdpMid;
-
-// This indicates the index (starting at zero) of m-line in the SDP this
-// candidate is associated with.
-@property(nonatomic, assign, readonly) NSInteger sdpMLineIndex;
-
-// Creates an SDP-ized form of this candidate.
-@property(nonatomic, copy, readonly) NSString* sdp;
-
-// Creates an ICECandidateInterface based on SDP string.
-- (id)initWithMid:(NSString*)sdpMid
- index:(NSInteger)sdpMLineIndex
- sdp:(NSString*)sdp;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__((
- unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCICEServer.h b/talk/app/webrtc/objc/public/RTCICEServer.h
deleted file mode 100644
index 35acf0d..0000000
--- a/talk/app/webrtc/objc/public/RTCICEServer.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// RTCICEServer allows for the creation of ICEServer structs.
-@interface RTCICEServer : NSObject
-
-// The server URI, username, and password.
-@property(nonatomic, strong, readonly) NSURL* URI;
-@property(nonatomic, copy, readonly) NSString* username;
-@property(nonatomic, copy, readonly) NSString* password;
-
-// Initializer for RTCICEServer taking uri, username, and password.
-- (id)initWithURI:(NSURL*)URI
- username:(NSString*)username
- password:(NSString*)password;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__((
- unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCLogging.h b/talk/app/webrtc/objc/public/RTCLogging.h
deleted file mode 100644
index bcd160d..0000000
--- a/talk/app/webrtc/objc/public/RTCLogging.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// Subset of rtc::LoggingSeverity.
-typedef NS_ENUM(NSInteger, RTCLoggingSeverity) {
- kRTCLoggingSeverityVerbose,
- kRTCLoggingSeverityInfo,
- kRTCLoggingSeverityWarning,
- kRTCLoggingSeverityError,
-};
-
-#if defined(__cplusplus)
-extern "C" void RTCLogEx(RTCLoggingSeverity severity, NSString* logString);
-extern "C" void RTCSetMinDebugLogLevel(RTCLoggingSeverity severity);
-extern "C" NSString* RTCFileName(const char* filePath);
-#else
-
-// Wrapper for C++ LOG(sev) macros.
-// Logs the log string to the webrtc logstream for the given severity.
-extern void RTCLogEx(RTCLoggingSeverity severity, NSString* logString);
-
-// Wrapper for rtc::LogMessage::LogToDebug.
-// Sets the minimum severity to be logged to console.
-extern void RTCSetMinDebugLogLevel(RTCLoggingSeverity severity);
-
-// Returns the filename with the path prefix removed.
-extern NSString* RTCFileName(const char* filePath);
-
-#endif
-
-// Some convenience macros.
-
-#define RTCLogString(format, ...) \
- [NSString stringWithFormat:@"(%@:%d %s): " format, \
- RTCFileName(__FILE__), \
- __LINE__, \
- __FUNCTION__, \
- ##__VA_ARGS__]
-
-#define RTCLogFormat(severity, format, ...) \
- do { \
- NSString *logString = RTCLogString(format, ##__VA_ARGS__); \
- RTCLogEx(severity, logString); \
- } while (false)
-
-#define RTCLogVerbose(format, ...) \
- RTCLogFormat(kRTCLoggingSeverityVerbose, format, ##__VA_ARGS__) \
-
-#define RTCLogInfo(format, ...) \
- RTCLogFormat(kRTCLoggingSeverityInfo, format, ##__VA_ARGS__) \
-
-#define RTCLogWarning(format, ...) \
- RTCLogFormat(kRTCLoggingSeverityWarning, format, ##__VA_ARGS__) \
-
-#define RTCLogError(format, ...) \
- RTCLogFormat(kRTCLoggingSeverityError, format, ##__VA_ARGS__) \
-
-#if !defined(NDEBUG)
-#define RTCLogDebug(format, ...) RTCLogInfo(format, ##__VA_ARGS__)
-#else
-#define RTCLogDebug(format, ...) \
- do { \
- } while (false)
-#endif
-
-#define RTCLog(format, ...) RTCLogInfo(format, ##__VA_ARGS__)
diff --git a/talk/app/webrtc/objc/public/RTCMediaConstraints.h b/talk/app/webrtc/objc/public/RTCMediaConstraints.h
deleted file mode 100644
index 425150a..0000000
--- a/talk/app/webrtc/objc/public/RTCMediaConstraints.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// RTCMediaConstraints contains the media constraints to be used in
-// RTCPeerConnection and RTCMediaStream.
-@interface RTCMediaConstraints : NSObject
-
-// Initializer for RTCMediaConstraints. The parameters mandatory and optional
-// contain RTCPair objects with key/value for each constrant.
-- (id)initWithMandatoryConstraints:(NSArray *)mandatory
- optionalConstraints:(NSArray *)optional;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCMediaSource.h b/talk/app/webrtc/objc/public/RTCMediaSource.h
deleted file mode 100644
index 164d85d..0000000
--- a/talk/app/webrtc/objc/public/RTCMediaSource.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "RTCTypes.h"
-
-// RTCMediaSource is an ObjectiveC wrapper for MediaSourceInterface
-@interface RTCMediaSource : NSObject
-
-// The current state of the RTCMediaSource.
-@property(nonatomic, assign, readonly) RTCSourceState state;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__((
- unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCMediaStream.h b/talk/app/webrtc/objc/public/RTCMediaStream.h
deleted file mode 100644
index 40a63ee..0000000
--- a/talk/app/webrtc/objc/public/RTCMediaStream.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-@class RTCAudioTrack;
-@class RTCVideoTrack;
-
-// RTCMediaStream is an ObjectiveC wrapper for MediaStreamInterface.
-@interface RTCMediaStream : NSObject
-
-@property(nonatomic, strong, readonly) NSArray *audioTracks;
-@property(nonatomic, strong, readonly) NSArray *videoTracks;
-@property(nonatomic, strong, readonly) NSString *label;
-
-- (BOOL)addAudioTrack:(RTCAudioTrack *)track;
-- (BOOL)addVideoTrack:(RTCVideoTrack *)track;
-- (BOOL)removeAudioTrack:(RTCAudioTrack *)track;
-- (BOOL)removeVideoTrack:(RTCVideoTrack *)track;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCMediaStreamTrack.h b/talk/app/webrtc/objc/public/RTCMediaStreamTrack.h
deleted file mode 100644
index 052389f..0000000
--- a/talk/app/webrtc/objc/public/RTCMediaStreamTrack.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "RTCTypes.h"
-
-@class RTCMediaStreamTrack;
-@protocol RTCMediaStreamTrackDelegate<NSObject>
-
-- (void)mediaStreamTrackDidChange:(RTCMediaStreamTrack*)mediaStreamTrack;
-
-@end
-
-// RTCMediaStreamTrack implements the interface common to RTCAudioTrack and
-// RTCVideoTrack. Do not create an instance of this class, rather create one
-// of the derived classes.
-@interface RTCMediaStreamTrack : NSObject
-
-@property(nonatomic, readonly) NSString* kind;
-@property(nonatomic, readonly) NSString* label;
-@property(nonatomic, weak) id<RTCMediaStreamTrackDelegate> delegate;
-
-- (BOOL)isEnabled;
-- (BOOL)setEnabled:(BOOL)enabled;
-- (RTCTrackState)state;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCNSGLVideoView.h b/talk/app/webrtc/objc/public/RTCNSGLVideoView.h
deleted file mode 100644
index 2f07239..0000000
--- a/talk/app/webrtc/objc/public/RTCNSGLVideoView.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if TARGET_OS_IPHONE
-#error "This file targets OSX."
-#endif
-
-#import <AppKit/NSOpenGLView.h>
-
-#import "RTCVideoRenderer.h"
-
-@class RTCNSGLVideoView;
-@protocol RTCNSGLVideoViewDelegate
-
-- (void)videoView:(RTCNSGLVideoView*)videoView didChangeVideoSize:(CGSize)size;
-
-@end
-
-@interface RTCNSGLVideoView : NSOpenGLView <RTCVideoRenderer>
-
-@property(nonatomic, weak) id<RTCNSGLVideoViewDelegate> delegate;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCOpenGLVideoRenderer.h b/talk/app/webrtc/objc/public/RTCOpenGLVideoRenderer.h
deleted file mode 100644
index 7789304..0000000
--- a/talk/app/webrtc/objc/public/RTCOpenGLVideoRenderer.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#if TARGET_OS_IPHONE
-#import <GLKit/GLKit.h>
-#else
-#import <AppKit/NSOpenGL.h>
-#endif
-
-@class RTCI420Frame;
-
-// RTCOpenGLVideoRenderer issues appropriate OpenGL commands to draw a frame to
-// the currently bound framebuffer. Supports OpenGL 3.2 and OpenGLES 2.0. OpenGL
-// framebuffer creation and management should be handled elsewhere using the
-// same context used to initialize this class.
-@interface RTCOpenGLVideoRenderer : NSObject
-
-// The last successfully drawn frame. Used to avoid drawing frames unnecessarily
-// hence saving battery life by reducing load.
-@property(nonatomic, readonly) RTCI420Frame* lastDrawnFrame;
-
-#if TARGET_OS_IPHONE
-- (instancetype)initWithContext:(EAGLContext*)context;
-#else
-- (instancetype)initWithContext:(NSOpenGLContext*)context;
-#endif
-
-// Draws |frame| onto the currently bound OpenGL framebuffer. |setupGL| must be
-// called before this function will succeed.
-- (BOOL)drawFrame:(RTCI420Frame*)frame;
-
-// The following methods are used to manage OpenGL resources. On iOS
-// applications should release resources when placed in background for use in
-// the foreground application. In fact, attempting to call OpenGLES commands
-// while in background will result in application termination.
-
-// Sets up the OpenGL state needed for rendering.
-- (void)setupGL;
-// Tears down the OpenGL state created by |setupGL|.
-- (void)teardownGL;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__((
- unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCPair.h b/talk/app/webrtc/objc/public/RTCPair.h
deleted file mode 100644
index 51d20e7..0000000
--- a/talk/app/webrtc/objc/public/RTCPair.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// A class to hold a key and value.
-@interface RTCPair : NSObject
-
-@property(nonatomic, strong, readonly) NSString *key;
-@property(nonatomic, strong, readonly) NSString *value;
-
-// Initialize a RTCPair object with a key and value.
-- (id)initWithKey:(NSString *)key value:(NSString *)value;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCPeerConnection.h b/talk/app/webrtc/objc/public/RTCPeerConnection.h
deleted file mode 100644
index a13ed3e..0000000
--- a/talk/app/webrtc/objc/public/RTCPeerConnection.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCPeerConnectionDelegate.h"
-
-@class RTCConfiguration;
-@class RTCDataChannel;
-@class RTCDataChannelInit;
-@class RTCICECandidate;
-@class RTCICEServers;
-@class RTCMediaConstraints;
-@class RTCMediaStream;
-@class RTCMediaStreamTrack;
-@class RTCSessionDescription;
-@protocol RTCSessionDescriptionDelegate;
-@protocol RTCStatsDelegate;
-
-// RTCPeerConnection is an ObjectiveC friendly wrapper around a PeerConnection
-// object. See the documentation in talk/app/webrtc/peerconnectioninterface.h.
-// or http://www.webrtc.org/reference/native-apis, which in turn is inspired by
-// the JS APIs: http://dev.w3.org/2011/webrtc/editor/webrtc.html and
-// http://www.w3.org/TR/mediacapture-streams/
-@interface RTCPeerConnection : NSObject
-
-@property(nonatomic, weak) id<RTCPeerConnectionDelegate> delegate;
-
-// Accessor methods to active local streams.
-@property(nonatomic, strong, readonly) NSArray *localStreams;
-
-// The local description.
-@property(nonatomic, assign, readonly) RTCSessionDescription *localDescription;
-
-// The remote description.
-@property(nonatomic, assign, readonly) RTCSessionDescription *remoteDescription;
-
-// The current signaling state.
-@property(nonatomic, assign, readonly) RTCSignalingState signalingState;
-@property(nonatomic, assign, readonly) RTCICEConnectionState iceConnectionState;
-@property(nonatomic, assign, readonly) RTCICEGatheringState iceGatheringState;
-
-// Add a new MediaStream to be sent on this PeerConnection.
-// Note that a SessionDescription negotiation is needed before the
-// remote peer can receive the stream.
-- (BOOL)addStream:(RTCMediaStream *)stream;
-
-// Remove a MediaStream from this PeerConnection.
-// Note that a SessionDescription negotiation is need before the
-// remote peer is notified.
-- (void)removeStream:(RTCMediaStream *)stream;
-
-// Create a data channel.
-- (RTCDataChannel*)createDataChannelWithLabel:(NSString*)label
- config:(RTCDataChannelInit*)config;
-
-// Create a new offer.
-// Success or failure will be reported via RTCSessionDescriptionDelegate.
-- (void)createOfferWithDelegate:(id<RTCSessionDescriptionDelegate>)delegate
- constraints:(RTCMediaConstraints *)constraints;
-
-// Create an answer to an offer.
-// Success or failure will be reported via RTCSessionDescriptionDelegate.
-- (void)createAnswerWithDelegate:(id<RTCSessionDescriptionDelegate>)delegate
- constraints:(RTCMediaConstraints *)constraints;
-
-// Sets the local session description.
-// Success or failure will be reported via RTCSessionDescriptionDelegate.
-- (void)
- setLocalDescriptionWithDelegate:(id<RTCSessionDescriptionDelegate>)delegate
- sessionDescription:(RTCSessionDescription *)sdp;
-
-// Sets the remote session description.
-// Success or failure will be reported via RTCSessionDescriptionDelegate.
-- (void)
- setRemoteDescriptionWithDelegate:(id<RTCSessionDescriptionDelegate>)delegate
- sessionDescription:(RTCSessionDescription *)sdp;
-
-// Sets the PeerConnection's global configuration to |configuration|.
-// Any changes to STUN/TURN servers or ICE candidate policy will affect the
-// next gathering phase, and cause the next call to createOffer to generate
-// new ICE credentials. Note that the BUNDLE and RTCP-multiplexing policies
-// cannot be changed with this method.
-- (BOOL)setConfiguration:(RTCConfiguration *)configuration;
-
-// Provides a remote candidate to the ICE Agent.
-- (BOOL)addICECandidate:(RTCICECandidate *)candidate;
-
-// Terminates all media and closes the transport.
-- (void)close;
-
-// Gets statistics for the media track. If |mediaStreamTrack| is nil statistics
-// are gathered for all tracks.
-// Statistics information will be reported via RTCStatsDelegate.
-- (BOOL)getStatsWithDelegate:(id<RTCStatsDelegate>)delegate
- mediaStreamTrack:(RTCMediaStreamTrack*)mediaStreamTrack
- statsOutputLevel:(RTCStatsOutputLevel)statsOutputLevel;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCPeerConnectionDelegate.h b/talk/app/webrtc/objc/public/RTCPeerConnectionDelegate.h
deleted file mode 100644
index bf0c231..0000000
--- a/talk/app/webrtc/objc/public/RTCPeerConnectionDelegate.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "RTCTypes.h"
-
-@class RTCDataChannel;
-@class RTCICECandidate;
-@class RTCMediaStream;
-@class RTCPeerConnection;
-
-// RTCPeerConnectionDelegate is a protocol for an object that must be
-// implemented to get messages from PeerConnection.
-@protocol RTCPeerConnectionDelegate<NSObject>
-
-// Triggered when the SignalingState changed.
-- (void)peerConnection:(RTCPeerConnection *)peerConnection
- signalingStateChanged:(RTCSignalingState)stateChanged;
-
-// Triggered when media is received on a new stream from remote peer.
-- (void)peerConnection:(RTCPeerConnection *)peerConnection
- addedStream:(RTCMediaStream *)stream;
-
-// Triggered when a remote peer close a stream.
-- (void)peerConnection:(RTCPeerConnection *)peerConnection
- removedStream:(RTCMediaStream *)stream;
-
-// Triggered when renegotiation is needed, for example the ICE has restarted.
-- (void)peerConnectionOnRenegotiationNeeded:(RTCPeerConnection *)peerConnection;
-
-// Called any time the ICEConnectionState changes.
-- (void)peerConnection:(RTCPeerConnection *)peerConnection
- iceConnectionChanged:(RTCICEConnectionState)newState;
-
-// Called any time the ICEGatheringState changes.
-- (void)peerConnection:(RTCPeerConnection *)peerConnection
- iceGatheringChanged:(RTCICEGatheringState)newState;
-
-// New Ice candidate have been found.
-- (void)peerConnection:(RTCPeerConnection *)peerConnection
- gotICECandidate:(RTCICECandidate *)candidate;
-
-// New data channel has been opened.
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- didOpenDataChannel:(RTCDataChannel*)dataChannel;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCPeerConnectionFactory.h b/talk/app/webrtc/objc/public/RTCPeerConnectionFactory.h
deleted file mode 100644
index e1e69b4..0000000
--- a/talk/app/webrtc/objc/public/RTCPeerConnectionFactory.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-@class RTCAudioTrack;
-@class RTCConfiguration;
-@class RTCMediaConstraints;
-@class RTCMediaStream;
-@class RTCPeerConnection;
-@class RTCVideoCapturer;
-@class RTCVideoSource;
-@class RTCVideoTrack;
-@protocol RTCPeerConnectionDelegate;
-
-// RTCPeerConnectionFactory is an ObjectiveC wrapper for PeerConnectionFactory.
-// It is the main entry point to the PeerConnection API for clients.
-@interface RTCPeerConnectionFactory : NSObject
-
-// Initialize & de-initialize the SSL subsystem. Failure is fatal.
-+ (void)initializeSSL;
-+ (void)deinitializeSSL;
-
-// Create an RTCPeerConnection object. RTCPeerConnectionFactory will create
-// required libjingle threads, socket and network manager factory classes for
-// networking.
-- (RTCPeerConnection *)
- peerConnectionWithICEServers:(NSArray *)servers
- constraints:(RTCMediaConstraints *)constraints
- delegate:(id<RTCPeerConnectionDelegate>)delegate;
-
-// Creates a peer connection using the default port allocator factory and identity service.
-- (RTCPeerConnection *)peerConnectionWithConfiguration:(RTCConfiguration *)configuration
- constraints:(RTCMediaConstraints *)constraints
- delegate:(id<RTCPeerConnectionDelegate>)delegate;
-
-// Create an RTCMediaStream named |label|.
-- (RTCMediaStream *)mediaStreamWithLabel:(NSString *)label;
-
-// Creates a RTCVideoSource. The new source takes ownership of |capturer|.
-// |constraints| decides video resolution and frame rate but can be NULL.
-- (RTCVideoSource *)videoSourceWithCapturer:(RTCVideoCapturer *)capturer
- constraints:(RTCMediaConstraints *)constraints;
-
-// Creates a new local VideoTrack. The same |source| can be used in several
-// tracks.
-- (RTCVideoTrack *)videoTrackWithID:(NSString *)videoId
- source:(RTCVideoSource *)source;
-
-// Creates an new AudioTrack.
-- (RTCAudioTrack *)audioTrackWithID:(NSString *)audioId;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCPeerConnectionInterface.h b/talk/app/webrtc/objc/public/RTCPeerConnectionInterface.h
deleted file mode 100644
index 1bab99a..0000000
--- a/talk/app/webrtc/objc/public/RTCPeerConnectionInterface.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * libjingle
- * Copyright 2015 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// See talk/app/webrtc/peerconnectioninterface.h.
-
-#import <Foundation/Foundation.h>
-
-typedef NS_ENUM(NSInteger, RTCIceTransportsType) {
- kRTCIceTransportsTypeNone,
- kRTCIceTransportsTypeRelay,
- kRTCIceTransportsTypeNoHost,
- kRTCIceTransportsTypeAll,
-};
-
-// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-08#section-4.1.1
-typedef NS_ENUM(NSInteger, RTCBundlePolicy) {
- kRTCBundlePolicyBalanced,
- kRTCBundlePolicyMaxBundle,
- kRTCBundlePolicyMaxCompat,
-};
-
-// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-09#section-4.1.1
-typedef NS_ENUM(NSInteger, RTCRtcpMuxPolicy) {
- kRTCRtcpMuxPolicyNegotiate,
- kRTCRtcpMuxPolicyRequire,
-};
-
-typedef NS_ENUM(NSInteger, RTCTcpCandidatePolicy) {
- kRTCTcpCandidatePolicyEnabled,
- kRTCTcpCandidatePolicyDisabled,
-};
-
-typedef NS_ENUM(NSInteger, RTCEncryptionKeyType) {
- kRTCEncryptionKeyTypeRSA,
- kRTCEncryptionKeyTypeECDSA,
-};
-
-// Configuration object used for creating a peer connection.
-@interface RTCConfiguration : NSObject
-
-@property(nonatomic, assign) RTCIceTransportsType iceTransportsType;
-@property(nonatomic, copy) NSArray *iceServers;
-@property(nonatomic, assign) RTCBundlePolicy bundlePolicy;
-@property(nonatomic, assign) RTCRtcpMuxPolicy rtcpMuxPolicy;
-@property(nonatomic, assign) RTCTcpCandidatePolicy tcpCandidatePolicy;
-@property(nonatomic, assign) int audioJitterBufferMaxPackets;
-@property(nonatomic, assign) int iceConnectionReceivingTimeout;
-@property(nonatomic, assign) int iceBackupCandidatePairPingInterval;
-@property(nonatomic, assign) RTCEncryptionKeyType keyType;
-
-- (instancetype)initWithIceTransportsType:(RTCIceTransportsType)iceTransportsType
- bundlePolicy:(RTCBundlePolicy)bundlePolicy
- rtcpMuxPolicy:(RTCRtcpMuxPolicy)rtcpMuxPolicy
- tcpCandidatePolicy:(RTCTcpCandidatePolicy)tcpCandidatePolicy
- audioJitterBufferMaxPackets:(int)audioJitterBufferMaxPackets
- iceConnectionReceivingTimeout:(int)iceConnectionReceivingTimeout
- iceBackupCandidatePairPingInterval:(int)iceBackupCandidatePairPingInterval;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCSessionDescription.h b/talk/app/webrtc/objc/public/RTCSessionDescription.h
deleted file mode 100644
index e3db21c..0000000
--- a/talk/app/webrtc/objc/public/RTCSessionDescription.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// Description of an RFC 4566 Session.
-// RTCSessionDescription is an ObjectiveC wrapper for
-// SessionDescriptionInterface.
-@interface RTCSessionDescription : NSObject
-
-// The SDP description.
-@property(nonatomic, copy, readonly) NSString *description;
-
-// The session type.
-@property(nonatomic, copy, readonly) NSString *type;
-
-- (id)initWithType:(NSString *)type sdp:(NSString *)sdp;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
-
diff --git a/talk/app/webrtc/objc/public/RTCSessionDescriptionDelegate.h b/talk/app/webrtc/objc/public/RTCSessionDescriptionDelegate.h
deleted file mode 100644
index 2fb0af9..0000000
--- a/talk/app/webrtc/objc/public/RTCSessionDescriptionDelegate.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-@class RTCPeerConnection;
-@class RTCSessionDescription;
-
-extern NSString* const kRTCSessionDescriptionDelegateErrorDomain;
-extern int const kRTCSessionDescriptionDelegateErrorCode;
-
-// RTCSessionDescriptionDelegate is a protocol for listening to callback
-// messages when RTCSessionDescriptions are created or set.
-@protocol RTCSessionDescriptionDelegate<NSObject>
-
-// Called when creating a session.
-- (void)peerConnection:(RTCPeerConnection *)peerConnection
- didCreateSessionDescription:(RTCSessionDescription *)sdp
- error:(NSError *)error;
-
-// Called when setting a local or remote description.
-- (void)peerConnection:(RTCPeerConnection *)peerConnection
- didSetSessionDescriptionWithError:(NSError *)error;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCStatsDelegate.h b/talk/app/webrtc/objc/public/RTCStatsDelegate.h
deleted file mode 100644
index 54e8e56..0000000
--- a/talk/app/webrtc/objc/public/RTCStatsDelegate.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-@class RTCPeerConnection;
-
-// RTCSessionDescriptionDelegate is a protocol for receiving statistic
-// reports from RTCPeerConnection.
-@protocol RTCStatsDelegate<NSObject>
-
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- didGetStats:(NSArray*)stats; // NSArray of RTCStatsReport*.
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCStatsReport.h b/talk/app/webrtc/objc/public/RTCStatsReport.h
deleted file mode 100644
index 691c1aa..0000000
--- a/talk/app/webrtc/objc/public/RTCStatsReport.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// ObjectiveC friendly wrapper around a StatsReport object.
-// See talk/app/webrtc/statsypes.h
-@interface RTCStatsReport : NSObject
-
-@property(nonatomic, readonly) NSString* reportId;
-@property(nonatomic, readonly) NSString* type;
-@property(nonatomic, readonly) CFTimeInterval timestamp;
-@property(nonatomic, readonly) NSArray* values; // NSArray of RTCPair*.
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__((
- unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCTypes.h b/talk/app/webrtc/objc/public/RTCTypes.h
deleted file mode 100644
index 1baa4b5..0000000
--- a/talk/app/webrtc/objc/public/RTCTypes.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// Enums that are common to the ObjectiveC version of the PeerConnection API.
-
-// RTCICEConnectionState correspond to the states in webrtc::ICEConnectionState.
-typedef enum {
- RTCICEConnectionNew,
- RTCICEConnectionChecking,
- RTCICEConnectionConnected,
- RTCICEConnectionCompleted,
- RTCICEConnectionFailed,
- RTCICEConnectionDisconnected,
- RTCICEConnectionClosed,
- RTCICEConnectionMax,
-} RTCICEConnectionState;
-
-// RTCICEGatheringState the states in webrtc::ICEGatheringState.
-typedef enum {
- RTCICEGatheringNew,
- RTCICEGatheringGathering,
- RTCICEGatheringComplete,
-} RTCICEGatheringState;
-
-// RTCSignalingState correspond to the states in webrtc::SignalingState.
-typedef enum {
- RTCSignalingStable,
- RTCSignalingHaveLocalOffer,
- RTCSignalingHaveLocalPrAnswer,
- RTCSignalingHaveRemoteOffer,
- RTCSignalingHaveRemotePrAnswer,
- RTCSignalingClosed,
-} RTCSignalingState;
-
-// RTCStatsOutputLevel correspond to webrtc::StatsOutputLevel
-typedef enum {
- RTCStatsOutputLevelStandard,
- RTCStatsOutputLevelDebug,
-} RTCStatsOutputLevel;
-
-// RTCSourceState corresponds to the states in webrtc::SourceState.
-typedef enum {
- RTCSourceStateInitializing,
- RTCSourceStateLive,
- RTCSourceStateEnded,
- RTCSourceStateMuted,
-} RTCSourceState;
-
-// RTCTrackState corresponds to the states in webrtc::TrackState.
-typedef enum {
- RTCTrackStateLive,
- RTCTrackStateEnded,
-} RTCTrackState;
diff --git a/talk/app/webrtc/objc/public/RTCVideoCapturer.h b/talk/app/webrtc/objc/public/RTCVideoCapturer.h
deleted file mode 100644
index d07c091..0000000
--- a/talk/app/webrtc/objc/public/RTCVideoCapturer.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-// RTCVideoCapturer is an ObjectiveC wrapper for VideoCapturerInterface.
-@interface RTCVideoCapturer : NSObject
-
-// Create a new video capturer using the specified device.
-+ (RTCVideoCapturer *)capturerWithDeviceName:(NSString *)deviceName;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCVideoRenderer.h b/talk/app/webrtc/objc/public/RTCVideoRenderer.h
deleted file mode 100644
index c837b1c..0000000
--- a/talk/app/webrtc/objc/public/RTCVideoRenderer.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#if TARGET_OS_IPHONE
-#import <UIKit/UIKit.h>
-#endif
-
-@class RTCI420Frame;
-
-@protocol RTCVideoRenderer<NSObject>
-
-// The size of the frame.
-- (void)setSize:(CGSize)size;
-
-// The frame to be displayed.
-- (void)renderFrame:(RTCI420Frame*)frame;
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCVideoSource.h b/talk/app/webrtc/objc/public/RTCVideoSource.h
deleted file mode 100644
index 15a9262..0000000
--- a/talk/app/webrtc/objc/public/RTCVideoSource.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCMediaSource.h"
-
-// RTCVideoSource is an ObjectiveC wrapper for VideoSourceInterface.
-@interface RTCVideoSource : RTCMediaSource
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objc/public/RTCVideoTrack.h b/talk/app/webrtc/objc/public/RTCVideoTrack.h
deleted file mode 100644
index 332c3ea..0000000
--- a/talk/app/webrtc/objc/public/RTCVideoTrack.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "RTCMediaStreamTrack.h"
-
-@protocol RTCVideoRenderer;
-@class RTCPeerConnectionFactory;
-@class RTCVideoSource;
-
-// RTCVideoTrack is an ObjectiveC wrapper for VideoTrackInterface.
-@interface RTCVideoTrack : RTCMediaStreamTrack
-
-@property(nonatomic, readonly) RTCVideoSource* source;
-
-- (instancetype)initWithFactory:(RTCPeerConnectionFactory*)factory
- source:(RTCVideoSource*)source
- trackId:(NSString*)trackId;
-
-// Register a renderer that will render all frames received on this track.
-- (void)addRenderer:(id<RTCVideoRenderer>)renderer;
-
-// Deregister a renderer.
-- (void)removeRenderer:(id<RTCVideoRenderer>)renderer;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// Disallow init and don't add to documentation
-- (id)init __attribute__(
- (unavailable("init is not a supported initializer for this class.")));
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-@end
diff --git a/talk/app/webrtc/objctests/Info.plist b/talk/app/webrtc/objctests/Info.plist
deleted file mode 100644
index c2fb061..0000000
--- a/talk/app/webrtc/objctests/Info.plist
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>en</string>
- <key>CFBundleDisplayName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIdentifier</key>
- <string>com.Google.${PRODUCT_NAME:rfc1034identifier}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
-</dict>
-</plist>
diff --git a/talk/app/webrtc/objctests/OWNERS b/talk/app/webrtc/objctests/OWNERS
deleted file mode 100644
index cd06158..0000000
--- a/talk/app/webrtc/objctests/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-tkchin@webrtc.org
diff --git a/talk/app/webrtc/objctests/README b/talk/app/webrtc/objctests/README
deleted file mode 100644
index ebbb2c2..0000000
--- a/talk/app/webrtc/objctests/README
+++ /dev/null
@@ -1 +0,0 @@
-See ../objc/README for information on what this is and how to use it.
diff --git a/talk/app/webrtc/objctests/RTCPeerConnectionSyncObserver.h b/talk/app/webrtc/objctests/RTCPeerConnectionSyncObserver.h
deleted file mode 100644
index 7c49e1d..0000000
--- a/talk/app/webrtc/objctests/RTCPeerConnectionSyncObserver.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "RTCDataChannel.h"
-#import "RTCPeerConnectionDelegate.h"
-
-// Observer of PeerConnection events, used by RTCPeerConnectionTest to check
-// expectations.
-@interface RTCPeerConnectionSyncObserver
- : NSObject<RTCPeerConnectionDelegate, RTCDataChannelDelegate>
-@property(nonatomic) RTCDataChannel* dataChannel;
-// TODO(hughv): Add support for RTCVideoRendererDelegate when Video is enabled.
-
-// Transfer received ICE candidates to the caller.
-- (NSArray*)releaseReceivedICECandidates;
-
-// Register expectations for events that this observer should see before it can
-// be considered satisfied (see below).
-- (void)expectError;
-- (void)expectSignalingChange:(RTCSignalingState)state;
-- (void)expectAddStream:(NSString *)label;
-- (void)expectRemoveStream:(NSString *)label;
-- (void)expectICECandidates:(int)count;
-- (void)expectICEConnectionChange:(RTCICEConnectionState)state;
-- (void)expectICEGatheringChange:(RTCICEGatheringState)state;
-- (void)expectDataChannel:(NSString*)label;
-- (void)expectStateChange:(RTCDataChannelState)state;
-- (void)expectMessage:(NSData*)message isBinary:(BOOL)isBinary;
-
-// Wait until all registered expectations above have been observed.
-// Return false if expectations aren't met within |timeoutSeconds|.
-- (BOOL)waitForAllExpectationsToBeSatisfiedWithTimeout:(NSTimeInterval)timeout;
-
-@end
diff --git a/talk/app/webrtc/objctests/RTCPeerConnectionSyncObserver.m b/talk/app/webrtc/objctests/RTCPeerConnectionSyncObserver.m
deleted file mode 100644
index 892c461..0000000
--- a/talk/app/webrtc/objctests/RTCPeerConnectionSyncObserver.m
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCPeerConnectionSyncObserver.h"
-
-#import "RTCMediaStream.h"
-
-@implementation RTCPeerConnectionSyncObserver {
- int _expectedErrors;
- NSMutableArray* _expectedSignalingChanges;
- NSMutableArray* _expectedAddStreamLabels;
- NSMutableArray* _expectedRemoveStreamLabels;
- int _expectedICECandidates;
- NSMutableArray* _receivedICECandidates;
- NSMutableArray* _expectedICEConnectionChanges;
- NSMutableArray* _expectedICEGatheringChanges;
- NSMutableArray* _expectedDataChannels;
- NSMutableArray* _expectedStateChanges;
- NSMutableArray* _expectedMessages;
-}
-
-- (id)init {
- self = [super init];
- if (self) {
- _expectedSignalingChanges = [NSMutableArray array];
- _expectedSignalingChanges = [NSMutableArray array];
- _expectedAddStreamLabels = [NSMutableArray array];
- _expectedRemoveStreamLabels = [NSMutableArray array];
- _receivedICECandidates = [NSMutableArray array];
- _expectedICEConnectionChanges = [NSMutableArray array];
- _expectedICEGatheringChanges = [NSMutableArray array];
- _expectedDataChannels = [NSMutableArray array];
- _expectedMessages = [NSMutableArray array];
- _expectedStateChanges = [NSMutableArray array];
- }
- return self;
-}
-
-- (int)popFirstElementAsInt:(NSMutableArray*)array {
- NSAssert([array count] > 0, @"Empty array");
- NSNumber* boxedState = [array objectAtIndex:0];
- [array removeObjectAtIndex:0];
- return [boxedState intValue];
-}
-
-- (NSString*)popFirstElementAsNSString:(NSMutableArray*)array {
- NSAssert([array count] > 0, @"Empty expectation array");
- NSString* string = [array objectAtIndex:0];
- [array removeObjectAtIndex:0];
- return string;
-}
-
-- (BOOL)areAllExpectationsSatisfied {
- return _expectedICECandidates <= 0 && // See comment in gotICECandidate.
- _expectedErrors == 0 && [_expectedSignalingChanges count] == 0 &&
- [_expectedICEConnectionChanges count] == 0 &&
- [_expectedICEGatheringChanges count] == 0 &&
- [_expectedAddStreamLabels count] == 0 &&
- [_expectedRemoveStreamLabels count] == 0 &&
- [_expectedDataChannels count] == 0 &&
- [_expectedStateChanges count] == 0 &&
- [_expectedMessages count] == 0;
- // TODO(hughv): Test video state here too.
-}
-
-- (NSArray*)releaseReceivedICECandidates {
- NSArray* ret = _receivedICECandidates;
- _receivedICECandidates = [NSMutableArray array];
- return ret;
-}
-
-- (void)expectError {
- ++_expectedErrors;
-}
-
-- (void)expectSignalingChange:(RTCSignalingState)state {
- [_expectedSignalingChanges addObject:@((int)state)];
-}
-
-- (void)expectAddStream:(NSString*)label {
- [_expectedAddStreamLabels addObject:label];
-}
-
-- (void)expectRemoveStream:(NSString*)label {
- [_expectedRemoveStreamLabels addObject:label];
-}
-
-- (void)expectICECandidates:(int)count {
- _expectedICECandidates += count;
-}
-
-- (void)expectICEConnectionChange:(RTCICEConnectionState)state {
- [_expectedICEConnectionChanges addObject:@((int)state)];
-}
-
-- (void)expectICEGatheringChange:(RTCICEGatheringState)state {
- [_expectedICEGatheringChanges addObject:@((int)state)];
-}
-
-- (void)expectDataChannel:(NSString*)label {
- [_expectedDataChannels addObject:label];
-}
-
-- (void)expectStateChange:(RTCDataChannelState)state {
- [_expectedStateChanges addObject:@(state)];
-}
-
-- (void)expectMessage:(NSData*)message isBinary:(BOOL)isBinary {
- RTCDataBuffer* buffer = [[RTCDataBuffer alloc] initWithData:message
- isBinary:isBinary];
- [_expectedMessages addObject:buffer];
-}
-
-- (BOOL)waitForAllExpectationsToBeSatisfiedWithTimeout:(NSTimeInterval)timeout {
- NSParameterAssert(timeout >= 0);
- // TODO (fischman): Revisit. Keeping in sync with the Java version, but
- // polling is not optimal.
- // https://code.google.com/p/libjingle/source/browse/trunk/talk/app/webrtc/javatests/src/org/webrtc/PeerConnectionTest.java?line=212#212
- NSDate *startTime = [NSDate date];
- while (![self areAllExpectationsSatisfied]) {
- if (startTime.timeIntervalSinceNow < -timeout) {
- return NO;
- }
- [[NSRunLoop currentRunLoop]
- runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
- }
- return YES;
-}
-
-#pragma mark - RTCPeerConnectionDelegate methods
-
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- signalingStateChanged:(RTCSignalingState)stateChanged {
- int expectedState = [self popFirstElementAsInt:_expectedSignalingChanges];
- NSString* message =
- [NSString stringWithFormat:@"RTCPeerConnectionDelegate::"
- @"onSignalingStateChange [%d] expected[%d]",
- stateChanged,
- expectedState];
- NSAssert(expectedState == (int)stateChanged, message);
-}
-
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- addedStream:(RTCMediaStream*)stream {
- NSString* expectedLabel =
- [self popFirstElementAsNSString:_expectedAddStreamLabels];
- NSAssert([expectedLabel isEqual:stream.label], @"Stream not expected");
-}
-
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- removedStream:(RTCMediaStream*)stream {
- NSString* expectedLabel =
- [self popFirstElementAsNSString:_expectedRemoveStreamLabels];
- NSAssert([expectedLabel isEqual:stream.label], @"Stream not expected");
-}
-
-- (void)peerConnectionOnRenegotiationNeeded:(RTCPeerConnection*)peerConnection {
-}
-
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- gotICECandidate:(RTCICECandidate*)candidate {
- --_expectedICECandidates;
- // We don't assert expectedICECandidates >= 0 because it's hard to know
- // how many to expect, in general. We only use expectICECandidates to
- // assert a minimal count.
- [_receivedICECandidates addObject:candidate];
-}
-
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- iceGatheringChanged:(RTCICEGatheringState)newState {
- // It's fine to get a variable number of GATHERING messages before
- // COMPLETE fires (depending on how long the test runs) so we don't assert
- // any particular count.
- if (newState == RTCICEGatheringGathering) {
- return;
- }
- NSAssert([_expectedICEGatheringChanges count] > 0,
- @"Unexpected ICE gathering state change");
- int expectedState = [self popFirstElementAsInt:_expectedICEGatheringChanges];
- NSAssert(expectedState == (int)newState,
- @"ICE gathering state should match expectation");
-}
-
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- iceConnectionChanged:(RTCICEConnectionState)newState {
- // See TODO(fischman) in RTCPeerConnectionTest.mm about Completed.
- if (newState == RTCICEConnectionCompleted)
- return;
- NSAssert([_expectedICEConnectionChanges count] > 0,
- @"Unexpected ICE connection state change");
- int expectedState = [self popFirstElementAsInt:_expectedICEConnectionChanges];
- NSAssert(expectedState == (int)newState,
- @"ICE connection state should match expectation");
-}
-
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- didOpenDataChannel:(RTCDataChannel*)dataChannel {
- NSString* expectedLabel =
- [self popFirstElementAsNSString:_expectedDataChannels];
- NSAssert([expectedLabel isEqual:dataChannel.label],
- @"Data channel not expected");
- self.dataChannel = dataChannel;
- dataChannel.delegate = self;
- NSAssert(kRTCDataChannelStateConnecting == dataChannel.state,
- @"Unexpected state");
-}
-
-#pragma mark - RTCDataChannelDelegate
-
-- (void)channelDidChangeState:(RTCDataChannel*)channel {
- NSAssert([_expectedStateChanges count] > 0,
- @"Unexpected state change");
- int expectedState = [self popFirstElementAsInt:_expectedStateChanges];
- NSAssert(expectedState == channel.state, @"Channel state should match");
-}
-
-- (void)channel:(RTCDataChannel*)channel
- didChangeBufferedAmount:(NSUInteger)previousAmount {
- NSAssert(channel.bufferedAmount != previousAmount,
- @"Invalid bufferedAmount change");
-}
-
-- (void)channel:(RTCDataChannel*)channel
- didReceiveMessageWithBuffer:(RTCDataBuffer*)buffer {
- NSAssert([_expectedMessages count] > 0,
- @"Unexpected message received");
- RTCDataBuffer* expectedBuffer = [_expectedMessages objectAtIndex:0];
- NSAssert(expectedBuffer.isBinary == buffer.isBinary,
- @"Buffer isBinary should match");
- NSAssert([expectedBuffer.data isEqual:buffer.data],
- @"Buffer data should match");
- [_expectedMessages removeObjectAtIndex:0];
-}
-
-@end
diff --git a/talk/app/webrtc/objctests/RTCPeerConnectionTest.mm b/talk/app/webrtc/objctests/RTCPeerConnectionTest.mm
deleted file mode 100644
index f447ae9..0000000
--- a/talk/app/webrtc/objctests/RTCPeerConnectionTest.mm
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "RTCICEServer.h"
-#import "RTCMediaConstraints.h"
-#import "RTCMediaStream.h"
-#import "RTCPair.h"
-#import "RTCPeerConnection.h"
-#import "RTCPeerConnectionFactory.h"
-#import "RTCPeerConnectionSyncObserver.h"
-#import "RTCSessionDescription.h"
-#import "RTCSessionDescriptionSyncObserver.h"
-#import "RTCVideoRenderer.h"
-#import "RTCVideoTrack.h"
-
-#include "webrtc/base/gunit.h"
-#include "webrtc/base/ssladapter.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-const NSTimeInterval kRTCPeerConnectionTestTimeout = 20;
-
-@interface RTCFakeRenderer : NSObject <RTCVideoRenderer>
-@end
-
-@implementation RTCFakeRenderer
-
-- (void)setSize:(CGSize)size {}
-- (void)renderFrame:(RTCI420Frame*)frame {}
-
-@end
-
-@interface RTCPeerConnectionTest : NSObject
-
-// Returns whether the two sessions are of the same type.
-+ (BOOL)isSession:(RTCSessionDescription*)session1
- ofSameTypeAsSession:(RTCSessionDescription*)session2;
-
-// Create and add tracks to pc, with the given source, label, and IDs
-- (RTCMediaStream*)addTracksToPeerConnection:(RTCPeerConnection*)pc
- withFactory:(RTCPeerConnectionFactory*)factory
- videoSource:(RTCVideoSource*)videoSource
- streamLabel:(NSString*)streamLabel
- videoTrackID:(NSString*)videoTrackID
- audioTrackID:(NSString*)audioTrackID;
-
-- (void)testCompleteSessionWithFactory:(RTCPeerConnectionFactory*)factory;
-
-@end
-
-@implementation RTCPeerConnectionTest
-
-+ (BOOL)isSession:(RTCSessionDescription*)session1
- ofSameTypeAsSession:(RTCSessionDescription*)session2 {
- return [session1.type isEqual:session2.type];
-}
-
-- (RTCMediaStream*)addTracksToPeerConnection:(RTCPeerConnection*)pc
- withFactory:(RTCPeerConnectionFactory*)factory
- videoSource:(RTCVideoSource*)videoSource
- streamLabel:(NSString*)streamLabel
- videoTrackID:(NSString*)videoTrackID
- audioTrackID:(NSString*)audioTrackID {
- RTCMediaStream* localMediaStream = [factory mediaStreamWithLabel:streamLabel];
- // TODO(zeke): Fix this test to create a fake video capturer so that a track
- // can be created.
- if (videoSource) {
- RTCVideoTrack* videoTrack =
- [factory videoTrackWithID:videoTrackID source:videoSource];
- RTCFakeRenderer* videoRenderer = [[RTCFakeRenderer alloc] init];
- [videoTrack addRenderer:videoRenderer];
- [localMediaStream addVideoTrack:videoTrack];
- // Test that removal/re-add works.
- [localMediaStream removeVideoTrack:videoTrack];
- [localMediaStream addVideoTrack:videoTrack];
- }
- RTCAudioTrack* audioTrack = [factory audioTrackWithID:audioTrackID];
- [localMediaStream addAudioTrack:audioTrack];
- [pc addStream:localMediaStream];
- return localMediaStream;
-}
-
-- (void)testCompleteSessionWithFactory:(RTCPeerConnectionFactory*)factory {
- NSArray* mandatory = @[
- [[RTCPair alloc] initWithKey:@"DtlsSrtpKeyAgreement" value:@"true"],
- [[RTCPair alloc] initWithKey:@"internalSctpDataChannels" value:@"true"],
- ];
- RTCMediaConstraints* constraints = [[RTCMediaConstraints alloc] init];
- RTCMediaConstraints* pcConstraints =
- [[RTCMediaConstraints alloc] initWithMandatoryConstraints:mandatory
- optionalConstraints:nil];
-
- RTCPeerConnectionSyncObserver* offeringExpectations =
- [[RTCPeerConnectionSyncObserver alloc] init];
- RTCPeerConnection* pcOffer =
- [factory peerConnectionWithICEServers:nil
- constraints:pcConstraints
- delegate:offeringExpectations];
-
- RTCPeerConnectionSyncObserver* answeringExpectations =
- [[RTCPeerConnectionSyncObserver alloc] init];
-
- RTCPeerConnection* pcAnswer =
- [factory peerConnectionWithICEServers:nil
- constraints:pcConstraints
- delegate:answeringExpectations];
- // TODO(hughv): Create video capturer
- RTCVideoCapturer* capturer = nil;
- RTCVideoSource* videoSource =
- [factory videoSourceWithCapturer:capturer constraints:constraints];
-
- // Here and below, "oLMS" refers to offerer's local media stream, and "aLMS"
- // refers to the answerer's local media stream, with suffixes of "a0" and "v0"
- // for audio and video tracks, resp. These mirror chrome historical naming.
- RTCMediaStream* oLMSUnused = [self addTracksToPeerConnection:pcOffer
- withFactory:factory
- videoSource:videoSource
- streamLabel:@"oLMS"
- videoTrackID:@"oLMSv0"
- audioTrackID:@"oLMSa0"];
-
- RTCDataChannel* offerDC =
- [pcOffer createDataChannelWithLabel:@"offerDC"
- config:[[RTCDataChannelInit alloc] init]];
- EXPECT_TRUE([offerDC.label isEqual:@"offerDC"]);
- offerDC.delegate = offeringExpectations;
- offeringExpectations.dataChannel = offerDC;
-
- RTCSessionDescriptionSyncObserver* sdpObserver =
- [[RTCSessionDescriptionSyncObserver alloc] init];
- [pcOffer createOfferWithDelegate:sdpObserver constraints:constraints];
- [sdpObserver wait];
- EXPECT_TRUE(sdpObserver.success);
- RTCSessionDescription* offerSDP = sdpObserver.sessionDescription;
- EXPECT_EQ([@"offer" compare:offerSDP.type options:NSCaseInsensitiveSearch],
- NSOrderedSame);
- EXPECT_GT([offerSDP.description length], 0);
-
- sdpObserver = [[RTCSessionDescriptionSyncObserver alloc] init];
- [answeringExpectations expectSignalingChange:RTCSignalingHaveRemoteOffer];
- [answeringExpectations expectAddStream:@"oLMS"];
- [pcAnswer setRemoteDescriptionWithDelegate:sdpObserver
- sessionDescription:offerSDP];
- [sdpObserver wait];
-
- RTCMediaStream* aLMSUnused = [self addTracksToPeerConnection:pcAnswer
- withFactory:factory
- videoSource:videoSource
- streamLabel:@"aLMS"
- videoTrackID:@"aLMSv0"
- audioTrackID:@"aLMSa0"];
-
- sdpObserver = [[RTCSessionDescriptionSyncObserver alloc] init];
- [pcAnswer createAnswerWithDelegate:sdpObserver constraints:constraints];
- [sdpObserver wait];
- EXPECT_TRUE(sdpObserver.success);
- RTCSessionDescription* answerSDP = sdpObserver.sessionDescription;
- EXPECT_EQ([@"answer" compare:answerSDP.type options:NSCaseInsensitiveSearch],
- NSOrderedSame);
- EXPECT_GT([answerSDP.description length], 0);
-
- [offeringExpectations expectICECandidates:2];
- // It's possible to only have 1 ICE candidate for the answerer, since we use
- // BUNDLE and rtcp-mux by default, and don't provide any ICE servers in this
- // test.
- [answeringExpectations expectICECandidates:1];
-
- sdpObserver = [[RTCSessionDescriptionSyncObserver alloc] init];
- [answeringExpectations expectSignalingChange:RTCSignalingStable];
- [pcAnswer setLocalDescriptionWithDelegate:sdpObserver
- sessionDescription:answerSDP];
- [sdpObserver wait];
- EXPECT_TRUE(sdpObserver.sessionDescription == NULL);
-
- sdpObserver = [[RTCSessionDescriptionSyncObserver alloc] init];
- [offeringExpectations expectSignalingChange:RTCSignalingHaveLocalOffer];
- [pcOffer setLocalDescriptionWithDelegate:sdpObserver
- sessionDescription:offerSDP];
- [sdpObserver wait];
- EXPECT_TRUE(sdpObserver.sessionDescription == NULL);
-
- [offeringExpectations expectICEConnectionChange:RTCICEConnectionChecking];
- [offeringExpectations expectICEConnectionChange:RTCICEConnectionConnected];
- // TODO(fischman): figure out why this is flaky and re-introduce (and remove
- // special-casing from the observer!).
- // [offeringExpectations expectICEConnectionChange:RTCICEConnectionCompleted];
- [answeringExpectations expectICEConnectionChange:RTCICEConnectionChecking];
- [answeringExpectations expectICEConnectionChange:RTCICEConnectionConnected];
-
- [offeringExpectations expectStateChange:kRTCDataChannelStateOpen];
- [answeringExpectations expectDataChannel:@"offerDC"];
- [answeringExpectations expectStateChange:kRTCDataChannelStateOpen];
-
- [offeringExpectations expectICEGatheringChange:RTCICEGatheringComplete];
- [answeringExpectations expectICEGatheringChange:RTCICEGatheringComplete];
-
- sdpObserver = [[RTCSessionDescriptionSyncObserver alloc] init];
- [offeringExpectations expectSignalingChange:RTCSignalingStable];
- [offeringExpectations expectAddStream:@"aLMS"];
- [pcOffer setRemoteDescriptionWithDelegate:sdpObserver
- sessionDescription:answerSDP];
- [sdpObserver wait];
- EXPECT_TRUE(sdpObserver.sessionDescription == NULL);
-
- EXPECT_TRUE([offerSDP.type isEqual:pcOffer.localDescription.type]);
- EXPECT_TRUE([answerSDP.type isEqual:pcOffer.remoteDescription.type]);
- EXPECT_TRUE([offerSDP.type isEqual:pcAnswer.remoteDescription.type]);
- EXPECT_TRUE([answerSDP.type isEqual:pcAnswer.localDescription.type]);
-
- for (RTCICECandidate* candidate in offeringExpectations
- .releaseReceivedICECandidates) {
- [pcAnswer addICECandidate:candidate];
- }
- for (RTCICECandidate* candidate in answeringExpectations
- .releaseReceivedICECandidates) {
- [pcOffer addICECandidate:candidate];
- }
-
- EXPECT_TRUE(
- [offeringExpectations waitForAllExpectationsToBeSatisfiedWithTimeout:
- kRTCPeerConnectionTestTimeout]);
- EXPECT_TRUE(
- [answeringExpectations waitForAllExpectationsToBeSatisfiedWithTimeout:
- kRTCPeerConnectionTestTimeout]);
-
- EXPECT_EQ(pcOffer.signalingState, RTCSignalingStable);
- EXPECT_EQ(pcAnswer.signalingState, RTCSignalingStable);
-
- // Test send and receive UTF-8 text
- NSString* text = @"你好";
- NSData* textData = [text dataUsingEncoding:NSUTF8StringEncoding];
- RTCDataBuffer* buffer =
- [[RTCDataBuffer alloc] initWithData:textData isBinary:NO];
- [answeringExpectations expectMessage:[textData copy] isBinary:NO];
- EXPECT_TRUE([offeringExpectations.dataChannel sendData:buffer]);
- EXPECT_TRUE(
- [answeringExpectations waitForAllExpectationsToBeSatisfiedWithTimeout:
- kRTCPeerConnectionTestTimeout]);
-
- // Test send and receive binary data
- const size_t byteLength = 5;
- char bytes[byteLength] = {1, 2, 3, 4, 5};
- NSData* byteData = [NSData dataWithBytes:bytes length:byteLength];
- buffer = [[RTCDataBuffer alloc] initWithData:byteData isBinary:YES];
- [answeringExpectations expectMessage:[byteData copy] isBinary:YES];
- EXPECT_TRUE([offeringExpectations.dataChannel sendData:buffer]);
- EXPECT_TRUE(
- [answeringExpectations waitForAllExpectationsToBeSatisfiedWithTimeout:
- kRTCPeerConnectionTestTimeout]);
-
- [offeringExpectations expectStateChange:kRTCDataChannelStateClosing];
- [answeringExpectations expectStateChange:kRTCDataChannelStateClosing];
- [offeringExpectations expectStateChange:kRTCDataChannelStateClosed];
- [answeringExpectations expectStateChange:kRTCDataChannelStateClosed];
-
- [answeringExpectations.dataChannel close];
- [offeringExpectations.dataChannel close];
-
- EXPECT_TRUE(
- [offeringExpectations waitForAllExpectationsToBeSatisfiedWithTimeout:
- kRTCPeerConnectionTestTimeout]);
- EXPECT_TRUE(
- [answeringExpectations waitForAllExpectationsToBeSatisfiedWithTimeout:
- kRTCPeerConnectionTestTimeout]);
- // Don't need to listen to further state changes.
- // TODO(tkchin): figure out why Closed->Closing without this.
- offeringExpectations.dataChannel.delegate = nil;
- answeringExpectations.dataChannel.delegate = nil;
-
- // Let the audio feedback run for 2s to allow human testing and to ensure
- // things stabilize. TODO(fischman): replace seconds with # of video frames,
- // when we have video flowing.
- [[NSRunLoop currentRunLoop]
- runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]];
-
- [offeringExpectations expectICEConnectionChange:RTCICEConnectionClosed];
- [answeringExpectations expectICEConnectionChange:RTCICEConnectionClosed];
- [offeringExpectations expectSignalingChange:RTCSignalingClosed];
- [answeringExpectations expectSignalingChange:RTCSignalingClosed];
-
- [pcOffer close];
- [pcAnswer close];
-
- EXPECT_TRUE(
- [offeringExpectations waitForAllExpectationsToBeSatisfiedWithTimeout:
- kRTCPeerConnectionTestTimeout]);
- EXPECT_TRUE(
- [answeringExpectations waitForAllExpectationsToBeSatisfiedWithTimeout:
- kRTCPeerConnectionTestTimeout]);
-
- capturer = nil;
- videoSource = nil;
- pcOffer = nil;
- pcAnswer = nil;
- // TODO(fischman): be stricter about shutdown checks; ensure thread
- // counts return to where they were before the test kicked off, and
- // that all objects have in fact shut down.
-}
-
-@end
-
-// TODO(fischman): move {Initialize,Cleanup}SSL into alloc/dealloc of
-// RTCPeerConnectionTest and avoid the appearance of RTCPeerConnectionTest being
-// a TestBase since it's not.
-TEST(RTCPeerConnectionTest, SessionTest) {
- @autoreleasepool {
- rtc::InitializeSSL();
- // Since |factory| will own the signaling & worker threads, it's important
- // that it outlive the created PeerConnections since they self-delete on the
- // signaling thread, and if |factory| is freed first then a last refcount on
- // the factory will expire during this teardown, causing the signaling
- // thread to try to Join() with itself. This is a hack to ensure that the
- // factory outlives RTCPeerConnection:dealloc.
- // See https://code.google.com/p/webrtc/issues/detail?id=3100.
- RTCPeerConnectionFactory* factory = [[RTCPeerConnectionFactory alloc] init];
- @autoreleasepool {
- RTCPeerConnectionTest* pcTest = [[RTCPeerConnectionTest alloc] init];
- [pcTest testCompleteSessionWithFactory:factory];
- }
- rtc::CleanupSSL();
- }
-}
diff --git a/talk/app/webrtc/objctests/RTCSessionDescriptionSyncObserver.h b/talk/app/webrtc/objctests/RTCSessionDescriptionSyncObserver.h
deleted file mode 100644
index bc83eaf..0000000
--- a/talk/app/webrtc/objctests/RTCSessionDescriptionSyncObserver.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "RTCSessionDescriptionDelegate.h"
-
-@class RTCSessionDescription;
-
-// Observer of SDP-related events, used by RTCPeerConnectionTest to check
-// expectations.
-@interface RTCSessionDescriptionSyncObserver : NSObject<
- RTCSessionDescriptionDelegate>
-
-// Error string. May be nil.
-@property(atomic, copy) NSString *error;
-// Created session description. May be nil.
-@property(atomic, strong) RTCSessionDescription *sessionDescription;
-// Whether an SDP-related callback reported success.
-@property(atomic, assign) BOOL success;
-
-// Wait for an SDP-related callback to fire.
-- (void)wait;
-
-@end
diff --git a/talk/app/webrtc/objctests/RTCSessionDescriptionSyncObserver.m b/talk/app/webrtc/objctests/RTCSessionDescriptionSyncObserver.m
deleted file mode 100644
index 31b0efe..0000000
--- a/talk/app/webrtc/objctests/RTCSessionDescriptionSyncObserver.m
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#import "RTCSessionDescriptionSyncObserver.h"
-
-#import "RTCSessionDescription.h"
-
-@interface RTCSessionDescriptionSyncObserver ()
-
-// CondVar used to wait for, and signal arrival of, an SDP-related callback.
-@property(nonatomic, strong) NSCondition* condition;
-// Whether an SDP-related callback has fired; cleared before wait returns.
-@property(atomic, assign) BOOL signaled;
-
-@end
-
-@implementation RTCSessionDescriptionSyncObserver
-
-@synthesize error = _error;
-@synthesize sessionDescription = _sessionDescription;
-@synthesize success = _success;
-@synthesize condition = _condition;
-@synthesize signaled = _signaled;
-
-- (id)init {
- if ((self = [super init])) {
- if (!(_condition = [[NSCondition alloc] init]))
- self = nil;
- }
- return self;
-}
-
-- (void)signal {
- self.signaled = YES;
- [self.condition signal];
-}
-
-- (void)wait {
- [self.condition lock];
- if (!self.signaled)
- [self.condition wait];
- self.signaled = NO;
- [self.condition unlock];
-}
-
-#pragma mark - RTCSessionDescriptionDelegate methods
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- didCreateSessionDescription:(RTCSessionDescription*)sdp
- error:(NSError*)error {
- [self.condition lock];
- if (error) {
- self.success = NO;
- self.error = error.description;
- } else {
- self.success = YES;
- self.sessionDescription = sdp;
- }
- [self signal];
- [self.condition unlock];
-}
-
-- (void)peerConnection:(RTCPeerConnection*)peerConnection
- didSetSessionDescriptionWithError:(NSError*)error {
- [self.condition lock];
- if (error) {
- self.success = NO;
- self.error = error.description;
- } else {
- self.success = YES;
- }
- [self signal];
- [self.condition unlock];
-}
-
-@end
diff --git a/talk/app/webrtc/objctests/mac/main.mm b/talk/app/webrtc/objctests/mac/main.mm
deleted file mode 100644
index 78ccf32..0000000
--- a/talk/app/webrtc/objctests/mac/main.mm
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * libjingle
- * Copyright 2013 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "webrtc/base/gunit.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-int main(int argc, char* argv[]) {
- testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
-}
diff --git a/talk/build/common.gypi b/talk/build/common.gypi
deleted file mode 100644
index 4ee78f1..0000000
--- a/talk/build/common.gypi
+++ /dev/null
@@ -1,127 +0,0 @@
-#
-# libjingle
-# Copyright 2012 Google Inc.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# This file contains common settings for building libjingle components.
-
-{
- 'variables': {
- 'webrtc_root%': '<(DEPTH)/webrtc',
- # TODO(ronghuawu): For now, disable the Chrome plugins, which causes a
- # flood of chromium-style warnings.
- 'clang_use_chrome_plugins%': 0,
- # Disable these to not build components which can be externally provided.
- 'build_json%': 1,
- },
- 'target_defaults': {
- 'include_dirs': [
- '<(DEPTH)',
- '../..',
- '../../third_party',
- '../../third_party/webrtc',
- '../../webrtc',
- ],
- 'conditions': [
- ['OS=="linux"', {
- 'defines': [
- 'WEBRTC_LINUX',
- ],
- # Remove Chromium's disabling of the -Wformat warning.
- 'cflags!': [
- '-Wno-format',
- ],
- 'conditions': [
- ['clang==1', {
- 'cflags': [
- '-Wall',
- '-Wextra',
- '-Wformat',
- '-Wformat-security',
- '-Wimplicit-fallthrough',
- '-Wmissing-braces',
- '-Wreorder',
- '-Wunused-variable',
- # TODO(ronghuawu): Fix the warning caused by
- # LateBindingSymbolTable::TableInfo from
- # latebindingsymboltable.cc.def and remove below flag.
- '-Wno-address-of-array-temporary',
- '-Wthread-safety',
- ],
- 'cflags_cc': [
- '-Wunused-private-field',
- ],
- }],
- ],
- }],
- ['OS=="mac"', {
- 'defines': [
- 'WEBRTC_MAC',
- ],
- }],
- ['OS=="win"', {
- 'defines': [
- 'WEBRTC_WIN',
- ],
- 'msvs_disabled_warnings': [
- # https://code.google.com/p/chromium/issues/detail?id=372451#c20
- # Warning 4702 ("Unreachable code") should be re-enabled once
- # users are updated to VS2013 Update 2.
- 4702,
- ],
- }],
- ['OS=="ios"', {
- 'defines': [
- 'WEBRTC_MAC',
- 'WEBRTC_IOS',
- ],
- }],
- ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', {
- 'defines': [
- 'CARBON_DEPRECATED=YES',
- ],
- }],
- ['os_posix==1', {
- 'configurations': {
- 'Debug_Base': {
- 'defines': [
- # Chromium's build/common.gypi defines this for all posix _except_
- # for ios & mac. We want it there as well, e.g. because ASSERT
- # and friends trigger off of it.
- '_DEBUG',
- ],
- },
- },
- 'defines': [
- 'HASH_NAMESPACE=__gnu_cxx',
- 'WEBRTC_POSIX',
- 'DISABLE_DYNAMIC_CAST',
- # The POSIX standard says we have to define this.
- '_REENTRANT',
- ],
- }],
- ],
- }, # target_defaults
-}
diff --git a/talk/codereview.settings b/talk/codereview.settings
deleted file mode 100644
index c441cc6..0000000
--- a/talk/codereview.settings
+++ /dev/null
@@ -1,5 +0,0 @@
-
-Creating CLs from this location is not supported! Please make sure the current
-working directory is the parent directory of this directory.
-If you're working with a Chromium checkout, you'll have to create a full WebRTC
-checkout and upload a CL from that. See http://www.webrtc.org for instructions.
diff --git a/webrtc/LICENSE_THIRD_PARTY b/webrtc/LICENSE_THIRD_PARTY
index b64dbba..c7adbd3 100644
--- a/webrtc/LICENSE_THIRD_PARTY
+++ b/webrtc/LICENSE_THIRD_PARTY
@@ -2,6 +2,14 @@
party licenses. Paths to the files and associated licenses are collected here.
Files governed by third party licenses:
+base/base64.cc
+base/base64.h
+base/md5.cc
+base/md5.h
+base/sha1.cc
+base/sha1.h
+base/sigslot.cc
+base/sigslot.h
common_audio/fft4g.c
common_audio/signal_processing/spl_sqrt_floor.c
common_audio/signal_processing/spl_sqrt_floor_arm.S
@@ -23,6 +31,67 @@
Individual licenses for each file:
-------------------------------------------------------------------------------
Files:
+base/base64.cc
+base/base64.h
+
+License:
+//*********************************************************************
+//* Base64 - a simple base64 encoder and decoder.
+//*
+//* Copyright (c) 1999, Bob Withers - bwit@pobox.com
+//*
+//* This code may be freely used for any purpose, either personal
+//* or commercial, provided the authors copyright notice remains
+//* intact.
+//*
+//* Enhancements by Stanley Yamane:
+//* o reverse lookup table for the decode function
+//* o reserve string buffer space in advance
+//*
+//*********************************************************************
+-------------------------------------------------------------------------------
+Files:
+base/md5.cc
+base/md5.h
+
+License:
+/*
+ * This code implements the MD5 message-digest algorithm.
+ * The algorithm is due to Ron Rivest. This code was
+ * written by Colin Plumb in 1993, no copyright is claimed.
+ * This code is in the public domain; do with it what you wish.
+ *
+-------------------------------------------------------------------------------
+Files:
+base/sha1.cc
+base/sha1.h
+
+License:
+/*
+ * SHA-1 in C
+ * By Steve Reid <sreid@sea-to-sky.net>
+ * 100% Public Domain
+ *
+ * -----------------
+ * Modified 7/98
+ * By James H. Brown <jbrown@burgoyne.com>
+ * Still 100% Public Domain
+ *
+-------------------------------------------------------------------------------
+Files:
+base/sigslot.cc
+base/sigslot.h
+
+License:
+// sigslot.h: Signal/Slot classes
+//
+// Written by Sarah Thompson (sarah@telergy.com) 2002.
+//
+// License: Public domain. You are free to use this code however you like, with
+// the proviso that the author takes on no responsibility or liability for any
+// use.
+-------------------------------------------------------------------------------
+Files:
common_audio/signal_processing/spl_sqrt_floor.c
common_audio/signal_processing/spl_sqrt_floor_arm.S
diff --git a/webrtc/build/ios/build_ios_libs.sh b/webrtc/build/ios/build_ios_libs.sh
index 9c3e4fc..25aed63 100755
--- a/webrtc/build/ios/build_ios_libs.sh
+++ b/webrtc/build/ios/build_ios_libs.sh
@@ -72,10 +72,8 @@
# generating static libs.
local override_visibility=0
if [[ ${build_type} = "legacy" ]]; then
- echo "Building legacy."
- gyp_file=webrtc/build/ios/merge_ios_libs.gyp
- gyp_target=libjingle_peerconnection_objc_no_op
- override_visibility=1
+ echo "Building objc legacy libraries no longer supported."
+ exit 1
elif [[ ${build_type} = "static_only" ]]; then
echo "Building static only."
gyp_file=webrtc/build/ios/merge_ios_libs.gyp
@@ -131,7 +129,7 @@
echo "The headers will be copied to out_ios_libs/include."
echo "Usage: $0 [-h] [-b build_type] [-c] [-o output_dir]"
echo " -h Print this help."
- echo " -b The build type. Can be framework, static_only or legacy."
+ echo " -b The build type. Can be framework or static_only."
echo " Defaults to framework."
echo " -c Removes generated build output."
echo " -o Specifies a directory to output build artifacts to."
@@ -145,8 +143,7 @@
# Set default arguments.
# Output directory for build artifacts.
OUTPUT_DIR=${WEBRTC_BASE_DIR}/out_ios_libs
-# The type of build to perform. Valid arguments are framework, static_only and
-# legacy.
+# The type of build to perform. Valid arguments are framework and static_only.
BUILD_TYPE="framework"
PERFORM_CLEAN=0
FLAVOR="Profile"
@@ -230,16 +227,13 @@
FORMAT_STRING=s/\${FRAMEWORK_VERSION_NUMBER}/${VERSION_NUMBER}/g
sed -e ${FORMAT_STRING} ${WEBRTC_BASE_DIR}/webrtc/sdk/objc/WebRTC.podspec > \
${OUTPUT_DIR}/WebRTC.podspec
-else
+elif [[ ${BUILD_TYPE} = "static_only" ]]; then
echo "Merging static library slices."
# Merge the static libraries together into individual FAT archives.
${MERGE_SCRIPT} ${OUTPUT_DIR}
# Merge the dSYM files together.
TARGET_NAME="rtc_sdk_peerconnection_objc_no_op"
- if [[ ${BUILD_TYPE} = "legacy" ]]; then
- TARGET_NAME="libjingle_peerconnection_objc_no_op"
- fi
DSYM_PATH="${TARGET_NAME}.app.dSYM/Contents/Resources/DWARF/${TARGET_NAME}"
cp -R ${ARM_NINJA_DIR}/${TARGET_NAME}.app.dSYM ${OUTPUT_DIR}
echo "Merging dSYM slices."
@@ -262,13 +256,11 @@
if [[ -d ${OUTPUT_HEADER_DIR} ]]; then
rm -rf ${OUTPUT_HEADER_DIR}
fi
- if [[ ${BUILD_TYPE} = "legacy" ]]; then
- INPUT_HEADER_DIR="${WEBRTC_BASE_DIR}/talk/app/webrtc/objc/public"
- ln -sf ${INPUT_HEADER_DIR} ${OUTPUT_HEADER_DIR}
- else
- mkdir -p ${OUTPUT_HEADER_DIR}
- ln -sf ${INPUT_HEADER_DIR} ${OUTPUT_HEADER_DIR}/WebRTC
- fi
+ mkdir -p ${OUTPUT_HEADER_DIR}
+ ln -sf ${INPUT_HEADER_DIR} ${OUTPUT_HEADER_DIR}/WebRTC
+else
+ echo "BUILD_TYPE ${BUILD_TYPE} not supported."
+ exit 1
fi
echo "Generating LICENSE.html."
diff --git a/webrtc/build/ios/merge_ios_libs.gyp b/webrtc/build/ios/merge_ios_libs.gyp
index 5b0a9cb..d28b622 100644
--- a/webrtc/build/ios/merge_ios_libs.gyp
+++ b/webrtc/build/ios/merge_ios_libs.gyp
@@ -12,15 +12,6 @@
['OS=="ios" or OS=="mac"', {
'targets': [
{
- 'target_name': 'libjingle_peerconnection_objc_no_op',
- 'includes': [ 'objc_app.gypi' ],
- 'type': 'executable',
- 'dependencies': [
- '../../../talk/app/webrtc/legacy_objc_api.gyp:libjingle_peerconnection_objc',
- ],
- 'sources': ['no_op.cc',],
- },
- {
'target_name': 'rtc_sdk_peerconnection_objc_no_op',
'includes': [ 'objc_app.gypi' ],
'type': 'executable',
diff --git a/webrtc/webrtc_examples.gyp b/webrtc/webrtc_examples.gyp
index 347810b..0285462 100755
--- a/webrtc/webrtc_examples.gyp
+++ b/webrtc/webrtc_examples.gyp
@@ -6,10 +6,6 @@
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
{
- 'includes': [
- '../talk/build/common.gypi',
- ],
-
'conditions': [
['OS=="linux" or OS=="win"', {
'targets': [