Interface org.freedesktop.Telepathy.Call.Content.Interface.Media.DRAFT

Interface Index (Compact) | Summary | Description | Methods | Signals | Properties | Types

Methods

SetCodecs (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})})
WARNING: This interface is experimental and is likely to cause havoc to your API/ABI if bindings are generated. Do not include this interface in libraries that care about compatibility.
Added in 0.17.UNRELEASED. (as a draft)
Objects implementing this interface must also implement:

Description

Interface to use by a software implementation of media streaming. FIXME: How should the streaming implementation know when it is its turn to set the codecs.

Methods

(Permalink)

SetCodecs (a(usuua{ss}): Codecs) → nothing

Parameters

  • Codecs — a(usuua{ss}) (Codec_List)
  • The codecs now supported by the local user.
Set or update the local codec mapping.

Signals

(Permalink)

CodecsChanged (a{ua(usuua{ss})}: Updated_Codecs, au: Removed_Contacts)

Parameters

  • Updated_Codecs — a{ua(usuua{ss})} (Contact_Codec_Map)
  • A map from contacts to their codecs. Each pair in this map is added to the ContactCodecMap property, replacing any previous pair with that key.
  • Removed_Contacts — au (Contact_Handle_List)
  • A list of keys which were removed from the ContactCodecMap, probably because those contacts left the call.

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 ('/', {}).

(Permalink)

NewCodecOffer (o: Offer, a{ua(usuua{ss})}: Codecs)

Parameters

  • Offer — o
  • The object path of the new codec offer. This replaces any previous codec offer.
  • Codecs — a{ua(usuua{ss})} (Contact_Codec_Map)
  • The CodecOffer.DRAFT.RemoteContactCodecMap property of the codec offer.

    Having the RemoteContactCodecMap property here saves a D-Bus round-trip - it shouldn't be necessary to get the property from the CodecOffer object, in practice.

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

Accessed using the org.freedesktop.DBus.Properties interface.
(Permalink)

ContactCodecMap — a{ua(usuua{ss})} (Contact_Codec_Map)

Read only

A map from contact handles (including the local user's own handle) to the codecs supported by that contact.

Change notification is via CodecsChanged.

The local user's handle MUST be present in this map, using the Group.SelfHandle if the channel implements Group, or the Connection.SelfHandle otherwise.

(Permalink)

CodecOffer — (oa{ua(usuua{ss})}) (Codec_Offering)

Read only

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.

Having the RemoteContactCodecMap property here saves a D-Bus round-trip - it shouldn't be necessary to get the property from the CodecOffer object, in practice.

Change notification is via 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).

Types

Mapping (Permalink)

Contact_Codec_Map — a{ua(usuua{ss})}

A map from contacts to the lists of codecs they support.
Struct (Permalink)

Codec — (usuua{ss})

A description of a codec.
  • Identifier — u
  • Numeric identifier for the codec. This will be used as the PT in the SDP or content description.
  • Name — s
  • The name of the codec.
  • Clockrate — u
  • The clockrate of the codec
  • Channels — u
  • Number of channels of the codec if applicable, otherwise 0
  • Parameters — a{ss}
  • Extra parameters for this codec
Struct (Permalink)

Codec_Offering — (oa{ua(usuua{ss})})

A codec offer and its corresponding remote contact codec map.