Bug 987979: Patch 3 - Fix various build issues in webrtc.org/Mozilla integration. r=rjesup

This commit is contained in:
Randell Jesup 2014-05-29 17:05:14 -04:00
Родитель 21318d2311
Коммит 964601c191
14 изменённых файлов: 40 добавлений и 23 удалений

Просмотреть файл

@ -347,7 +347,6 @@ commdlg.h
compat.h
condapi.h
ConditionalMacros.h
config.h
conio.h
console.h
ControlDefinitions.h

Просмотреть файл

@ -131,12 +131,10 @@ MediaEngineWebRTC::EnumerateVideoDevices(nsTArray<nsRefPtr<MediaEngineVideoSourc
MutexAutoLock lock(mMutex);
#ifdef MOZ_WIDGET_ANDROID
jobject context = mozilla::AndroidBridge::Bridge()->GetGlobalContextRef();
// get the JVM
JavaVM *jvm = mozilla::AndroidBridge::Bridge()->GetVM();
if (webrtc::VideoEngine::SetAndroidObjects(jvm, (void*)context) != 0) {
if (webrtc::VideoEngine::SetAndroidObjects(jvm) != 0) {
LOG(("VieCapture:SetAndroidObjects Failed"));
return;
}

Просмотреть файл

@ -169,13 +169,15 @@ inline To implicit_cast(From const &f) {
// the expression is false, most compilers will issue a warning/error
// containing the name of the variable.
// Avoid multiple definitions for webrtc
#if !defined(COMPILE_ASSERT)
template <bool>
struct CompileAssert {
};
#undef COMPILE_ASSERT
#define COMPILE_ASSERT(expr, msg) \
typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1]
#endif
// Implementation details of COMPILE_ASSERT:
//

Просмотреть файл

@ -53,8 +53,8 @@ static char *RCSSTRING __UNUSED__="$Id: addrs.c,v 1.2 2008/04/28 18:21:30 ekr Ex
#undef __unused
#include <linux/sysctl.h>
#endif
#include <net/if.h>
#ifndef LINUX
#include <net/if.h>
#if !defined(__OpenBSD__) && !defined(__NetBSD__)
#include <net/if_var.h>
#endif

Просмотреть файл

@ -39,13 +39,15 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#else
#include <sys/param.h>
#include <sys/socket.h>
#include <net/if.h>
#ifndef LINUX
#include <net/if.h>
#if !defined(__OpenBSD__) && !defined(__NetBSD__)
#include <net/if_var.h>
#endif
#include <net/if_dl.h>
#include <net/if_types.h>
#else
#include <linux/if.h>
#endif
#ifndef BSD
#include <net/route.h>

Просмотреть файл

@ -50,7 +50,6 @@
'./include',
'./src/sipcc/include',
'./src/sipcc/cpr/include',
'../../../ipc/chromium/src',
'../../../ipc/chromium/src/base/third_party/nspr',
'../../../xpcom/base',
'../../../dom/base',
@ -63,9 +62,6 @@
'../trunk/webrtc/modules/interface',
'../trunk/webrtc/peerconnection',
'../../libyuv/include',
'../../../netwerk/srtp/src/include',
'../../../netwerk/srtp/src/crypto/include',
'../../../ipc/chromium/src',
'../../mtransport/third_party/nrappkit/src/util/libekr',
],
@ -160,8 +156,6 @@
'./src/mediapipeline/MediaPipeline.cpp',
'./src/mediapipeline/MediaPipelineFilter.h',
'./src/mediapipeline/MediaPipelineFilter.cpp',
'./src/mediapipeline/SrtpFlow.h',
'./src/mediapipeline/SrtpFlow.cpp',
],
#
@ -194,12 +188,28 @@
# Conditionals
#
'conditions': [
# hack so I can change the include flow for SrtpFlow
['build_with_mozilla==1', {
'sources': [
'./src/mediapipeline/SrtpFlow.h',
'./src/mediapipeline/SrtpFlow.cpp',
],
'include_dirs!': [
'../trunk/webrtc',
],
'include_dirs': [
'../../../netwerk/srtp/src/include',
'../../../netwerk/srtp/src/crypto/include',
],
}],
['moz_webrtc_omx==1', {
'sources': [
'./src/media-conduit/WebrtcOMXH264VideoCodec.cpp',
'./src/media-conduit/OMXVideoCodec.cpp',
],
'include_dirs': [
# hack on hack to re-add it after SrtpFlow removes it
'../../webrtc/trunk/webrtc',
'../../../content/media/omx',
'../../../gfx/layers/client',
],
@ -238,6 +248,7 @@
],
'defines': [
'OS_LINUX',
'SIP_OS_LINUX',
'_GNU_SOURCE',
'LINUX',
@ -252,6 +263,7 @@
'include_dirs': [
],
'defines': [
'OS_WIN',
'SIP_OS_WINDOWS',
'WIN32',
'GIPS_VER=3480',
@ -279,6 +291,7 @@
'include_dirs': [
],
'defines': [
'OS_MACOSX',
'SIP_OS_OSX',
'OSX',
'_FORTIFY_SOURCE=2',

Просмотреть файл

@ -18,6 +18,8 @@
#include "CallControlManagerImpl.h"
#include "csf_common.h"
#include "base/platform_thread.h"
extern "C"
{
#include "config_api.h"

Просмотреть файл

@ -245,12 +245,10 @@ MediaConduitErrorCode WebrtcVideoConduit::Init(WebrtcVideoConduit *other)
} else {
#ifdef MOZ_WIDGET_ANDROID
jobject context = jsjni_GetGlobalContextRef();
// get the JVM
JavaVM *jvm = jsjni_GetVM();
if (webrtc::VideoEngine::SetAndroidObjects(jvm, (void*)context) != 0) {
if (webrtc::VideoEngine::SetAndroidObjects(jvm) != 0) {
CSFLogError(logTag, "%s: could not set Android objects", __FUNCTION__);
return kMediaConduitSessionNotInited;
}

Просмотреть файл

@ -104,7 +104,7 @@
}],
],
}],
['toolkit_uses_gtk==1', {
['(toolkit_uses_gtk==1) and (build_with_mozilla==0)', {
'dependencies': [
'../tools/gtk_clipboard_dump/gtk_clipboard_dump.gyp:*',
'../tools/xdisplaycheck/xdisplaycheck.gyp:*',

Просмотреть файл

@ -66,7 +66,7 @@
['exclude', '(^|/)x11_[^/]*\\.(h|cc)$'],
],
}],
['<(toolkit_uses_gtk)!=1 or >(nacl_untrusted_build)==1', {
['(<(toolkit_uses_gtk)!=1 or >(nacl_untrusted_build)==1) and (build_with_mozilla==0)', {
'sources/': [
['exclude', '_gtk(_browsertest|_unittest)?\\.(h|cc)$'],
['exclude', '(^|/)gtk/'],

Просмотреть файл

@ -14,13 +14,13 @@
#include "webrtc/modules/interface/module.h"
#include "webrtc/modules/video_capture/include/video_capture_defines.h"
#ifdef ANDROID
#if defined(ANDROID) && !defined(WEBRTC_GONK)
#include <jni.h>
#endif
namespace webrtc {
#if defined(ANDROID) && !defined(WEBRTC_CHROMIUM_BUILD)
#if defined(ANDROID) && !defined(WEBRTC_CHROMIUM_BUILD) && !defined(WEBRTC_GONK)
int32_t SetCaptureAndroidVM(JavaVM* javaVM);
#endif

Просмотреть файл

@ -21,7 +21,7 @@
#include "webrtc/common_types.h"
#if defined(ANDROID) && !defined(WEBRTC_CHROMIUM_BUILD)
#if defined(ANDROID) && !defined(WEBRTC_CHROMIUM_BUILD) && !defined(MOZ_WIDGET_GONK)
#include <jni.h>
#endif
@ -64,7 +64,7 @@ class WEBRTC_DLLEXPORT VideoEngine {
// user receives callbacks for generated trace messages.
static int SetTraceCallback(TraceCallback* callback);
#if defined(ANDROID) && !defined(WEBRTC_CHROMIUM_BUILD)
#if defined(ANDROID) && !defined(WEBRTC_CHROMIUM_BUILD) && !defined(MOZ_WIDGET_GONK)
// Android specific.
static int SetAndroidObjects(JavaVM* java_vm);
#endif

Просмотреть файл

@ -155,7 +155,7 @@ int VideoEngine::SetTraceCallback(TraceCallback* callback) {
return Trace::SetTraceCallback(callback);
}
#if defined(ANDROID) && !defined(WEBRTC_CHROMIUM_BUILD)
#if defined(ANDROID) && !defined(WEBRTC_CHROMIUM_BUILD) && !defined(WEBRTC_GONK)
int VideoEngine::SetAndroidObjects(JavaVM* javaVM) {
WEBRTC_TRACE(kTraceApiCall, kTraceVideo, kModuleId,
"SetAndroidObjects()");

Просмотреть файл

@ -83,12 +83,15 @@ stjar.javac_flags = ['-Xlint:none']
if CONFIG['MOZ_WEBRTC']:
video_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/'
video_render_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_render/android/java/src/org/webrtc/videoengine/'
audio_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/'
wrjar = add_java_jar('webrtc')
wrjar.sources += [
video_root + 'CaptureCapabilityAndroid.java',
video_root + 'VideoCaptureAndroid.java',
video_root + 'VideoCaptureDeviceInfoAndroid.java',
video_render_root + 'ViEAndroidGLES20.java',
video_render_root + 'ViERenderer.java',
]
wrjar.sources += [
audio_root + 'AudioManagerAndroid.java',