Class VideoMediaFormatImpl
- java.lang.Object
-
- org.jitsi.impl.neomedia.format.MediaFormatImpl<javax.media.format.VideoFormat>
-
- org.jitsi.impl.neomedia.format.VideoMediaFormatImpl
-
- All Implemented Interfaces:
MediaFormat,VideoMediaFormat
public class VideoMediaFormatImpl extends MediaFormatImpl<javax.media.format.VideoFormat> implements VideoMediaFormat
Implements VideoMediaFormat for the JMF VideoFormat.- Author:
- Lyubomir Marinov
-
-
Field Summary
Fields Modifier and Type Field Description static doubleDEFAULT_CLOCK_RATEThe default value of the clockRate property of VideoMediaFormatImpl.static StringH264_PACKETIZATION_MODE_FMTPThe name of the format parameter which specifies the packetization mode of H.264 RTP payload.static StringH264_SPROP_PARAMETER_SETS_FMTP-
Fields inherited from class org.jitsi.impl.neomedia.format.MediaFormatImpl
CLOCK_RATE_PNAME, ENCODING_PNAME, format, FORMAT_PARAMETERS_PNAME
-
Fields inherited from interface org.jitsi.service.neomedia.format.MediaFormat
MAX_DYNAMIC_PAYLOAD_TYPE, MIN_DYNAMIC_PAYLOAD_TYPE, RTP_PAYLOAD_TYPE_UNKNOWN
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object mediaFormat)Implements MediaFormat#equals(Object) and actually compares the encapsulated JMF Format instances.static booleanformatParametersAreEqual(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.protected booleanformatParametersAreEqual(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 booleanformatParametersMatch(String encoding, Map<String,String> fmtps1, Map<String,String> fmtps2)Determines whether two sets of format parameters match in the context of a specific encoding.booleanformatParametersMatch(Map<String,String> fmtps)Determines whether the format parameters of this MediaFormat match a specific set of format parameters.doublegetClockRate()Gets the clock rate associated with this MediaFormat.floatgetFrameRate()Gets the frame rate associated with this MediaFormat.org.jitsi.utils.MediaTypegetMediaType()Gets the type of this MediaFormat which isMediaType.VIDEOfor AudioMediaFormatImpl instances.DimensiongetSize()Gets the size of the image that this VideoMediaFormat describes.inthashCode()Overrides MediaFormatImpl#hashCode() because Object#equals(Object) is overridden.-
Methods inherited from class org.jitsi.impl.neomedia.format.MediaFormatImpl
advancedAttributesAreEqual, createInstance, createInstance, getAdditionalCodecSettings, getAdvancedAttributes, getClockRateString, getEncoding, getFormat, getFormatParameters, getJMFEncoding, getRealUsedClockRateString, getRTPPayloadType, matches, matches, setAdditionalCodecSettings, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jitsi.service.neomedia.format.MediaFormat
getAdditionalCodecSettings, getAdvancedAttributes, getClockRateString, getEncoding, getFormatParameters, getRealUsedClockRateString, getRTPPayloadType, matches, matches, setAdditionalCodecSettings, toString
-
-
-
-
Field Detail
-
DEFAULT_CLOCK_RATE
public static final double DEFAULT_CLOCK_RATE
The default value of the clockRate property of VideoMediaFormatImpl.- See Also:
- Constant Field Values
-
H264_PACKETIZATION_MODE_FMTP
public static final String H264_PACKETIZATION_MODE_FMTP
The name of the format parameter which specifies the packetization mode of H.264 RTP payload.- See Also:
- Constant Field Values
-
H264_SPROP_PARAMETER_SETS_FMTP
public static final String H264_SPROP_PARAMETER_SETS_FMTP
- See Also:
- Constant Field Values
-
-
Method Detail
-
equals
public boolean equals(Object mediaFormat)
Implements MediaFormat#equals(Object) and actually compares the encapsulated JMF Format instances.- Specified by:
equalsin interfaceMediaFormat- Overrides:
equalsin classMediaFormatImpl<javax.media.format.VideoFormat>- Parameters:
mediaFormat- the object that we'd like to compare this one to- Returns:
- true if the JMF Format instances encapsulated by this instance and their other characteristics are equal; false, otherwise.
- See Also:
MediaFormatImpl.equals(Object)
-
formatParametersAreEqual
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. Since the values are Strings, presumes that a value of null is equal to the empty String.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.
Takes into account RFC 3984 "RTP Payload Format for H.264 Video" which says that "[w]hen the value of packetization-mode [format parameter] is equal to 0 or packetization-mode is not present, the single NAL mode, as defined in section 6.2 of RFC 3984, MUST be used."
- Overrides:
formatParametersAreEqualin classMediaFormatImpl<javax.media.format.VideoFormat>- Parameters:
fmtps1- the first set of format parameters to be tested for equalityfmtps2- the second set of format parameters to be tested for equality- Returns:
- true if the specified sets of format parameters are equal; false, otherwise
- See Also:
MediaFormatImpl.formatParametersAreEqual(Map, Map)
-
formatParametersAreEqual
public 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. Since the values are Strings, presumes that a value of null is equal to the empty String.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.
- Parameters:
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 equality- Returns:
- true if the specified sets of format parameters are equal; false, otherwise
-
formatParametersMatch
public boolean formatParametersMatch(Map<String,String> fmtps)
Determines whether the format parameters of this MediaFormat match a specific set of format parameters.VideoMediaFormat reflects the fact that the packetization-mode format parameter distinguishes H.264 payload types.
- Specified by:
formatParametersMatchin interfaceMediaFormat- Overrides:
formatParametersMatchin classMediaFormatImpl<javax.media.format.VideoFormat>- Parameters:
fmtps- the set of format parameters to match to the format parameters of this MediaFormat- Returns:
- true if this MediaFormat considers fmtps matching its format parameters; otherwise, false
-
formatParametersMatch
public static boolean formatParametersMatch(String encoding, Map<String,String> fmtps1, Map<String,String> fmtps2)
Determines whether two sets of format parameters match in the context of a specific encoding.- Parameters:
encoding- the encoding (name) related to the two sets of format parameters to be matched.fmtps1- the first set of format parameters which is to be matched against fmtps2fmtps2- the second set of format parameters which is to be matched against fmtps1- Returns:
- true if the two sets of format parameters match in the context of the specified encoding; otherwise, false
-
getClockRate
public double getClockRate()
Gets the clock rate associated with this MediaFormat.- Specified by:
getClockRatein interfaceMediaFormat- Returns:
- the clock rate associated with this MediaFormat
- See Also:
MediaFormat.getClockRate()
-
getFrameRate
public float getFrameRate()
Gets the frame rate associated with this MediaFormat.- Specified by:
getFrameRatein interfaceVideoMediaFormat- Returns:
- the frame rate associated with this MediaFormat
- See Also:
VideoMediaFormat.getFrameRate()
-
getMediaType
public final org.jitsi.utils.MediaType getMediaType()
Gets the type of this MediaFormat which isMediaType.VIDEOfor AudioMediaFormatImpl instances.- Specified by:
getMediaTypein interfaceMediaFormat- Returns:
- the MediaType that this format represents and which is MediaType.VIDEO for AudioMediaFormatImpl instances
- See Also:
MediaFormat.getMediaType()
-
getSize
public Dimension getSize()
Gets the size of the image that this VideoMediaFormat describes.- Specified by:
getSizein interfaceVideoMediaFormat- Returns:
- a
Dimensioninstance indicating the image size (in pixels) of this VideoMediaFormat - See Also:
VideoMediaFormat.getSize()
-
hashCode
public int hashCode()
Overrides MediaFormatImpl#hashCode() because Object#equals(Object) is overridden.- Overrides:
hashCodein classMediaFormatImpl<javax.media.format.VideoFormat>- Returns:
- a hash code value for this VideoMediaFormatImpl
- See Also:
MediaFormatImpl.hashCode()
-
-