[Live-devel] Question on "numPacketsLimit"

Ross Finlayson finlayson at live.com
Mon Dec 22 11:43:38 PST 2003


>I tried to stream an mpeg1 video clip to quicktime using 
>testOnDemanRTSPServer.However, the server printed out message to modify 
>the setting of numPacketsLimit.This parameter controls the size of output 
>buffer.This parameter is set to 20 as default. Any reason?What are the 
>cases that it should be modified? For example, the resolution of input 
>video exceeds certain number.Also, is there any systematical approach to 
>decide this number?

Wayne,

If a "RTPSink" (which is used to transmit RTP packets) receives a larger 
chunk of data than will fit into a single outgoing RTP packet, then the 
code (in "MultiFramedRTPSink") will fragment it into multiple RTP packets.

The "OutPacketBuffer::numPacketsLimit" variable controls the maximum size 
of such an input chunk of data, on the assumption that each RTP packet will 
1450 bytes in size.  (Note that the default value of 
"OutPacketBuffer::numPacketsLimit" is 20, which corresponds to a max buffer 
size of 20*1450 = 29000.)

If you see warning messages about needing to increase 
"OutPacketBuffer::numPacketsLimit", then you can do so - within your main 
program - by changing the value of the "OutPacketBuffer::numPacketsLimit" 
variable.

For MPEG-1 (or 2) video, the largest input chunks of data (coming from 
"MPEG1or2VideoStreamFramer") will be 'slices'.  I'm a little surprised that 
your MPEG-1 data has 'slices' this large, so you might want to check that 
it really is MPEG Video *Elementary Stream* data (i.e., video only; *not* 
Program Stream data).


	Ross Finlayson
	LIVE.COM
	<http://www.live.com/>



More information about the live-devel mailing list