Skip to content
This repository was archived by the owner on Apr 23, 2023. It is now read-only.
sukinull edited this page Oct 21, 2015 · 8 revisions

Package dependency

  1. Groups
Development Tools 
  1. Packages
subversion
pkg-config
java-1.7.0-openjdk-devel
expat-devel
gtk2-devel
nss-devel
openssl-devel
pulseaudio-libs-devel
systemd-devel

EPEL 7 Only, (CentOS 7, Scientific Linux 7, RedHat 7)

  1. Download latest depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  1. Add depot_tools folder to your environmental variables PATH
export PATH=$HOME/Build/depot_tools:$PATH
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
export GYP_DEFINES="use_openssl=1"
  1. (Optional) For 32-bit compilation set target_arch *1
export GYP_DEFINES="$GYP_DEFINES target_arch=ia32"
  1. fetch webrtc, source *1 shows 3.52 is most stable(?)
mkdir webrtc-checkout
cd webrtc-checkout
fetch webrtc
  1. Download libwebrtc and dependencies
gclient sync --force
gclient sync --force

Build

  1. Very straightforward
gclient runhooks --force
ninja -C out/Debug
ninja -C out/Release

If you don't need Video and Audio(TODO: highly under test)

  1. comments HAVE_WEBRTC_VIDEO in
  • chromium/src/third_party/libjingle/source/talk/build/common.gypi
  • chromium/src/third_party/libjingle/libjingle.gyp
  1. patch ./talk/media/webrtc/webrtcvideocapturerfactory.cc
--- ./talk/media/webrtc/webrtcvideocapturerfactory.cc.orig	2015-10-21 19:05:44.557046601 +0800
+++ ./talk/media/webrtc/webrtcvideocapturerfactory.cc	2015-10-21 19:10:33.673506909 +0800
@@ -32,12 +32,16 @@
namespace cricket {

VideoCapturer* WebRtcVideoDeviceCapturerFactory::Create(const Device& device) {
+#if defined(HAVE_WEBRTC_VIDEO)
  rtc::scoped_ptr<WebRtcVideoCapturer> capturer(
      new WebRtcVideoCapturer());
  if (!capturer->Init(device)) {
    return NULL;
  }
  return capturer.release();
+#else
+  return NULL;
+#endif
}

}  // namespace cricket

Notes

*1) Is not tested. Source is here Building the code for Linux

Build the code

gclient

Clone this wiki locally