xhook / libjingle

libjingle clone

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Libjingle

0. Pre-introduction

This project is a community fork of libjingle/webrtc repositories.

0.1. Purpose

The purpose of this project is:
  * to provide native API for major platoforms (Windows, Mac OS X, GNU/Linux,
    iOS, Android)
  * to implement quality video renderers for these platforms

0.2. Priciples of developemnt

  * Introduce minimum changes
  * Honor Google style
  * Contribute back to WebRTC project

1. Introduction

Libjingle is a set of components provided by Google to implement Jingle
protocols XEP-166 (http://xmpp.org/extensions/xep-0166.html) and XEP-167
(http://xmpp.org/extensions/xep-0167.html). Libjingle is also backward
compatible with Google Talk Call Signaling
(http://code.google.com/apis/talk/call_signaling.html). This package will
create several static libraries you may link to your projects as needed.

-talk               - No source files in talk/, just these subdirectories
|-base              - Contains basic low-level portable utility functions for
|                     things like threads and sockets
|-p2p               - The P2P stack
  |-base            - Base p2p functionality
  |-client          - Hooks to tie it into XMPP
|-session           - Signaling
  |-phone           - Signaling code specific to making phone calls
    |-testdata      - Samples of RTP voice and video dump
  |-tunnel          - Tunnel session and channel
|-third_party       - Folder for third party libraries
  |-libudev         - Folder containing libudev.h
|-xmllite           - XML parser
|-xmpp              - XMPP engine

In addition, this package contains two examples in talk/examples which
illustrate the basic concepts of how the provided classes work.

2. How to Build

We now support two ways to build libjingle: GYP and Scons. We recommend
using GYP which is easier to get dependencies and simple to use.

2.1. Building using GYP

2.1.1. Prerequisites

First, be sure to install the prerequisite software.
http://www.webrtc.org/reference/getting-started/prerequisite-sw

The currently supported platforms are Windows, Mac OS X, and Linux.

2.1.2. Getting the code and building

Create a working directory, enter it, and run:
$ gclient config https://github.com/xhook/libjingle.git
$ gclient sync

The sync will generate native build files for your environment using gyp
(Linux: make/ninja, OS X: XCode/make/ninja, Windows: Visual Studio). This
generation can also be forced manually:
$ gclient runhooks

It is also possible to choice the build method by set the environment variable
GYP_GENERATORS. For examplerun this on mac will generate makefiles instead of
xcode projects:
$ GYP_GENERATORS=make gclient runhooks

For more information on ninja build:
http://code.google.com/p/chromium/wiki/NinjaBuild

On Windows, gyp will use the latest Visual Studio on your system by default.
In order to specify a particular Visual Studio version, there are a few
options. You can set an environment variable GYP_MSVS_VERSION=<version> before
runhooks, or manually run the gyp command triggered by runhooks. From the
trunk/ directory:
$ build/gyp_chromium --depth=. -G msvs_version=<version> talk/libjingle_all.gyp

where <version> is, for example, 2008.

2.2. Building using SCons 

This project does not support SCons build.

About

libjingle clone

License:Other


Languages

Language:C++ 91.7%Language:C 6.4%Language:Python 0.8%Language:Java 0.6%Language:Objective-C 0.5%Language:Shell 0.0%