FMLiveSwitchSdpMessage Class Reference

An SDP message. More...

Instance Methods

(void) - addBandwidth:
 Adds a proposed bandwidth. More...
 
(void) - addMediaDescription:
 Adds a media description. More...
 
(void) - addSessionAttribute:
 Adds a session-level attribute. More...
 
(void) - addTimeDescription:
 Adds a start, stop, and repeat time. More...
 
(FMLiveSwitchSdpMediaDescription *) - applicationDescription
 Gets the first media description of type "application". More...
 
(NSMutableArray *) - applicationDescriptions
 Gets any media descriptions of type "application". More...
 
(FMLiveSwitchSdpMediaDescription *) - audioDescription
 Gets the first media description of type "audio". More...
 
(NSMutableArray *) - audioDescriptions
 Gets any media descriptions of type "audio". More...
 
(NSMutableArray *) - bandwidths
 Gets the array of proposed bandwidths to be used by the session. More...
 
(NSMutableArray *) - bundleGroups
 Gets bundle groups in this media description. More...
 
(FMLiveSwitchSdpConnectionData *) - connectionData
 Gets session-level connection data. More...
 
(NSString *) - description
 Converts this instance to a string. More...
 
(NSString *) - emailAddress
 Gets the email address for the person responsible for the conference. More...
 
(FMLiveSwitchSdpEncryptionKey *) - encryptionKey
 Gets the session-level encryption key. More...
 
(NSMutableArray *) - findLipsyncGroups
 Returns LipSync Groups in this message. More...
 
(FMLiveSwitchSdpMediaDescription *) - findMediaDescriptionWithMid:
 Gets the Media Description for a given Media Identifier, a.k.a. More...
 
(NSMutableArray *) - getMsidSemanticEntries
 Obtains MSID Semantics Entries from the session-level attributes in this message. More...
 
(NSMutableArray *) - getSessionLevelCryptoAttributes
 Obtains Crypto attributes from the session-level attributes in this message. More...
 
(FMLiveSwitchStreamDirection) - getSessionLevelDirection
 Obtains the stream direction indicated as a session-level attribute in this message. More...
 
(FMLiveSwitchSdpIceFingerprintAttribute *) - getSessionLevelFingerprintAttribute
 Obtains Fingerprint attribute from the session-level attributes in this message. More...
 
(NSMutableArray *) - getSessionLevelIceOptionAttributes
 Obtains session-level Ice Options attributes associated with the Sdp Message. More...
 
(FMLiveSwitchSdpIcePasswordAttribute *) - getSessionLevelIcePasswordAttribute
 Obtains Ice Password Attribute from the session-level attributes in this message. More...
 
(FMLiveSwitchSdpIceUfragAttribute *) - getSessionLevelIceUfragAttribute
 Obtains Ice Ufrag Attribute from the session-level attributes in this message. More...
 
(bool) - getSessionLevelRtcpMultiplexingSupport
 Returns a value stating whether Rtcp Multiplexing support is indicated as a session-level attribute in this message. More...
 
(NSMutableArray *) - getSessionLevelRtpExtMapAttributes
 Obtains session-level RTP ext-map attributes associated with the Sdp Message. More...
 
(FMLiveSwitchSdpSetupAttribute *) - getSessionLevelSetupAttribute
 Obtains Setup Attribute from the session-level attributes in this message. More...
 
(NSMutableArray *) - getSynchronizedStreamGroups
 Gets the synchronized stream groups in this session description. More...
 
(instancetype) - initWithOrigin:
 Initializes a new instance of the FMLiveSwitchSdpMessage class. More...
 
(instancetype) - initWithOrigin:sessionName:
 Initializes a new instance of the FMLiveSwitchSdpMessage class. More...
 
(instancetype) - initWithOrigin:sessionName:timeDescriptions:
 Initializes a new instance of the FMLiveSwitchSdpMessage class. More...
 
(void) - insertMediaDescriptionWithIndex:mediaDescription:
 Adds a media description at the given index. More...
 
(NSMutableArray *) - mediaDescriptions
 Gets the array of media descriptions. More...
 
(FMLiveSwitchSdpMediaDescription *) - messageDescription
 Gets the first media description of type "message". More...
 
(NSMutableArray *) - messageDescriptions
 Gets any media descriptions of type "message". More...
 
