T - the type of the wrapped Formatpublic abstract class MediaFormatImpl<T extends javax.media.Format> extends Object implements MediaFormat
| Modifier and Type | Field and Description |
|---|---|
static String |
CLOCK_RATE_PNAME
The name of the clockRate property of MediaFormatImpl.
|
static String |
ENCODING_PNAME
The name of the encoding property of MediaFormatImpl.
|
protected T |
format
The JMF Format this instance wraps and provides an
implementation of MediaFormat for.
|
static String |
FORMAT_PARAMETERS_PNAME
The name of the formatParameters property of
MediaFormatImpl.
|
MAX_DYNAMIC_PAYLOAD_TYPE, MIN_DYNAMIC_PAYLOAD_TYPE, RTP_PAYLOAD_TYPE_UNKNOWN| Modifier | Constructor and Description |
|---|---|
protected |
MediaFormatImpl(T format)
Initializes a new MediaFormatImpl instance which is to provide
an implementation of MediaFormat for a specific Format.
|
protected |
MediaFormatImpl(T format,
Map<String,String> formatParameters,
Map<String,String> advancedAttributes)
Initializes a new MediaFormatImpl instance which is to provide
an implementation of MediaFormat for a specific Format
and which is to have a specific set of codec-specific parameters.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
advancedAttributesAreEqual(Map<String,String> adv,
Map<String,String> adv2)
Determines whether a specific set of advanced attributes is equal to
another set of advanced attributes in the sense that they define an equal
number of parameters and assign them equal values.
|
static MediaFormat |
createInstance(javax.media.Format format)
Creates a new MediaFormat instance for a specific JMF
Format.
|
static MediaFormatImpl<? extends javax.media.Format> |
createInstance(javax.media.Format format,
double clockRate,
Map<String,String> formatParameters,
Map<String,String> advancedAttributess)
Creates a new MediaFormat instance for a specific JMF
Format and assigns it specific clock rate and set of
format-specific parameters.
|
boolean |
equals(Object mediaFormat)
Implements MediaFormat#equals(Object) and actually compares the
encapsulated JMF Format instances.
|
protected boolean |
formatParametersAreEqual(Map<String,String> fmtps1,
Map<String,String> fmtps2)
Determines whether a specific set of format parameters is equal to
another set of format parameters in the sense that they define an equal
number of parameters and assign them equal values.
|
static boolean |
formatParametersAreEqual(String encoding,
Map<String,String> fmtps1,
Map<String,String> fmtps2)
Determines whether a specific set of format parameters is equal to
another set of format parameters in the sense that they define an equal
number of parameters and assign them equal values.
|
boolean |
formatParametersMatch(Map<String,String> fmtps)
Determines whether the format parameters of this MediaFormat
match a specific set of format parameters.
|
Map<String,String> |
getAdditionalCodecSettings()
Returns additional codec settings.
|
Map<String,String> |
getAdvancedAttributes()
Implements MediaFormat#getAdvancedAttributes().
|
String |
getClockRateString()
Returns a String representation of the clock rate associated
with this MediaFormat making sure that the value appears as
an integer (i.e.
|
String |
getEncoding()
Implements MediaFormat#getEncoding() and returns the encoding of the JMF
Format that we are encapsulating here but it is the RFC-known
encoding and not the internal JMF encoding.
|
T |
getFormat()
Returns the JMF Format instance that we are wrapping here.
|
Map<String,String> |
getFormatParameters()
Implements MediaFormat#getFormatParameters().
|
String |
getJMFEncoding()
Gets the encoding of the JMF Format represented by this
instance as it is known to JMF (in contrast to its RFC name).
|
String |
getRealUsedClockRateString()
Returns a String representation of the real used clock rate
associated with this MediaFormat making sure that the value
appears as an integer (i.e.
|
byte |
getRTPPayloadType()
Gets the RTP payload type (number) of this MediaFormat as it is
known in RFC 3551 "RTP Profile for Audio and Video Conferences with
Minimal Control".
|
int |
hashCode()
Overrides Object#hashCode() because Object#equals(Object) is overridden.
|
boolean |
matches(MediaFormat format)
Determines whether this MediaFormat matches properties of a
specific MediaFormat, such as mediaType,
encoding, clockRate and channels for
MediaFormats with mediaType equal to
MediaType.AUDIO. |
boolean |
matches(org.jitsi.utils.MediaType mediaType,
String encoding,
double clockRate,
int channels,
Map<String,String> fmtps)
Determines whether this MediaFormat has specific values
for its properties mediaType, encoding,
clockRate and channels for MediaFormats with
mediaType equal to
MediaType.AUDIO. |
void |
setAdditionalCodecSettings(Map<String,String> settings)
Sets additional codec settings.
|
String |
toString()
Returns a String representation of this MediaFormat
containing, among other things, its encoding and clockrate values.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetClockRate, getMediaTypepublic static final String CLOCK_RATE_PNAME
public static final String ENCODING_PNAME
public static final String FORMAT_PARAMETERS_PNAME
protected final T extends javax.media.Format format
protected MediaFormatImpl(T format)
format - the JMF Format the new instance is to provide an
implementation of MediaFormat forprotected MediaFormatImpl(T format, Map<String,String> formatParameters, Map<String,String> advancedAttributes)
format - the JMF Format the new instance is to provide an
implementation of MediaFormat forformatParameters - any codec-specific parameters that have been
received via SIP/SDP or XMPP/JingleadvancedAttributes - any parameters that have been
received via SIP/SDP or XMPP/Jinglepublic static MediaFormat createInstance(javax.media.Format format)
format - the JMF Format the new instance is to provide an
implementation of MediaFormat forpublic static MediaFormatImpl<? extends javax.media.Format> createInstance(javax.media.Format format, double clockRate, Map<String,String> formatParameters, Map<String,String> advancedAttributess)
format - the JMF Format the new instance is to provide an
implementation of MediaFormat forclockRate - the clock rate of the new instanceformatParameters - the set of format-specific parameters of the new
instanceadvancedAttributess - advanced attributes of the new instancepublic static boolean formatParametersAreEqual(String encoding, Map<String,String> fmtps1, Map<String,String> fmtps2)
The two Map instances of format parameters to be checked for equality are presumed to be modifiable in the sense that if the lack of a format parameter in a given Map is equivalent to it having a specific value, an association of the format parameter to the value in question may be added to or removed from the respective Map instance for the purposes of determining equality.
encoding - the encoding (name) related to the two sets of format
parameters to be tested for equalityfmtps1 - the first set of format parameters to be tested for
equalityfmtps2 - the second set of format parameters to be tested for
equalitypublic boolean advancedAttributesAreEqual(Map<String,String> adv, Map<String,String> adv2)
adv - the first set of advanced attributes to be tested for
equalityadv2 - the second set of advanced attributes to be tested for
equalitypublic boolean equals(Object mediaFormat)
equals in interface MediaFormatequals in class ObjectmediaFormat - the object that we'd like to compare this one
to.
8*protected boolean formatParametersAreEqual(Map<String,String> fmtps1, Map<String,String> fmtps2)
The two Map instances of format parameters to be checked for equality are presumed to be modifiable in the sense that if the lack of a format parameter in a given Map is equivalent to it having a specific value, an association of the format parameter to the value in question may be added to or removed from the respective Map instance for the purposes of determining equality.
fmtps1 - the first set of format parameters to be tested for
equalityfmtps2 - the second set of format parameters to be tested for
equalitypublic boolean formatParametersMatch(Map<String,String> fmtps)
The default implementation of MediaFormatImpl always returns true because format parameters in general do not cause the distinction of payload types.
formatParametersMatch in interface MediaFormatfmtps - the set of format parameters to match to the format
parameters of this MediaFormatpublic Map<String,String> getAdditionalCodecSettings()
getAdditionalCodecSettings in interface MediaFormatpublic Map<String,String> getAdvancedAttributes()
getAdvancedAttributes in interface MediaFormatpublic String getClockRateString()
getClockRateString in interface MediaFormatpublic String getEncoding()
getEncoding in interface MediaFormatpublic T getFormat()
public Map<String,String> getFormatParameters()
getFormatParameters in interface MediaFormatpublic String getJMFEncoding()
public String getRealUsedClockRateString()
getRealUsedClockRateString in interface MediaFormatpublic byte getRTPPayloadType()
getRTPPayloadType in interface MediaFormatMediaFormat.RTP_PAYLOAD_TYPE_UNKNOWNMediaFormat.getRTPPayloadType()public int hashCode()
public boolean matches(MediaFormat format)
MediaType.AUDIO.matches in interface MediaFormatformat - the MediaFormat whose properties we'd like to
examine and compare with ours.public boolean matches(org.jitsi.utils.MediaType mediaType,
String encoding,
double clockRate,
int channels,
Map<String,String> fmtps)
MediaType.AUDIO.matches in interface MediaFormatmediaType - the type we expect MediaFormat to haveencoding - the encoding we are looking for.clockRate - the clock rate that we'd like the format to have.channels - the number of channels that expect to find in this formatfmtps - the format parameters expected to match these of the
specified formatpublic void setAdditionalCodecSettings(Map<String,String> settings)
setAdditionalCodecSettings in interface MediaFormatsettings - additional settings represented by a map.public String toString()
toString in interface MediaFormattoString in class ObjectCopyright © 2021 jitsi.org. All rights reserved.