[Live-devel] RTCP endless loop
Victor Kozhuhov
vkozhuhov at gmx.net
Sun Sep 10 18:37:37 PDT 2006
Hello,
I found that RTCP interval calculation returns incorrect values, when
average RTCP bandwidth is zero.
It is not very common case, but sometimes it happens, and OnExpire(...)
function receives rtcp_bw parameter equal to zero ( 0.0(0) ). Actually, less
RTCP bandwidth result in bigger timeout, but not when bandwidth is 0.
rtcp_from_spec.c file, rtcp_interval(...) function contains the following
lines:
t = avg_rtcp_size * n / rtcp_bw;
if (t < rtcp_min_time) t = rtcp_min_time;
After first line t is equal to 1.#INF000000000000, and second line fails to
fix it -
condition (t < rtcp_min_time) --> (1.#INF000000000000 < 5.0000000000000000)
is false, so t remains equal to 1.#INF000000000000, that converted to
microseconds (integer value) stands for 0.
Is it a bug? Scheduler falls into endless loop performing background RTCP
read with zero timeout...
With best regards,
Victor.
More information about the live-devel
mailing list