Package buzz.getcoco.media.utils.sdp
Class MediaDescription.Builder
- java.lang.Object
-
- buzz.getcoco.media.utils.sdp.MediaDescription.Builder
-
- Enclosing class:
- MediaDescription
public static final class MediaDescription.Builder extends java.lang.Object
Builder class forMediaDescription
.
-
-
Constructor Summary
Constructors Constructor Description Builder(java.lang.String mediaType, int port, java.lang.String transportProtocol, int... payloadTypes)
Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MediaDescription.Builder
addAttribute(java.lang.String attributeName, java.lang.String attributeValue)
Adds an attribute entry toMediaDescription.attributes
.MediaDescription.Builder
addAttributes(java.util.Map<java.lang.String,java.lang.String> attributes)
MediaDescription.Builder
addFmtpAttribute(FmtpAttribute fmtpAttribute)
MediaDescription.Builder
addRtpMapAttribute(RtpMapAttribute rtpMapAttribute)
MediaDescription
build()
Builds a newMediaDescription
instance.MediaDescription.Builder
setBitrate(int bitrate)
SetsMediaDescription.bitrate
.MediaDescription.Builder
setConnection(java.lang.String connection)
MediaDescription.Builder
setKey(java.lang.String key)
SetsMediaDescription.key
.MediaDescription.Builder
setMediaTitle(java.lang.String mediaTitle)
-
-
-
Constructor Detail
-
Builder
public Builder(java.lang.String mediaType, int port, java.lang.String transportProtocol, int... payloadTypes)
Creates a new instance.- Parameters:
mediaType
- The media type.port
- The associated port number.transportProtocol
- The protocol used for data transport.payloadTypes
- The RTP payload type used for data transport.
-
-
Method Detail
-
setMediaTitle
public MediaDescription.Builder setMediaTitle(java.lang.String mediaTitle)
SetsMediaDescription.mediaTitle
. The default isnull
.- Parameters:
mediaTitle
- The assigned media title.- Returns:
- This builder.
-
setConnection
public MediaDescription.Builder setConnection(java.lang.String connection)
SetsMediaDescription.connection
. The default isnull
.- Parameters:
connection
- The connection parameter.- Returns:
- This builder.
-
setBitrate
public MediaDescription.Builder setBitrate(int bitrate)
SetsMediaDescription.bitrate
. The default isFormat.NO_VALUE
.- Parameters:
bitrate
- The estimated bitrate measured in bits per second.- Returns:
- This builder.
-
setKey
public MediaDescription.Builder setKey(java.lang.String key)
SetsMediaDescription.key
. The default isnull
.- Parameters:
key
- The encryption parameter.- Returns:
- This builder.
-
addAttributes
public MediaDescription.Builder addAttributes(@NonNull java.util.Map<java.lang.String,java.lang.String> attributes)
-
addRtpMapAttribute
public MediaDescription.Builder addRtpMapAttribute(@NonNull RtpMapAttribute rtpMapAttribute)
-
addFmtpAttribute
public MediaDescription.Builder addFmtpAttribute(@NonNull FmtpAttribute fmtpAttribute)
-
addAttribute
public MediaDescription.Builder addAttribute(java.lang.String attributeName, java.lang.String attributeValue)
Adds an attribute entry toMediaDescription.attributes
.Previously added attribute under the same name will be overwritten.
- Parameters:
attributeName
- The name of the attribute.attributeValue
- The value of the attribute, or "" if the attribute bears no value.- Returns:
- This builder.
-
build
@NonNull public MediaDescription build()
Builds a newMediaDescription
instance.- Throws:
java.lang.IllegalStateException
- When the rtpmap attribute (RFC 2327 Page 22) is not set, or cannot be parsed.
-
-