Android UDP故障会导致VOIP停顿

时间:2019-01-08 09:07:16

标签: android networking udp webrtc jitter

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;
        }
    }
}

0 个答案:

没有答案