摘要:
结论: Linux上五元组关系由socket 维护的(但是mac 和linux 表现还不一样) 代码: udp-client.c #include <stdio.h> #include <string.h> #include <errno.h> #include <stdlib.h> #includ 阅读全文
摘要:
“ 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 阅读全文
摘要:
#include<iostream> #include<string> #include <stack> using namespace std; #include <iostream> #include <type_traits> template<typename T> struct HasVi 阅读全文
摘要:
背景: 从webrtc定期取音频数据, 发现通话时间越长, 音频包缺失的越多. 从包的字节数计算出每个包的播放时间t, 一分钟取出来的包拼不成一分钟的时间长度. 问题分析: consumer线程每次sleep(10ms - delta_t), delta_t 包含从neteq取数据、分发出去的时间. 阅读全文
摘要:
srs(state thread)如何实现协程切换? srs是单线程上运行的协程模型, 一个线程交替执行多个协程, 那么协程在用户空间是如何切换的呢? 首先关于thread.stack等内容可以自行阅读st thread代码, 这里只聊协程上下文切换过程. 417行的宏执行协程A上下文的保存 419 阅读全文
摘要:
现象 如上图, 上线后服务全量使用的cpu统计明显增高, 大概在50%左右. 排查 比对上一稳定版本和本次版本代码diff, 无异常 比对依赖lib版本, 无异常 使用perf和FlameGraph 生成火焰图比对两个版本差异. 发现几个问题: 有些调用栈不同, 缺少一些中间函数调用栈; 新版本在音 阅读全文
摘要:
../../modules/desktop_capture/mac/screen_capturer_mac.mm:462:11: error: 'CGDisplayStreamUpdateGetRects' is only available on macOS 13.0 or newer [-Wer 阅读全文
摘要:
**本文章由github copilot协助生成** 遇到一个离职同事写的代码,如下: ```go package mapGC func mapGc() { lock := sync.Mutex{} go func() { for { time.Sleep(12 * time.Hour) tmp : 阅读全文