【zlm】 webrtc源码讲解(二)

server/2024/10/24 8:03:52/

目录

webrtc播放

MultiMediaSourceMuxer里的_ring


webrtc播放

 

>	MediaServer.exe!mediakit::WebRtcPlayer::onStartWebRTC() 行 60	C++MediaServer.exe!mediakit::WebRtcTransport::OnDtlsTransportConnected(const RTC::DtlsTransport * dtlsTransport, RTC::SrtpSession::CryptoSuite srtpCryptoSuite, unsigned char * srtpLocalKey, unsigned __int64 srtpLocalKeyLen, unsigned char * srtpRemoteKey, unsigned __int64 srtpRemoteKeyLen, std::string & remoteCert) 行 207	C++MediaServer.exe!RTC::DtlsTransport::ExtractSrtpKeys(RTC::SrtpSession::CryptoSuite srtpCryptoSuite) 行 1314	C++MediaServer.exe!RTC::DtlsTransport::ProcessHandshake() 行 1070	C++MediaServer.exe!RTC::DtlsTransport::CheckStatus(int returnCode) 行 925	C++MediaServer.exe!RTC::DtlsTransport::ProcessDtlsData(const unsigned char * data, unsigned __int64 len) 行 768	C++MediaServer.exe!mediakit::WebRtcTransport::inputSockData(char * buf, int len, toolkit::Session * tuple) 行 448	C++MediaServer.exe!mediakit::WebRtcSession::onRecv_l(const char * data, unsigned __int64 len) 行 90	C++MediaServer.exe!mediakit::WebRtcSession::onRecv(const std::shared_ptr<toolkit::Buffer> & buffer) 行 98	C++MediaServer.exe!toolkit::emitSessionRecv(const std::shared_ptr<toolkit::SessionHelper> & helper, const std::shared_ptr<toolkit::Buffer> & buf) 行 156	C++MediaServer.exe!toolkit::UdpServer::onRead_l::__l10::<lambda>() 行 179	C++[外部代码]	MediaServer.exe!toolkit::TaskCancelableImp<void __cdecl(void)>::operator()() 行 111	C++MediaServer.exe!toolkit::EventPoller::onPipeEvent::__l2::<lambda>(const std::shared_ptr<toolkit::TaskCancelableImp<void __cdecl(void)>> & task) 行 307	C++MediaServer.exe!toolkit::List<std::shared_ptr<toolkit::TaskCancelableImp<void __cdecl(void)>>>::for_each<void <lambda>(const std::shared_ptr<toolkit::TaskCancelableImp<void __cdecl(void)>> &)>(toolkit::EventPoller::onPipeEvent::__l2::void <lambda>(const std::shared_ptr<toolkit::TaskCancelableImp<void __cdecl(void)>> &) && func) 行 203	C++MediaServer.exe!toolkit::EventPoller::onPipeEvent(bool flush) 行 305	C++MediaServer.exe!toolkit::EventPoller::addEventPipe::__l3::<lambda>(int event) 行 64	C++[外部代码]	MediaServer.exe!toolkit::EventPoller::runLoop(bool blocked, bool ref_self) 行 381	C++[外部代码]	MediaServer.exe!thread_start<unsigned int (__cdecl*)(void *),1>(void * const parameter) 行 97	C++[外部代码]	

MultiMediaSourceMuxer里的_ring

与我们在zlm里的播放无关

MultiMediaSourceMuxer里的_ring可供api直接调用,或者

 MultiMediaSourceMuxer::startSendRtp也应该是api调用的。


http://www.ppmy.cn/server/134387.html

相关文章

JavaScript 第30章:综合项目

看起来您想要了解如何在一个JavaScript为主的项目中进行项目规划、技术选型、开发流程以及维护等方面的内容&#xff0c;并且希望结合Java的源代码来进行详细的讲解。不过&#xff0c;JavaScript和Java是两种不同的编程语言&#xff0c;通常它们的应用场景也不同。JavaScript 主…

1G-5G的技术转变和应用

以下是以表格形式列出的1G到5G的技术转变和应用&#xff1a; 代际技术特点主要应用1G模拟信号传输语音信息&#xff0c;频分多址&#xff08;FDMA&#xff09;技术语音通话&#xff08;大哥大&#xff09;2G数字信号传输语音和低速数据业务&#xff0c;时分多址&#xff08;TD…

Navicat导入Excel数据时数据被截断问题分析与解决方案

目录 前言1. 问题分析1.1 默认字段类型的影响1.2 MySQL诊断机制的限制 2. 解决方案2.1 修改字段长度2.2 修改Excel数据以影响推断2.3 检查导入工具的设置 3. 其他注意事项3.1 注册表的修改3.2 增加自增ID 4. 结语 前言 在数据库的日常操作中&#xff0c;将Excel数据导入MySQL是…

自动化运维工具——ansible

文章目录 一、Ansible概念二、ansible实验1.安装ansible2.配置密钥对验证3.ansible 命令行模块1&#xff0e;command 模块2.shell 模块3&#xff0e;cron 模块&#xff08;计划任务&#xff09;4&#xff0e;user 模块5&#xff0e;group 模块6&#xff0e;copy 模块7&#xff…

【Chardet库】Chardet就是一个可以帮助我们自动识别文本文件编码的python库

Chardet库 1、探索Chardet&#xff1a;Python界的“侦探”2、什么是Chardet&#xff1f;3、安装Chardet4、实战案例一&#xff1a;猜猜我是谁5、实战案例二&#xff1a;解码文本6、实战案例三&#xff1a;处理网页内容7、结语 1、探索Chardet&#xff1a;Python界的“侦探” 今…

Linux学习_1

第0章Linux基础入门 主要包括什么是计算机&#xff0c;操作系统简介&#xff0c;Linux入门&#xff0c;常见Linux版本介绍&#xff0c;Linux认证&#xff0c;搭建Linux学习环境&#xff0c;这里主要写一下有关Linux操作的部分 搭建Linux学习环境 安装Linux操作系统&#xff08…

day-72 矩阵置零

思路 首先遍历数组&#xff0c;将出现零的行和列标记出来 解题过程 再次遍历数组&#xff0c;如果某元素的同行或同列已经被标记了&#xff08;即有零元素&#xff09;&#xff0c;那么将该元素置零 Code class Solution {public void setZeroes(int[][] matrix) {int m ma…

【JAVA毕设】基于JAVA的仓库管理系统

一、项目介绍 本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router实现动态路由&#xff0c;Ajax实现前后端通信&#xff0c;Element-plus组件库使页面快速成型。后端部分&#xff1a;采用SpringBoot作为开发框架&#xff0c;同时集成MyBatis、Redis、…