## TpBaseMediaCallContent TpBaseMediaCallContent — base class for TpSvcCallContentInterfaceMedia implementations |

## Synopsis

    #include <telepathy-glib/telepathy-glib.h>

                        TpBaseMediaCallContent;
    struct              TpBaseMediaCallContentClass;
    GHashTable *        tp_base_media_call_content_get_local_media_description
                                                            (TpBaseMediaCallContent *self,
                                                             TpHandle contact);
    void                tp_base_media_call_content_offer_media_description_async
                                                            (TpBaseMediaCallContent *self,
                                                             TpCallContentMediaDescription *md,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            tp_base_media_call_content_offer_media_description_finish
                                                            (TpBaseMediaCallContent *self,
                                                             GAsyncResult *result,
                                                             GError **error);

## Object Hierarchy

      GObject
       +----TpBaseCallContent
             +----TpBaseMediaCallContent

## Implemented Interfaces

TpBaseMediaCallContent implements TpSvcDBusProperties, TpSvcCallContent, TpSvcCallContentInterfaceDTMF and TpSvcCallContentInterfaceMedia.

## Properties

      "current-dtmf-event"       guchar                : Read
      "current-dtmf-state"       guint                 : Read
      "local-media-descriptions" GHashTable_guint+GHashTable_gchararray+GValue__*  : Read
      "media-description-offer"  GValueArray_DBusGObjectPath+GHashTable_gchararray+GValue__*  : Read
      "packetization"            guint                 : Read / Write / Construct Only
      "remote-media-descriptions" GHashTable_guint+GHashTable_gchararray+GValue__*  : Read

## Signals

      "local-media-description-updated"                : Run Last

## Description

This base class makes it easier to write TpSvcCallContentInterfaceMedia implementations by implementing its properties and methods.

Subclasses must still implement TpBaseCallContent's virtual methods.

## Details

### TpBaseMediaCallContent

    typedef struct _TpBaseMediaCallContent TpBaseMediaCallContent;

A base class for media call content implementations

Since 0.17.5

### struct TpBaseMediaCallContentClass

    struct TpBaseMediaCallContentClass {
    };

The class structure for TpBaseMediaCallContent

Since 0.17.5

### tp_base_media_call_content_get_local_media_description ()

    GHashTable *        tp_base_media_call_content_get_local_media_description
                                                            (TpBaseMediaCallContent *self,
                                                             TpHandle contact);

Get the media description used to stream to `contact`.

`self` : | a TpBaseMediaCallContent
`contact` : | the contact
Returns : | borrowed GHashTable mapping iface propery string to GValue.

Since 0.17.5

### tp_base_media_call_content_offer_media_description_async ()

    void                tp_base_media_call_content_offer_media_description_async
                                                            (TpBaseMediaCallContent *self,
                                                             TpCallContentMediaDescription *md,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Offer `md` for media description negociation.

`self` : | a TpBaseMediaCallContent
`md` : | a TpCallContentMediaDescription
`callback` : | a callback to call when the operation finishes
`user_data` : | data to pass to `callback`

Since 0.17.5

### tp_base_media_call_content_offer_media_description_finish ()

    gboolean            tp_base_media_call_content_offer_media_description_finish
                                                            (TpBaseMediaCallContent *self,
                                                             GAsyncResult *result,
                                                             GError **error);

Finishes `tp_base_media_call_content_offer_media_description_async()`.

`self` : | a TpBaseMediaCallContent
`result` : | a GAsyncResult
`error` : | a GError to fill

Since 0.17.5

## Property Details

### The `"current-dtmf-event"` property

      "current-dtmf-event"       guchar                : Read

The currently being played TpDTMFEvent if any

Allowed values: <= 15

Default value: 0

Since 0.17.5

### The `"current-dtmf-state"` property

      "current-dtmf-state"       guint                 : Read

The TpSendingState of the dtmf events

Allowed values: <= 3

Default value: 0

Since 0.17.5

### The `"local-media-descriptions"` property

      "local-media-descriptions" GHashTable_guint+GHashTable_gchararray+GValue__*  : Read

GHashTable{contact TpHandle, properties GHashTable} The map of contacts to local media descriptions.

Since 0.17.5

### The `"media-description-offer"` property

      "media-description-offer"  GValueArray_DBusGObjectPath+GHashTable_gchararray+GValue__*  : Read

GValueArray{object-path, contact TpHandle, properties GHashTable}. The current media description offer if any.

Since 0.17.5

### The `"packetization"` property

      "packetization"            guint                 : Read / Write / Construct Only

The TpCallContentPacketizationType of this content.

Default value: 0

Since 0.17.5

### The `"remote-media-descriptions"` property

      "remote-media-descriptions" GHashTable_guint+GHashTable_gchararray+GValue__*  : Read

GHashTable{contact TpHandle, properties GHashTable} The map of contacts to remote media descriptions.

Since 0.17.5

## Signal Details

### The `"local-media-description-updated"` signal

    void                user_function                      (TpBaseMediaCallContent *self,
                                                            guint                   contact,
                                                            GHashTable             *properties,
                                                            gpointer                user_data)       : Run Last

The ::local-media-description-changed signal is emitted whenever the local media description changes for a remote contact.

`self` : | the TpCallChannel
`contact` : | the remote contact
`properties` : | the new media description properties asv
`user_data` : | user data set when the signal handler was connected.

Since 0.17.5

## See Also

TpSvcCallContentInterfaceMedia, TpBaseCallChannel, TpBaseCallContent and TpBaseCallStream