JRTPLIB
=======
> Developed at the [Expertise Centre for Digital Media (EDM)](http://www.edm.uhasselt.be),
> a research institute of the [Hasselt University](http://www.uhasselt.be)
Library location and contact
----------------------------
Normally, you should be able to download the latest version of the library
from this url: [http://research.edm.uhasselt.be/jori/jrtplib](http://research.edm.uhasselt.be/jori/jrtplib)
Documentation can be found at [jrtplib.readthedocs.io](http://jrtplib.readthedocs.io)
If you have questions about the library, you can mail me at:
[jori.liesenborgs@gmail.com](mailto:jori.liesenborgs@gmail.com)
Acknowledgment
--------------
I would like thank the people at the Expertise Centre for Digital Media
for giving me the opportunity to create this rewrite of the library.
Special thanks go to Wim Lamotte for getting me started on the RTP
journey many years ago.
Disclaimer & Copyright
----------------------
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
Installation notes
------------------
* Use the [CMake](https://cmake.org/) build system to compile the library.
In case extra include directories or libraries are needed, you can use the
`ADDITIONAL_` CMake variables to specify these. They will be stored in both
the resulting JRTPLIB CMake configuration file and the pkg-config file.
* The library documentation can be generated using Doxygen. An on-line
version can be found at [http://jrtplib.readthedocs.io](http://jrtplib.readthedocs.io)
* For systems with low memory or for applications which will involve only
a few participants at a time:
You can set the `HASHSIZE` defines in `rtpsources.h`, `rtpudpv4transmitter.h`
and `rtpudpv6transmitter.h` to a lower value to avoid memory being wasted.
Note that the library will have to be recompiled.
* Used defines:
- `WIN32`: For compilation on an Win32 platform.
- `_WIN32_WCE`: Define needed for compilation on a WinCE platform
- `RTP_HAVE_SYS_FILIO`: Set if `<sys/filio.h>` exists.
- `RTP_HAVE_SYS_SOCKIO`: Set if `<sys/sockio.h>` exists.
- `RTP_BIG_ENDIAN`: If set, assume big-endian byte ordering.
- `RTP_SOCKLENTYPE_UINT`: Indicates that getsockname used an unsigned int
as its third parameter.
- `RTP_HAVE_SOCKADDR_LEN`: Indicates that struct sockaddr has an sa_len
field.
- `RTP_SUPPORT_IPV4MULTICAST`: Enables support for IPv4 multicasting.
- `RTP_SUPPORT_THREAD`: Enables support for JThread.
- `RTP_SUPPORT_SDESPRIV`: Enables support for RTCP SDES private items.
- `RTP_SUPPORT_PROBATION`: If set, a few consecutive RTP packets are
needed to validate a member.
- `RTP_SUPPORT_GETLOGINR`: If set, the library will use getlogin_r instead
of getlogin.
- `RTP_SUPPORT_IPV6`: If set, IPv6 support is enabled.
- `RTP_SUPPORT_IPV6MULTICAST`: If set, IPv6 multicasting support is enabled.
- `RTP_SUPPORT_SENDAPP`: If set, sending of RTCP app packets is enabled.
- `RTP_SUPPORT_MEMORYMANAGEMENT`: If set, the memory management system is
enabled.
- `RTP_SUPPORT_RTCPUNKNOWN`: If set, sending of unknown RTCP packets is
enabled.
- `RTPDEBUG`: Enables some memory tracking functions and some debug
routines.
Cross-compilation of JThread & JRTPLIB for Android
--------------------------------------------------
**Warning:** When cross-compiling, the configuration defaults to big-endian.
But since most Android systems are little-endian, you should probably change
this setting in the CMake configuration.
The approach I follow for cross-compiling these libraries for the Android
platform is sketched below. The following lines are stored in a file called
`toolchain.cmake` (for example):
set(CMAKE_SYSTEM_NAME Android)
set(CMAKE_SYSTEM_VERSION 21) # API level
set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a)
set(CMAKE_ANDROID_NDK /path/to/ndk-bundle/)
set(CMAKE_ANDROID_STL_TYPE gnustl_static)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
When starting CMake, first for JThread and afterwards for JRTPLIB, I then manually
add the following entries:
CMAKE_TOOLCHAIN_FILE /path/to/toolchain.cmake
CMAKE_INSTALL_PREFIX /path/to/installation/directory
CMAKE_FIND_ROOT_PATH /path/to/installation/directory
For example, I like to use the `ccmake` program, which would yield
the following command line:
ccmake -DCMAKE_TOOLCHAIN_FILE=/path/to/toolchain.cmake \
-DCMAKE_INSTALL_PREFIX=/path/to/installation/directory \
-DCMAKE_FIND_ROOT_PATH=/path/to/installation/directory \
/path/to/main/CMakeLists.txt
After configuring JThread this way, just build and install it. The same CMake
procedure for JRTPLIB should then automatically detect the correct JThread
(so the one that's installed in your cross-compilation installation directory),
after which you can again build and install the RTP library.
没有合适的资源?快使用搜索试试~ 我知道了~
jrtplib-3.11.1 实现RTP收发功能的静态库
共384个文件
obj:84个
cpp:79个
h:61个
需积分: 9 18 下载量 26 浏览量
2019-01-15
18:11:07
上传
评论
收藏 4.65MB ZIP 举报
温馨提示
JRTPLIB 是一个用C++语言实现的RTP库,目前已经可以运行在Windows、Linux、FreeBSD、Solaris、Unix和 VxWorks等多种操作系统上
资源推荐
资源详情
资源评论
收起资源包目录
jrtplib-3.11.1 实现RTP收发功能的静态库 (384个子文件)
feature_tests.bin 38KB
CMakeDetermineCompilerABI_CXX.bin 35KB
CMakeDetermineCompilerABI_C.bin 35KB
TestEndianess.bin 35KB
CMAKE_SIZEOF_UNSIGNED_SHORT.bin 35KB
CMakeCCompilerId.c 17KB
CMAKE_SIZEOF_UNSIGNED_SHORT.c 903B
ALL_BUILD.vcxprojResolveAssemblyReference.cache 654B
example4.vcxprojResolveAssemblyReference.cache 654B
example3.vcxprojResolveAssemblyReference.cache 654B
example7.vcxprojResolveAssemblyReference.cache 654B
example2.vcxprojResolveAssemblyReference.cache 654B
example5.vcxprojResolveAssemblyReference.cache 654B
example1.vcxprojResolveAssemblyReference.cache 654B
example6.vcxprojResolveAssemblyReference.cache 654B
example8.vcxprojResolveAssemblyReference.cache 654B
ChangeLog 19KB
cmake.check_cache 86B
cmake_install.cmake 7KB
CMakeCXXCompiler.cmake 5KB
Macros.cmake 4KB
cmake_install.cmake 2KB
CMakeCCompiler.cmake 2KB
FindJThread.cmake 1KB
cmake_install.cmake 905B
FindLIBSRTP.cmake 774B
CMakeSystem.cmake 387B
JRTPLIBConfig.cmake 253B
CMakeRCCompiler.cmake 212B
rtpudpv4transmitter.cpp 46KB
rtpudpv6transmitter.cpp 40KB
rtpsession.cpp 38KB
rtpfaketransmitter.cpp 33KB
rtpsources.cpp 33KB
rtcpcompoundpacketbuilder.cpp 22KB
rtperrors.cpp 21KB
rtptcptransmitter.cpp 19KB
rtcppacketbuilder.cpp 18KB
CMakeCXXCompilerId.cpp 17KB
rtpsourcedata.cpp 16KB
rtpexternaltransmitter.cpp 15KB
rtppacket.cpp 11KB
rtcpscheduler.cpp 10KB
rtpinternalsourcedata.cpp 7KB
rtpsecuresession.cpp 7KB
readlogfile.cpp 7KB
rtppacketbuilder.cpp 7KB
abortdescipv6.cpp 7KB
example8.cpp 6KB
rtcpdump.cpp 6KB
rtpabortdescriptors.cpp 6KB
example7.cpp 6KB
rtcpcompoundpacket.cpp 6KB
rtcpsdespacket.cpp 6KB
srtptest.cpp 6KB
tcptest.cpp 5KB
rtpsessionsources.cpp 5KB
example3.cpp 5KB
example5.cpp 5KB
rtcpsdesinfo.cpp 4KB
rtpdebug.cpp 4KB
example6.cpp 4KB
rtprandomrands.cpp 4KB
rtppollthread.cpp 4KB
testexistingsockets.cpp 4KB
rtcpsrpacket.cpp 4KB
rtpcollisionlist.cpp 3KB
abortdesctest.cpp 3KB
example1.cpp 3KB
rtprandomrand48.cpp 3KB
testmultiplex.cpp 3KB
rtpipv6address.cpp 3KB
rtpsessionparams.cpp 3KB
rtcprrpacket.cpp 3KB
rtpbyteaddress.cpp 3KB
example4.cpp 3KB
rtcpbyepacket.cpp 3KB
rtprandom.cpp 3KB
rtpipv4address.cpp 3KB
rtprandomurandom.cpp 3KB
rtcpapppacket.cpp 3KB
testautoportbase.cpp 3KB
rtptcpaddress.cpp 2KB
rtcppacket.cpp 2KB
rtpipv6destination.cpp 2KB
example2.cpp 2KB
rtplibraryversion.cpp 2KB
rtptimeutilities.cpp 2KB
rtpipv4destination.cpp 2KB
timetest.cpp 1KB
gettypes.cpp 876B
ipv6mcasttest.cpp 466B
ipv4mcasttest.cpp 433B
socklentest.cpp 376B
ipv6test.cpp 350B
salentest.cpp 329B
arrayalloc.cpp 297B
timeinittest.cpp 220B
winsocktest.cpp 209B
msgnosignaltest.cpp 185B
共 384 条
- 1
- 2
- 3
- 4
资源评论
zhoubotong2012
- 粉丝: 770
- 资源: 49
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python的在线学习与推荐系统设计与实现(论文+源码)-kaic
- 蓝桥杯2024年第十五届省赛真题-前缀总分
- com.qihoo.appstore_300101305-1.apk
- tensorflow-gpu-2.7.1-cp37-cp37m-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp37-cp37m-manylinux2010-x86-64.whl
- tensorflow-2.7.1-cp39-cp39-manylinux2010-x86-64.whl
- 蓝桥杯2024年第十五届省赛真题-传送阵
- com.qihoo.appstore_300101305.apk
- linux之线程同步一.doc
- keil5配色方案10种
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功