Commit e65a8cbe authored by serya's avatar serya Committed by Commit bot

Making WebRTC Java api avaliable in Chromium.

BUG=383418
TEST=Build target libjingle_peerconnection_javalib

Review URL: https://codereview.chromium.org/551793003

Cr-Commit-Position: refs/heads/master@{#297801}
parent b8c01fc3
...@@ -827,6 +827,7 @@ ...@@ -827,6 +827,7 @@
'type': 'none', 'type': 'none',
'dependencies': [ 'dependencies': [
'../content/content_shell_and_tests.gyp:content_browsertests', '../content/content_shell_and_tests.gyp:content_browsertests',
'../third_party/libjingle/libjingle.gyp:libjingle_peerconnection_javalib',
'../tools/android/android_tools.gyp:android_tools', '../tools/android/android_tools.gyp:android_tools',
'../tools/android/android_tools.gyp:memconsumer', '../tools/android/android_tools.gyp:memconsumer',
# Unit test bundles packaged as an apk. # Unit test bundles packaged as an apk.
......
...@@ -553,6 +553,40 @@ if (enable_webrtc) { ...@@ -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 } # enable_webrtc
# TODO(GYP): Port libjingle.gyp's enable_webrtc condition block. # TODO(GYP): Port libjingle.gyp's enable_webrtc condition block.
...@@ -574,9 +574,9 @@ ...@@ -574,9 +574,9 @@
], ],
}, },
{ {
# GN version: //third_party/libjingle:libpeerconnection # GN version: //third_party/libjingle:libpeerconnection (shared with ':libpeerconnection')
'target_name': 'libpeerconnection', 'target_name': 'libjingle_mediaengine',
'type': '<(libpeer_target_type)', 'type': 'static_library',
'sources': [ 'sources': [
# Note: sources list duplicated in GN build. # Note: sources list duplicated in GN build.
'<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.cc', '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.cc',
...@@ -589,13 +589,27 @@ ...@@ -589,13 +589,27 @@
'<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h', '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h',
], ],
'dependencies': [ 'dependencies': [
'<(DEPTH)/third_party/webrtc/system_wrappers/source/system_wrappers.gyp:system_wrappers', 'libjingle_webrtc_common',
'<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_engine', '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_engine',
'<(DEPTH)/third_party/webrtc/webrtc.gyp:webrtc', '<(DEPTH)/third_party/webrtc/webrtc.gyp:webrtc',
],
},
{
# GN version: //third_party/libjingle:libpeerconnection
'target_name': 'libpeerconnection',
'type': '<(libpeer_target_type)',
'dependencies': [
'<(DEPTH)/third_party/webrtc/system_wrappers/source/system_wrappers.gyp:system_wrappers',
'<@(libjingle_peerconnection_additional_deps)', '<@(libjingle_peerconnection_additional_deps)',
'libjingle_webrtc_common', 'libjingle_mediaengine',
], ],
'conditions': [ 'conditions': [
['libpeer_target_type=="static_library" and OS=="mac"', {
# TODO(serya): Temporary workaround for crbug.com/418915. Remove when fixed.
'sources': [
'overrides/empty.cc',
]
}],
['libpeer_target_type!="static_library"', { ['libpeer_target_type!="static_library"', {
'sources': [ 'sources': [
'overrides/initialize_module.cc', 'overrides/initialize_module.cc',
...@@ -646,5 +660,35 @@ ...@@ -646,5 +660,35 @@
}, # target libpeerconnection }, # target libpeerconnection
], ],
}], }],
['enable_webrtc==1 and OS=="android"', {
'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',
'<(DEPTH)/third_party/webrtc/system_wrappers/source/system_wrappers.gyp:field_trial_default',
'libjingle_mediaengine',
],
'defines': [ 'LIBPEERCONNECTION_LIB=1' ],
'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' ],
},
],
}],
], ],
} }
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// TODO(serya): Temporary workaround for https://crbug.com/418915.
// To be removed when fixed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment