{
if ( controls[i] instanceof BufferControl )
{
if ( !isVideo )
{
BufferControl bc = (BufferControl)controls[i];
System.out.println("### found BufferControl=" + bc.getClass());
System.out.println("### buffer length is " + bc.getBufferLength());
bc.setBufferLength(40 * 8);
System.out.println("### buffer length is " + bc.getBufferLength());
}
}
else if ( controls[i] instanceof BitRateControl )
{
bitratecontrol = (BitRateControl)controls[i];
System.out.println("### found BitRateControl=" + bitratecontrol.getClass());
}
}
if ( ds instanceof net.sf.fmj.media.rtp.RTPDataSource )
{
PushBufferStream pbs = ((net.sf.fmj.media.rtp.RTPDataSource)ds).getStreams()[0];
if ( pbs instanceof net.sf.fmj.media.rtp.RTPDataStream )
{
rtpDataStream = (net.sf.fmj.media.rtp.RTPDataStream)pbs;
System.out.println("### rtpDataStream=" + rtpDataStream.getClass());
}
}
Player player = javax.media.Manager.createRealizedPlayer(ds);
System.out.println("### player=" + player.getClass().getName());
if ( !isVideo )
{
Object[] pcontrols = player.getControls();
for (int i=0; i<pcontrols.length; i++)
{
if ( pcontrols[i] instanceof BufferControl )
{
BufferControl bc = (BufferControl)pcontrols[i];
System.out.println("### found BufferControl=" + bc.getClass());
System.out.println("### buffer length is " + bc.getBufferLength());
bc.setBufferLength(1000);
System.out.println("### buffer length is " + bc.getBufferLength());
}
else if ( pcontrols[i] instanceof FrameProcessingControl )
{
fpc = (FrameProcessingControl)pcontrols[i];
System.out.println("### found FrameProcessingControl=" + fpc.getClass());