README.md 3.06 KB
Newer Older
Erwan Croze's avatar
Erwan Croze committed
1 2
[![pipeline status](https://gitlab.linphone.org/BC/public/ortp/badges/master/pipeline.svg)](https://gitlab.linphone.org/BC/public/ortp/commits/master)

François Grisez's avatar
François Grisez committed
3 4 5
oRTP
====

aymeric's avatar
aymeric committed
6

7
oRTP is a C library implementing the RTP protocol (rfc3550). It is available
aymeric's avatar
aymeric committed
8 9
for most unix clones (primilarly Linux and HP-UX), and Microsoft Windows.

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
For additional information, please [visit oRTP's homepage on **linphone.org**](http://www.linphone.org/technical-corner/ortp).


License
-------

<Copyright © Belledonne Communications?>

Liblinphone is dual licensed, available either
- under a GNU GPLv3 license for free (see LICENSE.txt file for details)
- under a proprietary license, for closed source projects. Contact sales@belledonne-communications.com for costs and other service information.

Prior to version 1.0.0, oRTP was licensed under LGPLv2. Due to inclusion of new code licensed under GPLv2, oRTP has become GPLv2,
and later in version 1.1.0, GPLv3.
For the sake of clarity, all source files headers were updated to mention the GPLv3 only.
25 26 27
oRTP versions prior to 1.0.0 of course remain LGPLv2.


28 29
Dependencies
------------
François Grisez's avatar
François Grisez committed
30 31 32 33

*bctoolbox[1]*: portability layer


34 35
Compilation
-----------
François Grisez's avatar
François Grisez committed
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Autotools procedure is deprecated. Use CMake to configure the source code.

	cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_paths>
	
	make
	make install

### Options:

- `CMAKE_INSTALL_PREFIX=<string>` : install prefix
- `CMAKE_PREFIX_PATH=<string>`    : column-separated list of prefixes where to search for dependencies
- `ENABLE_SHARED=NO`              : do not build the shared library
- `ENABLE_STATIC=NO`              : do not build the static library
- `ENABLE_STRICT=NO`              : build without strict compilation flags (-Wall -Werror)
- `ENABLE_TESTS=YES`              : build tester binaries
- `ENABLE_DOC=NO`                 : do not generate the documentation
- `ENABLE_DEBUG_LOGS=YES`         : turn on debug-level logs


### Note for packagers:

Our CMake scripts may automatically add some paths into research paths of generated binaries.
To ensure that the installed binaries are striped of any rpath, use `-DCMAKE_SKIP_INSTALL_RPATH=ON`
while you invoke cmake.

62 63 64 65 66 67 68 69
Rpm packaging
ortp rpm can be generated with cmake3 using the following command:
mkdir WORK
cd WORK
cmake3 ../
make package_source
rpmbuild -ta --clean --rmsource --rmspec ortp-<version>-<release>.tar.gz

aymeric's avatar
aymeric committed
70 71

How do you I test ?
François Grisez's avatar
François Grisez committed
72
-------------------
aymeric's avatar
aymeric committed
73 74 75

There are shorts and easy to understand programs given with the library. There are good example
to understand how to use oRTP api.
François Grisez's avatar
François Grisez committed
76

aymeric's avatar
aymeric committed
77 78 79 80 81 82 83
- rtpsend : sends a stream from a file on disk.
- rtprecv : receives a stream and writes it to disk.
- mrtpsend: sends multiple streams from a file on disk to a range of remote port.
- mrtprecv:	receives mutiple streams on a range of local ports and writes them on disk.


Is there some documentation ?
François Grisez's avatar
François Grisez committed
84
-----------------------------
aymeric's avatar
aymeric committed
85 86 87 88 89 90

See the doxygen generated API documentation in docs/html. Program examples are a very good
starting point.



François Grisez's avatar
François Grisez committed
91 92 93 94
----------------------------------------


[1] git://git.linphone.org/bctoolbox.git *or* <http://www.linphone.org/releases/sources/bctoolbox>