Methods
UpdateCodecs | (a(usuua{ss}): Codecs) | → | nothing |
Signals
CodecsChanged | (a{ua(usuua{ss})}: Updated_Codecs, au: Removed_Contacts) | |
NewCodecOffer | (o: Offer, a{ua(usuua{ss})}: Codecs) |
Properties
ContactCodecMap | a{ua(usuua{ss})} (Contact_Codec_Map) | Read only | ||
CodecOffer | (oa{ua(usuua{ss})}) (Codec_Offering) | Read only |
Types
Contact_Codec_Map | Mapping | a{ua(usuua{ss})} | |
Codec | Struct | (usuua{ss}) | |
Codec_Offering | Struct | (oa{ua(usuua{ss})}) |
Description
Interface to use by a software implementation of media streaming.
On new Call.DRAFT channels, handlers should wait for CodecOffer.DRAFT objects to appear (one will either already be present, or will appear at some point in the channel's lifetime).
If the Call is incoming, then the codec offer's RemoteContactCodecMap will already be filled with the codec information of the remote contacts. Depending on the protocol, an outgoing call's RemoteContactCodecMap will either be filled with remote contact codec information, or it will be empty. If empty, then this SHOULD be interpreted to mean that all codecs are supported. Once a compatible list of codecs has been decided, CodecOffer.DRAFT.Accept should be called with the details of these codecs.
Methods
UpdateCodecs (a(usuua{ss}): Codecs) → nothing
Parameters
- Codecs — a(usuua{ss}) (Codec_List)
Possible Errors
- Not Available
Signals
CodecsChanged (a{ua(usuua{ss})}: Updated_Codecs, au: Removed_Contacts)
Parameters
- Updated_Codecs — a{ua(usuua{ss})} (Contact_Codec_Map)
- Removed_Contacts — au (Contact_Handle_List)
Emitted when the codecs in use change.
As well as acting as change notification for the
ContactCodecMap, emission of this
signal implies that the CodecOffer
property has changed to ('/', {})
.
NewCodecOffer (o: Offer, a{ua(usuua{ss})}: Codecs)
Parameters
- Offer — o
- Codecs — a{ua(usuua{ss})} (Contact_Codec_Map)
The CodecOffer.DRAFT.RemoteContactCodecMap property of the codec offer.
Rationale:
Emitted when a new CodecOffer.DRAFT appears. The streaming implementation MUST respond by calling the Accept or Reject method on the codec offer object.
Emission of this signal indicates that the
CodecOffer property has changed to
(Offer, Codecs)
.
Properties
ContactCodecMap — a{ua(usuua{ss})} (Contact_Codec_Map)
A map from contact handles (including the local user's own handle) to the codecs supported by that contact.
Change notification is via the CodecsChanged signal.
CodecOffer — (oa{ua(usuua{ss})}) (Codec_Offering)
The object path to the current CodecOffer.DRAFT object, and its CodecOffer.DRAFT.RemoteContactCodecMap property. If the object path is "/" then there isn't an outstanding codec offer, and the mapping MUST be empty.
Rationale:
Change notification is via the NewCodecOffer (which replaces the value of this property with a new codec offer), and CodecsChanged (which implies that there is no longer any active codec offer) signals.
Types
Contact_Codec_Map — a{ua(usuua{ss})}
- Handle — u (Contact_Handle)
- Codecs — a(usuua{ss}) (Codec_List)
Codec — (usuua{ss})
- Identifier — u
- Name — s
- Clockrate — u
- Channels — u
- Parameters — a{ss} (String_String_Map)
Codec_Offering — (oa{ua(usuua{ss})})
- Codec_Offer — o
- Remote_Contact_Codec_Map — a{ua(usuua{ss})} (Contact_Codec_Map)