(FMLiveSwitchSdpOrigin *) - origin
 Gets the originator of the session plus a session identifier and version number. More...
 
(NSString *) - phoneNumber
 Gets the phone number for the person responsible for the conference. More...
 
(NSString *) - protocolVersion
 Gets the version of the Session Description Protocol. More...
 
(bool) - removeBandwidth:
 Removes a proposed bandwidth. More...
 
(void) - removeLipSyncGroupAttributes
 Removes lipsync group attributes in this session description. More...
 
(bool) - removeMediaDescription:
 Removes a media description. More...
 
(bool) - removeSessionAttributeWithAttributeType:
 Removes a session-level attribute. More...
 
(bool) - removeTimeDescription:
 Removes a start, stop, and repeat time. More...
 
(void) - removeTimeDescriptions
 Removes all time descriptions. More...
 
(NSMutableArray *) - sessionAttributes
 Gets the array of session-level attributes. More...
 
(NSString *) - sessionInformation
 Gets textual information about the session. More...
 
(NSString *) - sessionName
 Gets the textual session name. More...
 
(void) - setConnectionData:
 Sets session-level connection data. More...
 
(void) - setEmailAddress:
 Sets the email address for the person responsible for the conference. More...
 
(void) - setEncryptionKey:
 Sets the session-level encryption key. More...
 
(void) - setMsidSemanticEntries:
 Sets MSID Semantics Entries into the session-level attributes in this message. More...
 
(void) - setPhoneNumber:
 Sets the phone number for the person responsible for the conference. More...
 
(void) - setSessionInformation:
 Sets textual information about the session. More...
 
(void) - setSupportsTrickleIce:
 Sets a value indicating whether Trickle-ICE is supported. More...
 
(void) - setTimeZoneAdjustments:
 Sets the time zone adjustments. More...
 
(void) - setUri:
 Sets the pointer to additional information about the session. More...
 
(bool) - supportsRtcpMultiplexing
 Gets a value indicating whether the SDP Message implies RTP/RTCP Multiplexing Support. More...
 
(bool) - supportsTrickleIce
 Gets a value indicating whether Trickle-ICE is supported. More...
 
(FMLiveSwitchSdpMediaDescription *) - textDescription
 Gets the first media description of type "text". More...
 
(NSMutableArray *) - textDescriptions
 Gets any media descriptions of type "text". More...
 
(NSMutableArray *) - timeDescriptions
 Gets the array of start, stop, and repeat times for the session. More...
 
(FMLiveSwitchSdpTimeZones *) - timeZoneAdjustments
 Gets the time zone adjustments. More...
 
(void) - updateSetupValue:
 Updates SDP Setup Value associated with the session description. More...
 
(NSURL *) - uri
 Gets the pointer to additional information about the session. More...
 
(FMLiveSwitchSdpMediaDescription *) - videoDescription
 Gets the first media description of type "video". More...
 
(NSMutableArray *) - videoDescriptions
 Gets any media descriptions of type "video". More...
 

Class Methods

(NSMutableArray *) + getNativeWebRtcMediaStreamIdsWithMessage:
 Returns the array of unique Native WebRtc Media Stream Identifications present in the Session Description. More...
 
(FMLiveSwitchSdpMessage *) + messageWithOrigin:
 Initializes a new instance of the FMLiveSwitchSdpMessage class. More...
 
(FMLiveSwitchSdpMessage *) + messageWithOrigin:sessionName:
 Initializes a new instance of the FMLiveSwitchSdpMessage class. More...
 
(FMLiveSwitchSdpMessage *) + messageWithOrigin:sessionName:timeDescriptions:
 Initializes a new instance of the FMLiveSwitchSdpMessage class. More...
 
(FMLiveSwitchSdpMessage *) + parseWithS:
 Creates an FMLiveSwitchSdpMessage instance from a string. More...
 

Detailed Description

An SDP message.

Method Documentation

◆ addBandwidth:

- (void) addBandwidth: (FMLiveSwitchSdpBandwidth *)  bandwidth

Adds a proposed bandwidth.

Parameters
bandwidthThe proposed bandwidth to add.

◆ addMediaDescription:

- (void) addMediaDescription: (FMLiveSwitchSdpMediaDescription *)  mediaDescription

Adds a media description.

Parameters
mediaDescriptionThe media description to add.

◆ addSessionAttribute:

