摘要: 结论: Linux上五元组关系由socket 维护的(但是mac 和linux 表现还不一样) 代码: udp-client.c #include <stdio.h> #include <string.h> #include <errno.h> #include <stdlib.h> #includ 阅读全文
posted @ 2024-09-06 11:14 yushimeng 阅读(4) 评论(0) 推荐(0) 编辑
摘要: “ When there are multiple NATs between the agent and the TURN server, the TURN request will create a binding on each NAT, but only the outermost serve 阅读全文
posted @ 2024-09-03 16:34 yushimeng 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2024-08-02 18:45 yushimeng 阅读(2) 评论(0) 推荐(0) 编辑
摘要: #include<iostream> #include<string> #include <stack> using namespace std; #include <iostream> #include <type_traits> template<typename T> struct HasVi 阅读全文
posted @ 2024-07-26 16:04 yushimeng 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2024-07-01 16:39 yushimeng 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 背景: 从webrtc定期取音频数据, 发现通话时间越长, 音频包缺失的越多. 从包的字节数计算出每个包的播放时间t, 一分钟取出来的包拼不成一分钟的时间长度. 问题分析: consumer线程每次sleep(10ms - delta_t), delta_t 包含从neteq取数据、分发出去的时间. 阅读全文
posted @ 2024-06-21 17:52 yushimeng 阅读(5) 评论(0) 推荐(0) 编辑
摘要: srs(state thread)如何实现协程切换? srs是单线程上运行的协程模型, 一个线程交替执行多个协程, 那么协程在用户空间是如何切换的呢? 首先关于thread.stack等内容可以自行阅读st thread代码, 这里只聊协程上下文切换过程. 417行的宏执行协程A上下文的保存 419 阅读全文
posted @ 2024-02-01 17:44 yushimeng 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 现象 如上图, 上线后服务全量使用的cpu统计明显增高, 大概在50%左右. 排查 比对上一稳定版本和本次版本代码diff, 无异常 比对依赖lib版本, 无异常 使用perf和FlameGraph 生成火焰图比对两个版本差异. 发现几个问题: 有些调用栈不同, 缺少一些中间函数调用栈; 新版本在音 阅读全文
posted @ 2023-12-11 10:37 yushimeng 阅读(220) 评论(0) 推荐(0) 编辑
摘要: ../../modules/desktop_capture/mac/screen_capturer_mac.mm:462:11: error: 'CGDisplayStreamUpdateGetRects' is only available on macOS 13.0 or newer [-Wer 阅读全文
posted @ 2023-11-06 15:14 yushimeng 阅读(145) 评论(0) 推荐(0) 编辑
摘要: **本文章由github copilot协助生成** 遇到一个离职同事写的代码,如下: ```go package mapGC func mapGc() { lock := sync.Mutex{} go func() { for { time.Sleep(12 * time.Hour) tmp : 阅读全文
posted @ 2023-06-05 16:19 yushimeng 阅读(49) 评论(0) 推荐(0) 编辑