[Live-devel] NIC overruns on IBM stbx25xx embedded platform
Ross Finlayson
finlayson at live.com
Wed Apr 27 19:41:31 PDT 2005
>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!
Apparently, on Linux, you need to do both: set
"/proc/sys/net/core/rmem_max", *before* calling "increaseReadBufferTo()" in
your application.
>Is it practical to reduce the rtsp server's burst rate to a value the MVP
>can handle
Well, of course, that makes sense only if the RTSP server is one that you
have control over. In general that's not going to be the case. So the
best solution is to ensure that you have appropriate buffering capacity in
your client.
Ross Finlayson
LIVE.COM
<http://www.live.com/>
More information about the live-devel
mailing list