001: /*
002: * Media.java
003: *
004: * Created on December 19, 2001, 10:28 AM
005: */
006:
007: package javax.sdp;
008:
009: import java.util.*;
010:
011: /** A Media represents an m= field contained within a MediaDescription. The Media
012: * identifies information about the format(s) of the
013: * media associated with the MediaDescription.
014: *
015: * The Media field includes:
016: *
017: * a mediaType (e.g. audio, video, etc.)
018: * a port number (or set of ports)
019: * a protocol to be used (e.g. RTP/AVP)
020: * a set of media formats which correspond to Attributes associated with the
021: * media description.
022: *
023: * Here is an example:
024: *
025: * m=audio 60000 RTP/AVP 0
026: * a=rtpmap:0 PCMU/8000
027: *
028: * This example identifies that the client can receive audio on port 60000 in
029: * format 0 which corresponds to PCMU/8000.
030: *
031: * Please refer to IETF RFC 2327 for a description of SDP.
032: *
033: * @author deruelle
034: * @version 1.0
035: */
036: public interface Media extends Field {
037:
038: /** Returns the type (audio,video etc) of the media defined by this description.
039: * @throws SdpParseException
040: * @return the string media type.
041: */
042: public String getMediaType() throws SdpParseException;
043:
044: /** Sets the type (audio,video etc) of the media defined by this description.
045: * @param mediaType to set
046: * @throws SdpException if mediaType is null
047: */
048: public void setMediaType(String mediaType) throws SdpException;
049:
050: /** Returns the port of the media defined by this description
051: * @throws SdpParseException
052: * @return the integer media port.
053: */
054: public int getMediaPort() throws SdpParseException;
055:
056: /** Sets the port of the media defined by this description
057: * @param port to set
058: * @throws SdpException
059: */
060: public void setMediaPort(int port) throws SdpException;
061:
062: /** Returns the number of ports associated with this media description
063: * @throws SdpParseException
064: * @return the integer port count.
065: */
066: public int getPortCount() throws SdpParseException;
067:
068: /** Sets the number of ports associated with this media description.
069: * @param portCount portCount - the integer port count.
070: * @throws SdpException
071: */
072: public void setPortCount(int portCount) throws SdpException;
073:
074: /** Returns the protocol over which this media should be transmitted.
075: * @throws SdpParseException
076: * @return the String protocol, e.g. RTP/AVP.
077: */
078: public String getProtocol() throws SdpParseException;
079:
080: /** Sets the protocol over which this media should be transmitted.
081: * @param protocol - the String protocol, e.g. RTP/AVP.
082: * @throws SdpException if the protocol is null
083: */
084: public void setProtocol(String protocol) throws SdpException;
085:
086: /** Returns an Vector of the media formats supported by this description.
087: * Each element in this Vector will be an String value which matches one of
088: * the a=rtpmap: attribute fields of the media description.
089: * @param create to set
090: * @throws SdpException
091: * @return the Vector.
092: */
093: public Vector getMediaFormats(boolean create)
094: throws SdpParseException;
095:
096: /** Adds a media format to the media description.
097: * Each element in this Vector should be an String value which matches one of the
098: * a=rtpmap: attribute fields of the media description.
099: * @param mediaFormats the format to add.
100: * @throws SdpException if the vector is null
101: */
102: public void setMediaFormats(Vector mediaFormats)
103: throws SdpException;
104:
105: /** Generates a string description of this object.
106: * @return the description.
107: */
108: public String toString();
109:
110: }
|