- (void) addSessionAttribute: (FMLiveSwitchSdpAttribute *)  attribute

Adds a session-level attribute.

Parameters
attributeThe session-level attribute to add.

◆ addTimeDescription:

- (void) addTimeDescription: (FMLiveSwitchSdpTimeDescription *)  timeDescription

Adds a start, stop, and repeat time.

Parameters
timeDescriptionThe start, stop, and repeat time to add.

◆ applicationDescription

- (FMLiveSwitchSdpMediaDescription*) applicationDescription

Gets the first media description of type "application".

◆ applicationDescriptions

- (NSMutableArray*) applicationDescriptions

Gets any media descriptions of type "application".

◆ audioDescription

- (FMLiveSwitchSdpMediaDescription*) audioDescription

Gets the first media description of type "audio".

◆ audioDescriptions

- (NSMutableArray*) audioDescriptions

Gets any media descriptions of type "audio".

◆ bandwidths

- (NSMutableArray*) bandwidths

Gets the array of proposed bandwidths to be used by the session.

◆ bundleGroups

- (NSMutableArray*) bundleGroups

Gets bundle groups in this media description.

◆ connectionData

- (FMLiveSwitchSdpConnectionData*) connectionData

Gets session-level connection data.

◆ description

- (NSString*) description

Converts this instance to a string.

◆ emailAddress

- (NSString*) emailAddress

Gets the email address for the person responsible for the conference.

◆ encryptionKey

- (FMLiveSwitchSdpEncryptionKey*) encryptionKey

Gets the session-level encryption key.

◆ findLipsyncGroups

- (NSMutableArray*) findLipsyncGroups

Returns LipSync Groups in this message.

◆ findMediaDescriptionWithMid:

- (FMLiveSwitchSdpMediaDescription*) findMediaDescriptionWithMid: (NSString *)  mid

Gets the Media Description for a given Media Identifier, a.k.a.

mid.

Parameters
mid

◆ getMsidSemanticEntries

- (NSMutableArray*) getMsidSemanticEntries

Obtains MSID Semantics Entries from the session-level attributes in this message.

◆ getNativeWebRtcMediaStreamIdsWithMessage:

+ (NSMutableArray*) getNativeWebRtcMediaStreamIdsWithMessage: (FMLiveSwitchSdpMessage *)  message

Returns the array of unique Native WebRtc Media Stream Identifications present in the Session Description.

Parameters
messageThe message to analyse.
Returns
The array of unique Native WebRtc Media Stream Identifications present in the Session Descriptio.

◆ getSessionLevelCryptoAttributes

- (NSMutableArray*) getSessionLevelCryptoAttributes

Obtains Crypto attributes from the session-level attributes in this message.

Crypto attributes may also be sent as a media-level argument, so individual media descriptions must also be examined.

◆ getSessionLevelDirection

- (FMLiveSwitchStreamDirection) getSessionLevelDirection

Obtains the stream direction indicated as a session-level attribute in this message.

If none is supplied, StreamDirection.Unset is returned. Stream Direction may also be (and most likely is) indicated as a media-level attribute, so individual media descriptions must also be examined.

◆ getSessionLevelFingerprintAttribute

- (FMLiveSwitchSdpIceFingerprintAttribute*) getSessionLevelFingerprintAttribute

Obtains Fingerprint attribute from the session-level attributes in this message.

Fingerprint attribute may also be sent as a media-level argument, so individual media descriptions must also be examined.

◆ getSessionLevelIceOptionAttributes

- (NSMutableArray*) getSessionLevelIceOptionAttributes

Obtains session-level Ice Options attributes associated with the Sdp Message.

◆ getSessionLevelIcePasswordAttribute

- (FMLiveSwitchSdpIcePasswordAttribute*) getSessionLevelIcePasswordAttribute

Obtains Ice Password Attribute from the session-level attributes in this message.

Ice Password attribute may also be sent as a media-level argument, so individual media descriptions must also be examined.

◆ getSessionLevelIceUfragAttribute

- (FMLiveSwitchSdpIceUfragAttribute*) getSessionLevelIceUfragAttribute

Obtains Ice Ufrag Attribute from the session-level attributes in this message.

Ice Ufrag Attributes may also be sent as a media-level argument, so individual media descriptions must also be examined.

◆ getSessionLevelRtcpMultiplexingSupport

