[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