/* * @(#)SendStream.java 1.9 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package javax.media.rtp; import java.io.IOException; import javax.media.rtp.rtcp.*; /** * Interface SendStream -- interface representing a sending stream * within an RTP session. <P> */ public interface SendStream extends RTPStream { /** * Changes the source description (SDES) reports being sent in RTCP * packets for this sending stream. </P> * * @param sourceDesc The new source description data. <P> */ public void setSourceDescription( SourceDescription[] sourceDesc); /** * Removes the stream from the session. When this method is called * the RTPSM deallocates all resources associated with this stream * and releases references to this object as well as the Player * which had been providing the send stream. <P> */ public void close(); /** * Will temporarily stop the RTPSendStream i.e. the local * participant will stop sending out data on the network at this time. * @exception IOException Thrown if there was any IO problems when * stopping the RTPSendStream. A stop to the sendstream will also * cause a stop() to be called on the stream's datasource. This * could also throw an IOException, consistent with datasources in * JMF. */ public void stop() throws IOException; /** * Will resume data transmission over the network on this RTPSendStream. * @exception IOException Thrown if there was any IO problems when * starting the RTPSendStream. A start to the sendstream will also * cause a start() to be called on the stream's datasource. This * could also throw an IOException, consistent with datasources in * JMF. */ public void start() throws IOException; /* * Set the bit rate of the outgoing network data for this * sendstream. The send stream will send data out at the rate it is * received from the datasource of this stream as a default * value. This rate can be changed by setting the bit rate on the * sendstream in which case the SessionManager will perform some * amount of buffering to maintain the desired outgoing bitrate * @param the bit rate at which data should be sent over the network * @returns the actual bit rate set. */ public int setBitRate(int bitRate); /** * Retrieve statistics on data and control packets transmitted on * this RTPSendStream. All the transmission statistics pertain to * this particular RTPSendStream only. Global statistics on all data * sent out from this participant (host) can be retrieved using * getGlobalTransmission() method from the SessionManager. */ public TransmissionStats getSourceTransmissionStats(); }