FileDocCategorySizeDatePackage
ViewRtpStreamInfo.javaAPI DocJMF 2.1.1e5519Mon May 12 12:20:34 BST 2003jmapps.rtp

ViewRtpStreamInfo

public class ViewRtpStreamInfo extends JMPanel

Fields Summary
private SessionManager
mngrSession
private RTPStream
stream
private UpdateThread
threadUpdate
private JMPanel
panelContent
private JMPanel
panelLabels
private JMPanel
panelData
private Label
fieldOwner
private Label
fieldSsrc
private Label
fieldLostPdu
private Label
fieldProcessedPdu
private Label
fieldMisorderedPdu
private Label
fieldInvalidPdu
private Label
fieldDuplicatePdu
private static final String
LABEL_NAME
private static final String
LABEL_SSRC
private static final String
LABEL_LOST_PDU
private static final String
LABEL_PROCESSED_PDU
private static final String
LABEL_MISORDERED_PDU
private static final String
LABEL_INVALID_PDU
private static final String
LABEL_DUPLICATE_PDU
Constructors Summary
public ViewRtpStreamInfo(SessionManager mgrSession, RTPStream stream)



            
	    super ();

        this.mngrSession = mngrSession;
        this.stream = stream;
        try {
            init();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    
Methods Summary
public voidaddNotify()

        super.addNotify ();

        if ( threadUpdate == null )
            threadUpdate = new UpdateThread ();
        threadUpdate.start ();
    
private voidinit()

        Label       label;

        this.setLayout ( new BorderLayout(6,6) );

        panelContent = new JMPanel ( new BorderLayout(6,6) );
        this.add ( panelContent, BorderLayout.NORTH );

        panelLabels = new JMPanel ( new GridLayout(0,1,0,0) );
        panelContent.add ( panelLabels, BorderLayout.WEST );
        panelData = new JMPanel ( new GridLayout(0,1,0,0) );
        panelContent.add ( panelData, BorderLayout.CENTER );

        label = new Label ( LABEL_NAME );
        panelLabels.add ( label );
        fieldOwner = new Label ();
        panelData.add ( fieldOwner );

        label = new Label ( LABEL_SSRC );
        panelLabels.add ( label );
        fieldSsrc = new Label ();
        panelData.add ( fieldSsrc );

        if ( stream instanceof ReceiveStream ) {
            label = new Label ( LABEL_LOST_PDU );
            panelLabels.add ( label );
            fieldLostPdu = new Label ();
            panelData.add ( fieldLostPdu );

            label = new Label ( LABEL_PROCESSED_PDU );
            panelLabels.add ( label );
            fieldProcessedPdu = new Label ();
            panelData.add ( fieldProcessedPdu );

            label = new Label ( LABEL_MISORDERED_PDU );
            panelLabels.add ( label );
            fieldMisorderedPdu = new Label ();
            panelData.add ( fieldMisorderedPdu );

            label = new Label ( LABEL_INVALID_PDU );
            panelLabels.add ( label );
            fieldInvalidPdu = new Label ();
            panelData.add ( fieldInvalidPdu );

            label = new Label ( LABEL_DUPLICATE_PDU );
            panelLabels.add ( label );
            fieldDuplicatePdu = new Label ();
            panelData.add ( fieldDuplicatePdu );
        }

        updateFields ();
    
public voidremoveNotify()

        if ( threadUpdate != null ) {
            threadUpdate.terminate ();
            threadUpdate = null;
        }

        super.removeNotify ();
    
private voidupdateFields()

        ReceptionStats  stats;

        fieldOwner.setText ( stream.getParticipant().getCNAME() );
        fieldSsrc.setText ( "" + Signed.UnsignedInt((int)stream.getSSRC()) );

        if ( stream instanceof ReceiveStream ) {
            stats = ((ReceiveStream)stream).getSourceReceptionStats ();

            fieldLostPdu.setText ( "" + stats.getPDUlost() );
            fieldProcessedPdu.setText ( "" + stats.getPDUProcessed() );
            fieldMisorderedPdu.setText ( "" + stats.getPDUMisOrd() );
            fieldInvalidPdu.setText ( "" + stats.getPDUInvalid() );
            fieldDuplicatePdu.setText ( "" + stats.getPDUDuplicate() );
        }