[Live-devel] NIC overruns on IBM stbx25xx embedded platform
Richard Flude
richard at mediamatch.com.au
Thu Apr 28 11:36:10 PDT 2005
Thanks Ross for the prompt reply.
>>The MediaMVP device uses a smc91111 nic, with only a
>> tiny on-chip buffer. I've tried increasing the kernel's RX buffers
>> with no improvement.
> Are you sure you did that properly?
I've been trying an number of things for many days hoping I could get
the client to successfully receive the stream. I tried 2 methods with
varying buffer sizes but with no difference. Firstly setting the values
via /proc :
echo 1048576 > /proc/sys/net/core/rmem_max
echo 524288 > /proc/sys/net/core/rmem_default
and restarting my rtsp client application, and secondly modifying the
code
setting the buffer size using setsockopt().
Both cases the new buffer size was confirmed with getsockopt()
and printed to stdout..
> In particular, after a successful call to "subsession->initiate()",
you can do the following:
> int rtpSocketNum =
subsession->rtpSource()->RTPgs()->socketNum();
> increaseReceiveBufferTo(*env, rtpSocketNum,
desiredReceiveBufferSize);
Certainly a more elegant way to do it!
I've tried this but again with no improvement. I can confirm the value
returned by the call is
desiredReceiveBufferSize (and looking at the src this indicates a
successful call).
I used a buffer size of 2,000,000 for video as you suggested (and a
couple of other sizes).
I'm assuming of course that if getsockopt() is returning the correct
value the kernel is using
this value (seems a fair assumption).
Is it practical to reduce the rtsp server's burst rate to a value the
MVP can handle or is their something else I should try?
Thanks again
Richard
More information about the live-devel
mailing list