- (bool) getSessionLevelRtcpMultiplexingSupport

Returns a value stating whether Rtcp Multiplexing support is indicated as a session-level attribute in this message.

Rtcp Multiplexing support may also be indicated via a media-level argument, so individual media descriptions must also be examined.

◆ getSessionLevelRtpExtMapAttributes

- (NSMutableArray*) getSessionLevelRtpExtMapAttributes

Obtains session-level RTP ext-map attributes associated with the Sdp Message.

◆ getSessionLevelSetupAttribute

- (FMLiveSwitchSdpSetupAttribute*) getSessionLevelSetupAttribute

Obtains Setup Attribute from the session-level attributes in this message.

Setup Attributes may also be sent as a media-level argument, so individual media descriptions must also be examined.

◆ getSynchronizedStreamGroups

- (NSMutableArray*) getSynchronizedStreamGroups

Gets the synchronized stream groups in this session description.

Returns
The synchronized stream groups in this session description.

◆ initWithOrigin:

- (instancetype) initWithOrigin: (FMLiveSwitchSdpOrigin *)  origin

Initializes a new instance of the FMLiveSwitchSdpMessage class.

Parameters
originThe originator of the session plus a session identifier and version number.

◆ initWithOrigin:sessionName:

- (instancetype) initWithOrigin: (FMLiveSwitchSdpOrigin *)  origin
sessionName: (NSString *)  sessionName 

Initializes a new instance of the FMLiveSwitchSdpMessage class.

Parameters
originThe originator of the session plus a session identifier and version number.
sessionNameThe textual session name.

◆ initWithOrigin:sessionName:timeDescriptions:

- (instancetype) initWithOrigin: (FMLiveSwitchSdpOrigin *)  origin
sessionName: (NSString *)  sessionName
timeDescriptions: (NSMutableArray *)  timeDescriptions 

Initializes a new instance of the FMLiveSwitchSdpMessage class.

Parameters
originThe originator of the session plus a session identifier and version number.
sessionNameThe textual session name.
timeDescriptionsThe array of start, stop, and repeat times for the session.

◆ insertMediaDescriptionWithIndex:mediaDescription:

- (void) insertMediaDescriptionWithIndex: (int)  index
mediaDescription: (FMLiveSwitchSdpMediaDescription *)  mediaDescription 

Adds a media description at the given index.

Parameters
indexThe index at which to add the media description.
mediaDescriptionThe media description to add.

◆ mediaDescriptions

- (NSMutableArray*) mediaDescriptions

Gets the array of media descriptions.

◆ messageDescription

- (FMLiveSwitchSdpMediaDescription*) messageDescription

Gets the first media description of type "message".

◆ messageDescriptions

- (NSMutableArray*) messageDescriptions

Gets any media descriptions of type "message".

◆ messageWithOrigin:

+ (FMLiveSwitchSdpMessage*) messageWithOrigin: (FMLiveSwitchSdpOrigin *)  origin

Initializes a new instance of the FMLiveSwitchSdpMessage class.

Parameters
originThe originator of the session plus a session identifier and version number.

◆ messageWithOrigin:sessionName:

+ (FMLiveSwitchSdpMessage*) messageWithOrigin: (FMLiveSwitchSdpOrigin *)  origin
sessionName: (NSString *)  sessionName 

Initializes a new instance of the FMLiveSwitchSdpMessage class.

Parameters
originThe originator of the session plus a session identifier and version number.
sessionNameThe textual session name.

◆ messageWithOrigin:sessionName:timeDescriptions:

+ (FMLiveSwitchSdpMessage*) messageWithOrigin: (FMLiveSwitchSdpOrigin *)  origin
sessionName: (NSString *)  sessionName
timeDescriptions: (NSMutableArray *)  timeDescriptions 

Initializes a new instance of the FMLiveSwitchSdpMessage class.

Parameters
originThe originator of the session plus a session identifier and version number.
sessionNameThe textual session name.
timeDescriptionsThe array of start, stop, and repeat times for the session.

◆ origin

- (FMLiveSwitchSdpOrigin*) origin

Gets the originator of the session plus a session identifier and version number.

◆ parseWithS:

+ (FMLiveSwitchSdpMessage*) parseWithS: (NSString *)  s

Creates an FMLiveSwitchSdpMessage instance from a string.

