summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorserya <serya@chromium.org>2014-10-03 12:18:29 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-03 19:18:48 +0000
commit0d8b69077ac03b7ea176d9df6f3730fe7a63a499 (patch)
tree1683e9131c9a20ac4d2f1705c7bca8ae736f7711
parent1738e9d54e29a6f2690e8df15cff0135de415df9 (diff)
downloadchromium_src-0d8b69077ac03b7ea176d9df6f3730fe7a63a499.zip
chromium_src-0d8b69077ac03b7ea176d9df6f3730fe7a63a499.tar.gz
chromium_src-0d8b69077ac03b7ea176d9df6f3730fe7a63a499.tar.bz2
Making WebRTC Java api avaliable in Chromium.
BUG=383418 TEST=Build target libjingle_peerconnection_javalib Committed: https://crrev.com/e65a8cbe2e8b0634a66715b3959b418431f4d0c0 Cr-Commit-Position: refs/heads/master@{#297801} Review URL: https://codereview.chromium.org/551793003 Cr-Commit-Position: refs/heads/master@{#298073}
-rw-r--r--build/all.gyp7
-rw-r--r--third_party/libjingle/BUILD.gn34
-rw-r--r--third_party/libjingle/libjingle.gyp29
3 files changed, 70 insertions, 0 deletions
diff --git a/build/all.gyp b/build/all.gyp
index 2dbd4fb..e9eaa5b 100644
--- a/build/all.gyp
+++ b/build/all.gyp
@@ -836,6 +836,13 @@
# Unit test bundles packaged as an apk.
'../content/content_shell_and_tests.gyp:content_browsertests_apk',
],
+ 'conditions': [
+ ['"<(libpeer_target_type)"=="static_library"', {
+ 'dependencies': [
+ '../third_party/libjingle/libjingle.gyp:libjingle_peerconnection_javalib',
+ ],
+ }],
+ ],
}, # target_name: android_builder_chromium_webrtc
], # targets
}], # OS="android"
diff --git a/third_party/libjingle/BUILD.gn b/third_party/libjingle/BUILD.gn
index 02c2bf9..fb01a64 100644
--- a/third_party/libjingle/BUILD.gn
+++ b/third_party/libjingle/BUILD.gn
@@ -553,6 +553,40 @@ if (enable_webrtc) {
]
}
+ source_set("libjingle_peerconnection_so") {
+ sources = [
+ "source/talk/app/webrtc/java/jni/peerconnection_jni.cc",
+ ]
+ deps = [
+ "libjingle_webrtc",
+ "libpeerconnection",
+ ]
+ }
+
+ android_library("libjingle_peerconnection_java") {
+ java_files = [
+ "source/talk/app/webrtc/java/src/org/webrtc/AudioSource.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/AudioTrack.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/DataChannel.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/IceCandidate.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/Logging.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/MediaConstraints.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/MediaSource.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/MediaStream.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/MediaStreamTrack.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/PeerConnection.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/SdpObserver.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/StatsObserver.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/StatsReport.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/SessionDescription.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/VideoCapturer.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/VideoRenderer.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/VideoSource.java",
+ "source/talk/app/webrtc/java/src/org/webrtc/VideoTrack.java",
+ ]
+ }
+
} # enable_webrtc
# TODO(GYP): Port libjingle.gyp's enable_webrtc condition block.
diff --git a/third_party/libjingle/libjingle.gyp b/third_party/libjingle/libjingle.gyp
index 0eaf86c..9b26732 100644
--- a/third_party/libjingle/libjingle.gyp
+++ b/third_party/libjingle/libjingle.gyp
@@ -646,5 +646,34 @@
}, # target libpeerconnection
],
}],
+ ['enable_webrtc==1 and OS=="android" and "<(libpeer_target_type)"=="static_library"', {
+ 'targets': [
+ {
+ # GN version: //third_party/libjingle:libjingle_peerconnection_so
+ 'target_name': 'libjingle_peerconnection_so',
+ 'type': 'shared_library',
+ 'dependencies': [
+ '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
+ 'libjingle_webrtc',
+ 'libpeerconnection',
+ ],
+ 'sources': [
+ '<(libjingle_source)/talk/app/webrtc/java/jni/peerconnection_jni.cc',
+ ],
+ },
+ {
+ # GN version: //third_party/libjingle:libjingle_peerconnection_java
+ 'target_name': 'libjingle_peerconnection_javalib',
+ 'type': 'none',
+ 'variables': {
+ 'java_in_dir': '<(libjingle_source)/talk/app/webrtc/java',
+ },
+ 'dependencies': [
+ 'libjingle_peerconnection_so',
+ ],
+ 'includes': [ '../../build/java.gypi' ],
+ },
+ ],
+ }],
],
}