[Live-devel] Possible bug in liveMedia + info request about H263 / H263plus compatibility

Cristiano Belloni belloni at imavis.com
Thu Jan 10 08:07:03 PST 2008


Using strace (it's difficult to debug liveMedia with a debugger when 
it's running and sending packets), I found that the library seems to 
block for several seconds on a select(), waiting for three fd, 
corresponding to sockets and then timeout on the select.

(opens the sockets)
17718 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
[...]
17718 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
[...]
17718 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 7
[...]
(sends a frame)
17718 select(8, [3 4 7], NULL, NULL, {0, 0}) = 0 (Timeout)
17718 sendto(6, 
"\200`\35m\31\17\373i\300-FR\0\0\206N\275\307\341\227\356"..., 1448, 0, 
{sa_family=AF_INET, sin_port=htons(34982), 
sin_addr=inet_addr("217.133.231.30")}, 16) = 1448
17718 gettimeofday({1199980402, 562859}, NULL) = 0
17718 gettimeofday({1199980402, 562905}, NULL) = 0
17718 select(8, [3 4 7], NULL, NULL, {0, 0}) = 0 (Timeout)
17718 sendto(6, 
"\200`\35n\31\17\373i\300-FR\0\0\304\335N\305\301\233j0"..., 1448, 0, 
{sa_family=AF_INET, sin_port=htons(34982), 
sin_addr=inet_addr("217.133.231.30")}, 16) = 1448
17718 gettimeofday({1199980402, 563127}, NULL) = 0
17718 gettimeofday({1199980402, 563174}, NULL) = 0
17718 select(8, [3 4 7], NULL, NULL, {0, 0}) = 0 (Timeout)
17718 sendto(6, 
"\200\340\35o\31\17\373i\300-FR\0\0=\2\316~\224\364*\203"..., 754, 0, 
{sa_family=AF_INET, sin_port=htons(34982), 
sin_addr=inet_addr("217.133.231.30")}, 16) = 754
17718 gettimeofday({1199980402, 563391}, NULL) = 0
17718 gettimeofday({1199980402, 563441}, NULL) = 0
17718 select(8, [3 4 7], NULL, NULL, {0, 0}) = 0 (Timeout)
[...]
(blocks on the selects without sending anything)
17718 gettimeofday({1199980402, 563706}, NULL) = 0
17718 gettimeofday({1199980402, 563753}, NULL) = 0
17718 select(8, [3 4 7], NULL, NULL, {0, 0}) = 0 (Timeout)
17718 sendto(6, 
"\200\340\35q\31\32\3277\300-FR\0\0o\360S\372\v\261\35N"..., 451, 0, 
{sa_family=AF_INET, sin_port=htons(34982), 
sin_addr=inet_addr("217.133.231.30")}, 16) = 451
17718 gettimeofday({1199980402, 564062}, NULL) = 0
17718 gettimeofday({1199980402, 564109}, NULL) = 0
17718 gettimeofday({1199980402, 564159}, NULL) = 0
17718 select(8, [3 4 7], NULL, NULL, {2, 320353}) = 0 (Timeout)
17718 gettimeofday({1199980404, 885982}, NULL) = 0
17718 gettimeofday({1199980404, 886090}, NULL) = 0
17718 gettimeofday({1199980404, 886195}, NULL) = 0
17718 gettimeofday({1199980404, 886302}, NULL) = 0
17718 gettimeofday({1199980404, 886407}, NULL) = 0
17718 select(8, [3 4 7], NULL, NULL, {0, 664458}) = 0 (Timeout)

I think this is the reason why it sends one frame, then nothing for 8 
seconds, then another frame. It took me ~ 1000 seconds to send a 320Kb 
raw file from the server to openRTSP (on the loopback interface!)

This is only when i send a pre-recorded raw H263 stream.

Have you idea on what could go wrong?

Thanks.

-- 
Belloni Cristiano
Imavis Srl.
www.imavis.com <http://www.imavis.com>
belloni at imavis.com <mailto://belloni@imavis.com>


More information about the live-devel mailing list