libjingle 网络库。 system_wrapper 与操作系统相关的代码,如 CPU特性,原子操作,读写锁,时钟等。
Build --arch arm64-v8a --extra-gn-args "is_debug=true symbol_level=2 android_full_debug=true" 这时编译出的 libjingle_peerconnection_so.so
armeabi-v7a 编译成功后会输出两个文件: out/release/armeabi-v7a/lib.java/sdk/android/libwebrtc.jar out/release/armeabi-v7a/libjingle_peerconnection_so.so
更改会话和终止会话(可选) 3)当会话双方同时尝试建立或者更改会话时,实施双占用分解(可选) 哪些可以做为信令的传输协议: HTTP、WebSocket、TCP、UDP、MQTT等等都可以 信令协议: SIP、LibJingle
我们需要从不同公司获得不同的专业组件,而这一切都要获得对方公司的许可,如来自GIPS的音频,Vidyo的视频,libjingle的网络。接下来就是奇迹的发生:把它们组装到一起!
---- Transport / Session 传输部分可基于 TCP/UDP,会话层组件采用了 libjingle 库的部分组件实现。
在此之后,Google 又将在 Gtalk 中用于 P2P 打洞的开源项目 libjingle 融合进了 WebRTC。
在此之后,Google 又将在 Gtalk 中用于 P2P 打洞的开源项目 libjingle 融合进了 WebRTC。
在此之后,Google 又将在 Gtalk 中用于 P2P 打洞的开源项目 libjingle 融合进了 WebRTC。
当然可以拿开源的一些实现来抄一下(例如:libjingle),或者拥抱一下Google的QUIC协议,然而,这些都需要不少成本的。 上面说了这么多,难道真的不该用UDP了吗?
Jingle是由Google开发的XMPP扩展,目的是为语音和视频提供消息传递服务:当前的WebRTC实现是基于C++ libjingle库的,这是最初为Google Talk开发的Jingle实现版本
它可以动态链接Android WebRTC库libjingle_peerconnection_so.so,而无需进行明显的修改。
当然可以拿开源的一些实现来抄一下(例如:libjingle),或者拥抱一下 Google 的 QUIC 协议,然而,这些都需要不少成本的。 上面说了这么多,难道真的不该用UDP了吗?
关于事件和信号机制的实现,网络上的开源训也比较多,比如FastDelegate,sigslot,boost::signal等,其中sigslot还被Google采用,在libjingle的代码中我们可以看到他是如何被使用的