From 849b45380c876a2a8e1954b4d8520f08474d3418 Mon Sep 17 00:00:00 2001 From: liulihong Date: Tue, 9 May 2023 19:22:28 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=B8=8A=E4=BB=93libsrtp=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liulihong --- thirdparty/libsrtp/HPKBUILD | 52 +++++++++++++ thirdparty/libsrtp/README.OpenSource | 11 +++ thirdparty/libsrtp/README_zh.md | 12 +++ thirdparty/libsrtp/SHA512SUM | 2 + thirdparty/libsrtp/docs/hap_integrate.md | 72 ++++++++++++++++++ .../libsrtp/docs/pic/libsrtp_install_dir.png | Bin 0 -> 4764 bytes thirdparty/libsrtp/docs/pic/libsrtp_test.png | Bin 0 -> 17456 bytes thirdparty/libsrtp/docs/pic/libsrtp_usage.png | Bin 0 -> 26812 bytes thirdparty/libsrtp/libsrtp_oh_pkg.patch | 13 ++++ 9 files changed, 162 insertions(+) create mode 100644 thirdparty/libsrtp/HPKBUILD create mode 100644 thirdparty/libsrtp/README.OpenSource create mode 100644 thirdparty/libsrtp/README_zh.md create mode 100644 thirdparty/libsrtp/SHA512SUM create mode 100644 thirdparty/libsrtp/docs/hap_integrate.md create mode 100644 thirdparty/libsrtp/docs/pic/libsrtp_install_dir.png create mode 100644 thirdparty/libsrtp/docs/pic/libsrtp_test.png create mode 100644 thirdparty/libsrtp/docs/pic/libsrtp_usage.png create mode 100644 thirdparty/libsrtp/libsrtp_oh_pkg.patch diff --git a/thirdparty/libsrtp/HPKBUILD b/thirdparty/libsrtp/HPKBUILD new file mode 100644 index 00000000..4110d310 --- /dev/null +++ b/thirdparty/libsrtp/HPKBUILD @@ -0,0 +1,52 @@ +# Contributor: liulihong +# Maintainer: liulihong + +pkgname=libsrtp +pkgver=v2.5.0 +pkgrel=0 +pkgdesc="" +url="" +archs=("armeabi-v7a" "arm64-v8a") +license=("2001-2017 Cisco Systems, Inc") +depends=("openssl" "libpcap") +makedepends=() +install= +source="https://github.com/cisco/$pkgname/archive/refs/tags/$pkgver.tar.gz" +patchflag=true +builddir=$pkgname-${pkgver:1} +packagename=$builddir.tar.gz + +prepare() { + if $patchflag + then + cd $builddir + patch -p1 < `pwd`/../libsrtp_oh_pkg.patch + patchflag=false + cd $OLDPWD + fi + mkdir -p $builddir/$ARCH-build +} + +build() { + cd $builddir + ${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" -DOHOS_ARCH=$ARCH -B$ARCH-build -S./ -L -DBUILD_WITH_WARNINGS=OFF -DENABLE_OPENSSL=ON > `pwd`/$ARCH-build/build.log 2>&1 + make -j4 -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret + +} + +package() { + cd "$builddir" + make -C $ARCH-build install >> `pwd`/$ARCH-build/build.log 2>&1 + cd $OLDPWD +} + +check() { + echo "The test must be on an OpenHarmony device!" +} + +cleanbuild(){ + rm -rf ${PWD}/$builddir #${PWD}/packagename +} diff --git a/thirdparty/libsrtp/README.OpenSource b/thirdparty/libsrtp/README.OpenSource new file mode 100644 index 00000000..9230c421 --- /dev/null +++ b/thirdparty/libsrtp/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "libsrtp", + "License": "2001-2017 Cisco Systems, Inc", + "License File": "notes.txt", + "Version Number": "v2.5.0", + "Owner": "llh_01129@163.com", + "Upstream URL": "https://github.com/cisco/libsrtp/archive/refs/tags/v2.5.0.tar.gz", + "Description": "libSRTP provides functions for protecting RTP and RTCP. RTP packets can be encrypted and authenticated (using the srtp_protect() function), turning them into SRTP packets." + } +] diff --git a/thirdparty/libsrtp/README_zh.md b/thirdparty/libsrtp/README_zh.md new file mode 100644 index 00000000..d6c48ca2 --- /dev/null +++ b/thirdparty/libsrtp/README_zh.md @@ -0,0 +1,12 @@ +# libsrtp三方库说明 +## 功能简介 +libSRTP提供了保护RTP和RTCP的功能。RTP数据包可以进行加密和身份验证(使用srtp_protect()函数),将其转换为srtp数据包。 +## 使用约束 +- IDE版本:DevEco Studio 3.1 Beta2 +- SDK版本:ohos_sdk_public 3.2.11.9 (API Version 9 Release) +- 三方库版本:v2.5.0 +- 当前适配的功能:支持加密的rtp数据包传输 +- [2001-2017 Cisco Systems, Inc](https://github.com/cisco/libsrtp/blob/main/LICENSE) + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/libsrtp/SHA512SUM b/thirdparty/libsrtp/SHA512SUM new file mode 100644 index 00000000..2d96ec67 --- /dev/null +++ b/thirdparty/libsrtp/SHA512SUM @@ -0,0 +1,2 @@ +bd679ab65ccf22ca30fe867b9649a0b84cfa6fad6e22eb10f081141632f6dd56479a04d525b865f11fd46007303ca211065d9c170e4820d6ea7055403702340a libsrtp-2.5.0.tar.gz +4ca9729bdc73526ba392571672b3f24de11c74cb98cd95f4e71bcceda9b33597d8b6166202fbb0d12f9abd7ec2a99faa955f1c7c9a64e4088fde7b4bd7b9fca9 libsrtp_oh_pkg.patch diff --git a/thirdparty/libsrtp/docs/hap_integrate.md b/thirdparty/libsrtp/docs/hap_integrate.md new file mode 100644 index 00000000..1b1872d2 --- /dev/null +++ b/thirdparty/libsrtp/docs/hap_integrate.md @@ -0,0 +1,72 @@ +# libsrtp集成到应用hap +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 +## 开发环境 +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 3.2.11.9 (API Version 9 Release)](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fohos-sdk-windows_linux-public.tar.gz) +- [DevEco Studio 3.1 Beta2](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2Ff3%2Fv3%2FuJyuq3syQ2ak4hE1QZmAug%2Fdevecostudio-windows-3.1.0.400.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230408T013335Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D96262721EDC9B34E6F62E66884AB7AE2A94C2A7B8C28D6F7FC891F46EB211A70) +- [准备三方库构建环境](../../../tools/README.md#编译环境准备) +- [准备三方库测试环境](../../../tools/README.md#ci环境准备) +## 编译三方库 +- 下载本仓库 + ``` + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` +- 三方库目录结构 + ``` + tpc_c_cplusplus/thirdparty/libsrtp #三方库libsrtp的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ├── libsrtp_oh_pkg.patch #三方库libsrtp的patch文件 + ``` + +- 将libsrtp拷贝至tools/main目录下,并且将依赖的openssl和libpcap也拷贝至tools/main目录下 + ``` + cd tpc_c_cplusplus + cp thirdparty/libsrtp tools/main -rf + cp thirdparty/openssl tools/main -rf + cp thirdparty/libpcap tools/main -rf + ``` +- 在tools目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + ``` + cd tools + ./build.sh libsrtp openssl libpcap + ``` +- 三方库头文件及生成的库 + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ``` + libsrtp/arm64-v8a libsrtp/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 + ![thirdparty_install_dir](pic/libsrtp_install_dir.png) +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ``` + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libsrtp/${OHOS_ARCH}/lib/libsrtp2.a) + + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libsrtp/${OHOS_ARCH}/include) + ``` + ![libsrtp_usage](pic/libsrtp_usage.png) +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + +进入到构建目录执行ctest运行测试用例(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + ![libsrtp_test](pic/libsrtp_test.png) + +## 参考资料 +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) diff --git a/thirdparty/libsrtp/docs/pic/libsrtp_install_dir.png b/thirdparty/libsrtp/docs/pic/libsrtp_install_dir.png new file mode 100644 index 0000000000000000000000000000000000000000..6cf5660f8661721bb797890cbdfc50eeb0d8eff0 GIT binary patch literal 4764 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 DXV&_R literal 0 HcmV?d00001 diff --git a/thirdparty/libsrtp/docs/pic/libsrtp_test.png b/thirdparty/libsrtp/docs/pic/libsrtp_test.png new file mode 100644 index 0000000000000000000000000000000000000000..8353e522c5fdb79e13a5078dc10a26813bdf2b82 GIT binary patch literal 17456 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 Lx8_fW|MC9-C$6|u literal 0 HcmV?d00001 diff --git a/thirdparty/libsrtp/docs/pic/libsrtp_usage.png b/thirdparty/libsrtp/docs/pic/libsrtp_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..f27f875a22d8704acfb1a2daf386875851a02621 GIT binary patch literal 26812 zcmeFYcT`i`8ZYX$p#lPe(#a;MR6$UB+d$|F0@9=@y*KF)qSCv76r~9wz4soeq4y#L zi1ZqI0;JyH-simY&b@bx`|jUwjX}vObFG#6&2N6cG9zASC{x~Ix^?N&B}!ElkoKiZ zSK>+k58k*=`n}D=NlyCn$6IY>`AcQPEL)@xS8e2;%U!xu8ApzLbB*-*rmKqK+e?>j zcV7Jb0dpy^ymZM{OBE#d(#I6Ju%$yc`%Ux=k@eVnaj@lcqae*lmsDc?G-GK_8 z4>zi=-l*cp`Jm3h6ZxlYeI4`9y6|MjI*)p;@rAmDIesui^E4)vXa#(@J~ik)+*eZ4 z&r>BtTePcp-gXw8uwl90muQ%OWb`=+MFklb*`2K>Bcff1N}%7HWdwUd`0tIyBK$t^ z_XcACM*QB@D;TQs_b&J7|HWxC5!8iTx4ia`-c+{7upC0FB>-16^{)8A_Oqdwm4)lT zZ|Rv1Vvs7bYkg9A7cI)%y-5}CZx8n2?MOHLY^m=&Ir$3)$vpF(%7V3Sx}{}>^F)%D z=IjkPQ}t7@Yij`Z&@0Y|VUWu^0)URBHQ{IJn@Vrg%;Ci^&E#ME3gx&Ecp{+`*q(J) zhx6~Yowpt;&&9LO$3-SYWq$T%a8bWKg%CWVwH`rI;!CHG_h6e7-UeT!BTB;Y#Y4n{ zFoZ5Suk2C}eSXCgU9&c-=lY#%P2Y`zRPGK44nt3NDKAGwG3*uomCzYDz9Ea)e)6bZ zM;NW%@Z7m>GpYgxp2eAp~WAyvbI2%;}*ZR;Bc}48_mvEcZ%YtO_+wn<> z4a^2Ts42szF61sjGDJ%=cA+Zwc$4|?ARPhfhVd9DdzDG~Rn$uJ)X~Qp%LYnz?F`xc z8{e@#Zk}u68q;SS(*X4r_VKiY(%O7?I-Q5?V`VstY%aK#Z{Xec4z2b+qQwdq-4CFG zQy2P}h|O(w&b^@_1pno<`siCE;*tD2s&X>CPaPuWn`b=f;`y5ox`UD!*xezCOZHaf zWFb9uTkKWiF+0+MEzAdR3`?3v@0RHpZNQ3^s5JKIkxX>(**!Ungg1;La2H`{!o!Yz zL4oTO18*b#!VP?-$4W2R5%RbPhvJlK)H%ynYhwj|p;u;7jRds9G%oa^d;;> zC(<4H<;P$@9r~t-2PBHya$csUH_x5zFO@rx+SqOa`Bb0u`<;92 zV@1ZQJe`4!I2SYE!H|#=nM1s}m<*DOaOY{<^$+@y01NYmYm8d@kpdLx<<&t=b8KMO zRD{gxb@&^7=iFTM%J{bEX208_$i?`=JT?qfIXCH?R-#D&J+>cl&we@)vlS#W&pYO< zp15|DJVD$%{Q9Ufg!PXu)QqgpLWIPd$|idS@9dY+pwbo&nCA>}v$TWH zcggXkI&`A_8l}sNliV+p=-8oER2;_wid^bc$qt-{)%CEkn(C|9{6k$2n-L%`^@)Bw zV{e}TNCW$vhPv#VDZ#A&nU+F&35NnaDD255+$gqX{2oR4R}tPhAUvNdWV8A7UW#9} zyb}+rsp2nl=9W-23W07kM7NuTp|nZE+siJnEn0C+tj{QX z9mop9^y%_F11No&BgBNL6#hE1;4_{FXbB{{5;eaz=FnXe=5*`(Nff~f)TBQTRZ%=F zz*;z4->F?QC+Y(_yN(1H7E+kB1n$kYB_#5urnTmpa4&lPRkNS;6Y&ZXQn$aOS_w8k zZzgkla~{Jr;`P!wm+QeMRZF)Dhl|~Vi$414bmld^{fZ`G`{d(hN8^>i`J0RUJPP{i z7H4YTe)os=25&4YFowO%J&tOhsdFcV{UB>-??u58ozLM&AQcbgfS`~w)KV0p^_>dh z;WxQ|)Q2_}+l1+d#B+|{wNV^pGK5mq(C(**8PYnd@BI*3=QR4THm8c)AQMtpYgRJ* zwKqFAim;cCf*V@drqO4sxFV;`NyoI({^U+%M6XbUO+<_`Xn%Qd^% z#Oka2ugi%_-6u6K@Ex{YV-wO7jtNKn*QsomWO zjHLm3FKu>u0}VnHrg7Uwd?tI54Xl$4AJkTpIu7%C*M0`~hL0w$M2+AD7xk6eBGnQaMBB6eHihQHTx{vNT`QTm{-V4+w=go+001t z)SKyYne&Ue&d*AQzp6q_#Kee}5JvY%%wx=%4b9Jv_dF*Vz1ef4N8cw4&Q~boD=`RX zVn}lJ7BzPYfKj`eO4_&{XE3-P$2U_q;`80WgfL}_QmZj(lzBd`unK~q!?!LH_sL;p zTgDW!2gMOMsNYn{F%_~*N8iNMp?@UPO>Jjck58DwB{+84m;_1{y?CL$*17*E(^Hc; zFMbrTFr}a>*#~+51l#$CN>X-44LpQlK}p{7DRPxq>Q}28DC)KsH5_i_CMv%u!<|y; ziu&uo3xQ(4-y|)roLqTd-r)7x_k&yHBZ1w0ukdHLT%awr)%LsMms2F=k?<2_Nn$At z%AAxgoALQ@CUzmR1@G0Q-d-n8(jdx-i}MVBhJI}rTp!e)sP8LjZvnOpXF*nzUZ!ZC z+p3u?4zYqP5md+>LaTeRYxgg1bplvTpGDSfg5P|CoEY&LZ;6N>Cf6&pwa?}qbXo>% zDRT8rI^V1z7nHC%Rh&myhJPBT8hqo1k-FYSp#1h|SmE9BTu_i``M24F$9KJt>F#}y zoqBUmJ{lRXiE?Z_yho26_?ThzwTPKWQyE8o9uefe zN1U?3PW--iivJWg#2SGshW`+-4_e~}x^A-{>DG%bw@bWTTcR}_pth^VCnQoA-uJC| zx(VA4GWAei=;vwV^$xOlTH-QaDBXkr2!#+or%^+F135FT-v$@YuR`ClaTvAB4+g) z!1mst8xf2^=^?S|BL;BDk|)Lp+R=fuP!Syj+JUt#824;xt=&q5vTMxOcT(La;w(Ub4p( zTX>^G3noTG+Q0#hP}(>OXGT)}wq^js0BeYfAd#?Dp9&psT{1E>*{a>d;@F)br)o9CoBSF33UUXM zNq$(1P!$@fJ*l=2YMlga7o_psH=tm{YNWmk#Dqbi62l&J4`_k!ijaXyAZMAcCMUaY z|0wgUXNE235=+r$1+mL=a;Hz7`Jp|_bCP_e;HbrbP7$L|VS&pllIOGl#BxiYW&l^; zbFs#gJJl1)A6ZQvt|LT6!i)yoiK)ac*jch$!ILsM|Cl8oSJh! z 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 literal 0 HcmV?d00001 diff --git a/thirdparty/libsrtp/libsrtp_oh_pkg.patch b/thirdparty/libsrtp/libsrtp_oh_pkg.patch new file mode 100644 index 00000000..9d1999c7 --- /dev/null +++ b/thirdparty/libsrtp/libsrtp_oh_pkg.patch @@ -0,0 +1,13 @@ +--- libsrtp-2.5.0/CMakeLists.txt 2023-02-01 15:25:02.000000000 +0800 ++++ CMakeLists.txt 2023-03-22 10:57:04.552717234 +0800 +@@ -289,7 +289,9 @@ + find_package(PCAP) + if (PCAP_FOUND) + add_executable(rtp_decoder test/rtp_decoder.c test/getopt_s.c test/util.c) +- target_link_libraries(rtp_decoder srtp2 ${PCAP_LIBRARY}) ++ target_link_libraries(rtp_decoder srtp2 ${PCAP_LIBRARY_TEMP}) ++ target_include_directories(rtp_decoder PRIVATE ${PCAP_INCLUDE_DIR_TEMP}) ++ + endif() + + if(NOT (BUILD_SHARED_LIBS AND WIN32)) -- Gitee From dde64f06cfea483ce9355bcd9274389ae6c37afd Mon Sep 17 00:00:00 2001 From: liulihong Date: Tue, 9 May 2023 19:42:22 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B7=BB=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liulihong --- thirdparty/libsrtp/docs/hap_integrate.md | 8 ++++++-- .../libsrtp/docs/pic/libsrtp_install_dir.png | Bin 4764 -> 8054 bytes thirdparty/libsrtp/docs/pic/libsrtp_usage.png | Bin 26812 -> 65730 bytes 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/thirdparty/libsrtp/docs/hap_integrate.md b/thirdparty/libsrtp/docs/hap_integrate.md index 1b1872d2..e96da5af 100644 --- a/thirdparty/libsrtp/docs/hap_integrate.md +++ b/thirdparty/libsrtp/docs/hap_integrate.md @@ -53,9 +53,13 @@ ``` #将三方库加入工程中 target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libsrtp/${OHOS_ARCH}/lib/libsrtp2.a) - - #将三方库的头文件加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libpcap/${OHOS_ARCH}/lib/libpcap.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/${OHOS_ARCH}/lib/libssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/${OHOS_ARCH}/lib/libcrypto.a) +#将三方库的头文件加入工程中 target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libsrtp/${OHOS_ARCH}/include) + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libpcap/${OHOS_ARCH}/include) + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/${OHOS_ARCH}/include) ``` ![libsrtp_usage](pic/libsrtp_usage.png) ## 测试三方库 diff --git a/thirdparty/libsrtp/docs/pic/libsrtp_install_dir.png b/thirdparty/libsrtp/docs/pic/libsrtp_install_dir.png index 6cf5660f8661721bb797890cbdfc50eeb0d8eff0..1aeb40668b9a20998a94de361e19ffe9e41f901c 100644 GIT binary patch literal 8054 zcmbtZXH-+$whkg9f^<-NliuNg5Smg$3km|EcabIs2)$V-O7GRcQ35EvcS7$a8U%!Z zT%?A2=+a*jkN2MY-hF4BH{OqoHTKTlYt239H^2FH`1- zEZCpK^=sHWeF;}HumgdYzJ@ZOY?K*;y}0UlU-v!$P#I5pW8zImdxU(Gk(J)`4D(L^nzT}YQ^M@`ww(xR*WTt^wecAEWK5kdiAon?lU-*tt7p8rgkjMyF`D zDsHKBWWzKsl$%7717{}gu%#d9_HBXYVxR@$F5-T3gdcB_YW6LtdF=`o{TB{8%&_i z27xU1gJ1wcxg&{Sp7=HH-OPcoRPuI_3PBXXvk@W;pk4ny5K!?bfgB)22PXt*|A$)+ z`S~;#wwb0wfCa}=IM;?zsRJMbSq5^na1kbK5Asn1em1@K#T+|w-V$alc4NgFRAEcd z?)jzG7icQcY~eDMoL=)FUo>vcAg$|*qS3aXiy#t1{LIAXK&|SPqfl*H*Od)UI{w4d zTFmsI*NL|fpnu8`ffnkNKsIi1$^V94}Q8&PY%5{`x2elTN4Kpsh38S=A zmaqBF4$=Y&xkBT54T?+U3$3OBzg@x5_FF~&F8V^{gR5SVQj2k5sAM4<;IWAlhHRvz z6x9*}$RNVhJc9yGh<^@0y|Jvdk~VjWAOx&NXDc38$nEy&-F*QC{ATl$s)QD(NGx5S~Vh`K$lqkK_$N%T?p%8W1LNtVq1(#q`U zQI1z`kXQ(L`xl54W@ayPWd@d8fBGlnqS#rUnHZS@;}v&G0>5ogICd|T2RCm|Zt6mm zUvtEGt#+_Ahz7g&1#b>D(oVyxud8VB2KhXDi=FP3d5vF5oj?A$mr%fR_3k#b#$NFv z+zS@IP#H%3GA@y{peT7`>31}Re75#V89>YY4EoS zj@x%}T0F|wBwa!LzCYL4roUk6cOvV%hG98^^@Tj>v2`IO=!aU4 z0*P5qc2ncIVX$we$Z_i9nPgK?FSF=1mc0QjYRO>9Bhnm&gqXJa5c+3oCZxDPvxb}z z|1ePHwj+e1lW)oK-WP2to_5e)r4kJogsp{$+!{i-6nh?e9udju;QwSPiWvm>toisN*~nmTs@-q zdmq6wj_=3WmJZ7{OfI}E=M=lMOiIg&7n$za3jk~Ji`B1@&i;>Mo$Sh>C7pwIJfZQ) zd-LbS!{UGh^@Fl~+v>L1+EW)wPUiS=3IGPa$be1w(LW8C#K^j~hYQ~a%9{eWVar)x%luPS}*}dfir5$g+E37YH;U371^@Sjy&o zcQ&YhV{a2Nw? z`NYFK63AmR;vY>^A(gJPMf)4GJ}^Q@-;{d0Ujl0ZcYT?`zJi zV`WB#zfhJVD?E>KN8W2|YP53)j|xdWpqw*Z&Gr{~OU_(ww2G?1tUJ)%vy;V=y&#S- zTSY5}0|pSyO16?6H<4k*ufALkEwZ0<^Ez!68a47HkqtU?ZA>D`AEPxuMvicBBNM>! z_^GR1G5r%oh;e1$M;+WWtk}H5!glM>S^s>iuN?fiPC54c_)yD!zP!HR9f`wd?t+?* z$B9Xfph69yx80Pzna!w7oyT?ek6R8eTy-joD(fCdtPDd#HWX|mHL;GZR!@1c>VcM2 z)qw=#f>J^SB2H7oEhTjY(_V%1Js|*wd-87#lFFS{LIy4jz3R9La(41{*%Z(Fl?y+I zKL9FEVp&}UZRG8s6QAbA$6&OA|C@A^A;dqA5g>QF(>e%W-#fid{fP+AO>42>u zOYk(J>1i9UP-Kd{3Xt%di|{F`5JCNReC|g{)wO2)Il0geFuFg!uh z4dv0?O^LH)2}7sXxd`9L6!j!It%0h#9#_*=Ld}Ki?%7KiD^(xN!YLxSaG*fKZ~Tx7 zajr^(VUr{<0T#BQgi!-Cjp_!@E4qCAv9C1U3(p)|VW@>^L^dl$R{{!ZwR=-a5-s$^9tF&8#b zKG<5oMf40Gh89Uv=GtO@2Z7K)`;P6|+{Qf&xaau)8DbKCPw)K(LZkjma(dCb0=h$#6pay)LIgQ##a zs03nXXM)<{MVl;<;R8lsvcfpv9~0mdZECd`?08~k#3x}q$6K67LrYBRvT5&j6G<42 z4-b291!^D(`krw>vesLbM{PsoX#89l#osr$_aQLtT-WWh!B*-I8?c;*UyJoTNlND; zz%zo=2|>>h9#%~0@)$~ z5Kh%JH<=c<9|<`~=~A4XIFt`y?oP%BPr6XO>e4(n6sq4H*HA8^ZMq&$sVvR&zVJ;g zG19EAUOt|ccn3$f3>GdMcl96rLY{B3xg+(*6{OKgTE~ z_!RWs7*-G$i*{3k@p{V65zomf28C==+7G|G%x#@|2h!j_;0fk4`ZSsR%1c`M0Z9Uk z4prlm9f;dr1&;duN%;o9aWA+q`O?Mp;mhvSrr}N_ZTNPsF#r5ctt~vb&Ihcx9WII9 z5*-h+a#@Z$_eI9uWdBLu-)+|{@FE3Era4gO1IM7}0(PznIpU%a%y6`DB>?ZCD=kmX ztlU?B25Zk4n0ggzrihHr6R4q!b8?PmAY{im9z%uC7W!217b7~!TqRLy>1VwEB5_II zz;S&mzo7(B%!B2gG--g|pQ&7{@GYXE?@}tPO7Frlm4hX|1zOe$diwe%e(L8jJmLfp z+#=7(;Di=lt0d7K0|Pr* zp32e+L~7kijJvL_s`9XM2OoBJ{ch~O=9=KdgT+3cwVqDpD#O7?T4u>TM!=JrVDH%w zJqS4tf!DexO%L<+g1ME8+eq*^omIy>Zc-d1m6%>Hlg4{c=^V#aUjKlTLO7+Oob}S$ z=xLrNo|?Ub{zc8L|DBpOYtKKSX*7LWEfVnzT~IQV%ew7Q*TcZ6aq$kIl@FzPCgxPnc~Vl;yW#Z) z7u8?E7!S8O-S|iw+f!R+~4!_9Sw9SfTirCzBD3#h(OWJf5$0XX*lES$c=J zbCtZ%zR4M4%s8*9zrt_!IIo#Fy~)%GFvC2W+_PF#*DUnQ`PE@ziF4;b0b2rcew2W} zfswy@1c#qr3e!0#AdB>r5(_ij(~hQidSHsHz-Z zWQ+82u;<|UyjoT&>3rqn zEH9bUr#sl&1Z5f;Mp-3(Uty_4!S8ET>yrPz%qtutj9$kJI1Os^I@;Drkcbf_wUw>f ztnW0>xhdcwO1wL@_U^D-AgcoTx4)^m{z{gOam|Z{eQ+aN*TNGHNj_JJikn^Z8RTjo ziF6{)a)UFDkpjXj#O#q-Fb6*EORs<&z5XStNAzj`t&>p>*Bn z9(LFjVFoL7Lor@XSJ*C*Sftv$PYvZ8(*N8yoc7_t5;Odn;Y7%U8%zB<>#3u8_{>Y&b6qW37I#{NSaZ(88ti$SJB!S&FR5#**@Ppg!9mK0!1yuEULJeT^wum%+ zlePvmUk$C=73CFH2*-yIfAv z4rXXM8(}Rl$5~Lq9#Cs@KuD&GdzbDiru`|7(jAHJ11r$D<^O#r^;cI69P^@SA8N_$ zekjH7r~-=I5c{_VYs!2qHrW12*V=y&-|Fd~t|LPo&U+Xng8gbqbshVyeR0l|1bp~I zT7#ywo?O@W_>~Its$#IK=puw!jD-l#+MH^*9TT=tsQCeBInDBQ@@u3_T=QviY$^2m zySDIB>RwQ(gVo7rW6qkBY;660Nmtz19sXu+(3mEq$FuLk&R?Icc=`KI04ewGM`e=J zwH=Db4&qsGt_5hQ5z~9f{bS^k!nu}4D%yIzHV~iBuf$8BRbe@g&}^*=iT34_m=9M| z=tu?a4ay76hec1cUONOIG|6*D|B2fzD8Cxqc)!%FX?`0ozX%ilDcfKTZ=w5Z>@$cO z3zvueL5bR53iG*ahjQ~@3_ zr3kgvT;66g=2(pE|DxcQ^T)1X0mTq8jN8pgl4atw!{gf$SXvUHyg+3z4v0zP{u`rm zzEf|<()RwK{>}W09Wi?>G~;40DaW@Nw17?B;RP7Qgx&;f38H5=`~iX3Sbr2I+T4;E zz!Jr=M}`ps{ZE3&&79o+cL*LoL;r0fph*(BA(wwaU0gr>)$9_YsZ9;I1o2n&Mpm_b zhz%HQmB3j>1fs%gKqH~}kO4-XPz70)#9yqU6O=m*U)9vl)jMa?nIV9g#(Ir0(IuG<@T_|$uUETe0 zl+A#5r8TaX8+WI{l|P_7(Y%EH4x&4%X}d=Eq!#cFZud&i#XSR!m-o1tSpXR}{a7Lf zh;`wN0$4}jz8=s{rm~Dner&9&$5TeL6Uo~Xu<;UXMK$haxnMgl6*703WgtV6E;=^^ zd104~P}UdgWwr3BoL3vJtoeau==;fdNgTV!!JxD+e# z0i3MZ9B;V9S^$epl5g z10rUJr3NInWJ|ryN5rJ)`OOb&`g#hmTRhNOYnrLN+)@S~$W}Y>Jd(Xe*Ejhx(Pyo* zy{SX1FkB4WfFg<37_j2wTklu}N`$z2D46vXL@^n-U$ah~hk;3L-Y{VJ{1quZ_O*Rmh9GJKT~XUSpG@3%;}-n*JF zS(MeCrV|r@$QR36yLzjbfu*oSNj|pTu*U3&5aMmLrndVIuS&Q@{kwc+PnuHHRAB#b z)j8bi4H?*2NZoq@>;M#xs)HP#bSg!6-XQvo0iOKoAT&FH{GKF;mtg8zxF@!eJ;Kfc zfCyj{DD4I|PWjlLt@Q`|Eha%&urZq$n!p+&tq%-53hCbrT_>KcHMVd&By9iH^*1Pa z(^1=k*KY*YxaR60!-|dgi^= zo*Fpf!Qly#l&9f-_XK#;GOZ}Xt7xYBJv3{XgXK0C6A$d=R?!eE)Y$TSiyXAW{^#`rIN(=(4NjH)Z4=gjh9u)eI;uByraVJm}SNQuPqkcv2MK z&{}?0(0r(-01Sv?#_+lJ52kJB5t(h-5cUT};* zQ9aalq@^ zo7D@G+p~yWc`@=>1@85+^$2x3yR>o{8#t~;(Ny2EW9r+37WJKLS=HUjJ!<)SzTbJb zLCzDceHVErm#WKDH>HxtQs$uhNZh`Kr`cG=a}v%aTJ!SO(ELn+2jhCk zL`wl~2`+f`(V*FkL%GbnNW(=1+Urni>s_SPyru8=^x27GOU%Vmr}j)+>*CF=_41J7 z=8o^P;D*kOO^T#C%HgzW=kcp4ukRgAmh70a>jNbnB*4Z-g?D1tlqTF`dsMpH*ivO0HlEPf;dbFrd?r|*X3{81(=4oWK zh{uuD(>C-@agx|^%heJ?_0%B4s!2FaKUcg(dR#oW=Z%H6t0LJ{dzAZ7yZ5 zxHG2rIMb)PmRD_a&DG8~T34F{VuGwM369qE&a+N?U{;=i7f$i$y)k~IuB_bBdf-gB z)zpH>`3BL}Xtw3@mjBB7jCbHsrbmm=eqF()sFMBbLT9E)xIv6)y@r8Dm>^6a@Vs4B zRid8JI3BZe)VwfyqNNcP=WxDuY+uZad=fi`B3U`>INWD=xy`%R`NdQ3i}{2l@U*OX z)WQROI!hNhw^G(%H@Io=G~071CA%=F;U6m7UV#*6P0f!ly&p3JRwHlvCz1i|2>$BC zO4uk1bSOWj|ubYjC#%}7-C4C_w`m<>ytHNh%{4M>)MMut%i0y+r>uro229D zM>bZ9qO7HnlV8QV?P5pJ(I---_5!^vAuOcU46b3&GPGhnr46&0P&o7jr^W2jlT`_u_H~uK6 zqPR&5;JCsdw!!Ywsjj)A;LGM=toWUGs~zJwb73$yGX2%ROV}aQkEPcs6+B_Aw^$V6 z@e&#(D~T>v7O6(p3n1FQ>Tg3kck{4!B0`)9A@oe#FyA>pGalx~!xvN~>tf)X?{(0s z^mcb6J)LvziZ*X1x^p^{)mNRsfS=&k}XYd@m`aGJVOu*p*CR&&mOsYGBneW$PFJ1=cuXZvX%Q literal 4764 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 DXV&_R diff --git a/thirdparty/libsrtp/docs/pic/libsrtp_usage.png b/thirdparty/libsrtp/docs/pic/libsrtp_usage.png index f27f875a22d8704acfb1a2daf386875851a02621..949eb059a0209e370230c59e9a58fc55ec5c2196 100644 GIT binary patch literal 65730 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
JMv!b{BP#6G@@>b12FOC9N++rV@x;&}j0p0Jz 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 z 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 -- Gitee From a1f4b965701534d44c0550542a4b09d3df6ff3ec Mon Sep 17 00:00:00 2001 From: liulihong Date: Tue, 9 May 2023 19:46:54 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9libsrtp=E7=9A=84=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liulihong --- thirdparty/libsrtp/docs/hap_integrate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/thirdparty/libsrtp/docs/hap_integrate.md b/thirdparty/libsrtp/docs/hap_integrate.md index e96da5af..7cf59be4 100644 --- a/thirdparty/libsrtp/docs/hap_integrate.md +++ b/thirdparty/libsrtp/docs/hap_integrate.md @@ -40,7 +40,7 @@ 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 ``` - libsrtp/arm64-v8a libsrtp/armeabi-v7a + libsrtp/arm64-v8a libsrtp/armeabi-v7a libpcap/arm64-v8a libpcap/armeabi-v7a openssl/arm64-v8a openssl/armeabi-v7a ``` - [测试三方库](#测试三方库) -- Gitee From d100d7554128e9d5c9af051fe6b832c85909e10a Mon Sep 17 00:00:00 2001 From: liulihong Date: Tue, 9 May 2023 19:52:00 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liulihong --- thirdparty/libsrtp/docs/hap_integrate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/thirdparty/libsrtp/docs/hap_integrate.md b/thirdparty/libsrtp/docs/hap_integrate.md index 7cf59be4..1ffd06ea 100644 --- a/thirdparty/libsrtp/docs/hap_integrate.md +++ b/thirdparty/libsrtp/docs/hap_integrate.md @@ -40,7 +40,7 @@ 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 ``` - libsrtp/arm64-v8a libsrtp/armeabi-v7a libpcap/arm64-v8a libpcap/armeabi-v7a openssl/arm64-v8a openssl/armeabi-v7a + libsrtp/arm64-v8a libsrtp/armeabi-v7a libpcap/arm64-v8a libpcap/armeabi-v7a openssl/arm64-v8a openssl/armeabi-v7a ``` - [测试三方库](#测试三方库) -- Gitee