o( ̄ヘ ̄o#)为什么没有答案?没有人看到相同的问题吗?
我正在调试Android上的RTC视频口吃问题,并且尝试使用其他设备。为了简化问题,我只是从MAC发送间隔约为10ms的udp数据包,并在具有良好wifi的Android上接收它们。我几乎每分钟都可以看到较大的抖动(大于200ms),有时可以大于600ms。特别是当我打开和关闭任务管理器时。与本地主机测试不重复。这个可以解决吗?
while(1) {
int s = recvfrom(socket_fd, buffer, sizeof(buffer), 0, (struct sockaddr *)&recv_addr, (socklen_t *)&addr_len);
if (s > 0) {
struct timeval tv_ioctl;
tv_ioctl.tv_sec = 0;
tv_ioctl.tv_usec = 0;
int error = ioctl(socket_fd, SIOCGSTAMP, &tv_ioctl);
if (error == 0) {
int64_t ms = tv_ioctl.tv_sec * 1000LL + tv_ioctl.tv_usec/1000;
if (pre_rev_ms == 0) {
pre_rev_ms = ms;
}
if (ms - pre_rev_ms > 200) {
LOGV("Udp glitches\n");
}
pre_rev_ms = ms;
}
}
}