[Linphone-developers] A bug report and About jitter control in ortp
From:
Scott Zhang
Subject:
[Linphone-developers] A bug report and About jitter control in ortp
Date:
Fri, 4 Nov 2011 16:09:53 +0800
Hello. All. I am using mediastreamer2/ortp for my application. I am not using UDP/RTP directly. The packet runs on an overlay of tcp network using our private protocol. After dig into the ortp code, I figured out I should use "transport" so I am using it.
1. Bug: in rtpsession_inet.c L1116. in funciton "rtp_session_rtcp_recv" This line is used to check if rtcp is enabled. It wrote as
if (session->rtcp.socket<0 && !rtp_session_using_transport(session, rtcp)) return -1; /*session has no rtcp sockets for the moment*/
The problem is on windows(not sure on linux), the socket is "unsigned int", so it always be positive. when it was assigned -1 it becomes a biggest unsigned int. so when it compare with 0, it is always false.
So the correction should be if (((int)session->rtcp.socket)<0 && !rtp_session_using_transport(session, rtcp)) return -1; /*session has no rtcp sockets for the moment*/
2. Question: As my transport level's speed is not stable, the rtp packet send through it comes in different times, usually with a bit long delay then comes a lot at same time. but as soon as I receive the rtp packet I feed it into ortp. but the voice is still jumping. I think it should be configured by setting jitter control. But not sure how to do it.
I tried set rtp_session_set_jitter_compensation to 2000. But it doesn't work better. I measured the speed/s of rtp packet by using the ortp rtp_session_compute_recv_bandwidth, the output shows speed is about 19Kbit/s, I cross checked with mediastream demo project, the speed is nearly same. so speed is not a problem. Just the packet arrival is not stable.
How can I resolve this? Please help.
Thanks. Regards. Scott
[Prev in Thread]
Current Thread
[Next in Thread]
[Linphone-developers] A bug report and About jitter control in ortp,
Scott Zhang<=