/*
* @(#)RTPStream.java 1.5 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package javax.media.rtp;
import java.lang.String;
import javax.media.rtp.rtcp.*;
import javax.media.protocol.DataSource;
import java.io.IOException;
/**
* Interface RTPStream -- base interface representing a stream within
* an RTP session. Objects do not implement RTPStream, but rather
* ReceiveStream. <P>
*/
public interface RTPStream
{
/**
* Returns the Participant that "owns" this stream. If this is
* an "orphaned" receive stream (see
* RTPSessionListener.newReceiveStream), null is returned; the
* recvStreamMapped() callback announces the fact that this call will
* no longer return null for this object. <P>
*/
public Participant
getParticipant();
/**
* Retrieves the latest RTCP sender report for this stream. May be
* null if no RTCP sender report has been received (for
* ReceiveStreams)<P>
*
* For receive streams, the returned report represents the latest
* sender report received from the remote source. If the
* associated remote participant contains multiple ReceiveStreams,
* the reports returned by invoking this method on each may not
* necessarily contain an RTCPFeedback array (obtainable via
* getRTCPFeedbackReports()). This is for the same reason as noted above;
* since the reports are coming from the same participant, they
* would only differ in the sender portion and it would be redundant
* to send the receiver portion in each. <P>
*/
public SenderReport
getSenderReport();
/**
* Returns the SSRC of the stream. <P>
*
* @return the stream's SSRC. <P>
*/
public long
getSSRC();
/**
* Returns the datasource of the stream.
* @returns the stream's datasource
*/
public DataSource
getDataSource();
}
|