Parameters
sThe string to parse.

◆ phoneNumber

- (NSString*) phoneNumber

Gets the phone number for the person responsible for the conference.

◆ protocolVersion

- (NSString*) protocolVersion

Gets the version of the Session Description Protocol.

◆ removeBandwidth:

- (bool) removeBandwidth: (FMLiveSwitchSdpBandwidth *)  bandwidth

Removes a proposed bandwidth.

Parameters
bandwidthThe proposed bandwidth to remove.

◆ removeLipSyncGroupAttributes

- (void) removeLipSyncGroupAttributes

Removes lipsync group attributes in this session description.

◆ removeMediaDescription:

- (bool) removeMediaDescription: (FMLiveSwitchSdpMediaDescription *)  mediaDescription

Removes a media description.

Parameters
mediaDescriptionThe media description to remove.

◆ removeSessionAttributeWithAttributeType:

- (bool) removeSessionAttributeWithAttributeType: (FMLiveSwitchSdpAttributeType)  attributeType

Removes a session-level attribute.

Parameters
attributeTypeThe session-level attribute type to remove.

◆ removeTimeDescription:

- (bool) removeTimeDescription: (FMLiveSwitchSdpTimeDescription *)  timeDescription

Removes a start, stop, and repeat time.

Parameters
timeDescriptionThe start, stop, and repeat time to remove.

◆ removeTimeDescriptions

- (void) removeTimeDescriptions

Removes all time descriptions.

◆ sessionAttributes

- (NSMutableArray*) sessionAttributes

Gets the array of session-level attributes.

◆ sessionInformation

- (NSString*) sessionInformation

Gets textual information about the session.

◆ sessionName

- (NSString*) sessionName

Gets the textual session name.

◆ setConnectionData:

- (void) setConnectionData: (FMLiveSwitchSdpConnectionData *)  value

Sets session-level connection data.

◆ setEmailAddress:

- (void) setEmailAddress: (NSString *)  value

Sets the email address for the person responsible for the conference.

◆ setEncryptionKey:

- (void) setEncryptionKey: (FMLiveSwitchSdpEncryptionKey *)  value

Sets the session-level encryption key.

◆ setMsidSemanticEntries:

- (void) setMsidSemanticEntries: (NSMutableArray *)  entries

Sets MSID Semantics Entries into the session-level attributes in this message.

◆ setPhoneNumber:

- (void) setPhoneNumber: (NSString *)  value

Sets the phone number for the person responsible for the conference.

◆ setSessionInformation:

- (void) setSessionInformation: (NSString *)  value

Sets textual information about the session.

◆ setSupportsTrickleIce:

- (void) setSupportsTrickleIce: (bool)  value

Sets a value indicating whether Trickle-ICE is supported.

◆ setTimeZoneAdjustments:

- (void) setTimeZoneAdjustments: (FMLiveSwitchSdpTimeZones *)  value

Sets the time zone adjustments.

◆ setUri:

- (void) setUri: (NSURL *)  value

Sets the pointer to additional information about the session.

◆ supportsRtcpMultiplexing

- (bool) supportsRtcpMultiplexing

Gets a value indicating whether the SDP Message implies RTP/RTCP Multiplexing Support.

◆ supportsTrickleIce

- (bool) supportsTrickleIce

Gets a value indicating whether Trickle-ICE is supported.

◆ textDescription

- (FMLiveSwitchSdpMediaDescription*) textDescription

Gets the first media description of type "text".

◆ textDescriptions

- (NSMutableArray*) textDescriptions

Gets any media descriptions of type "text".

◆ timeDescriptions

- (NSMutableArray*) timeDescriptions

Gets the array of start, stop, and repeat times for the session.

◆ timeZoneAdjustments

- (FMLiveSwitchSdpTimeZones*) timeZoneAdjustments

Gets the time zone adjustments.

◆ updateSetupValue:

- (void) updateSetupValue: (NSString *)  setupValue

Updates SDP Setup Value associated with the session description.

Parameters
setupValue

◆ uri

- (NSURL*) uri

Gets the pointer to additional information about the session.

◆ videoDescription

- (FMLiveSwitchSdpMediaDescription*) videoDescription

Gets the first media description of type "video".

◆ videoDescriptions

- (NSMutableArray*) videoDescriptions

Gets any media descriptions of type "video".