## TpBaseMediaCallContent

TpBaseMediaCallContent — base class for TpSvcCallContentInterfaceMedia implementations

## Functions

GHashTable * | tp_base_media_call_content_get_local_media_description ()
void | tp_base_media_call_content_offer_media_description_async ()
gboolean | tp_base_media_call_content_offer_media_description_finish ()

## Properties

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

## Signals

void | local-media-description-updated | Run Last

## Types and Values

struct | TpBaseMediaCallContent
struct | TpBaseMediaCallContentClass

## Object Hierarchy

        GObject
        ╰── TpBaseCallContent
            ╰── TpBaseMediaCallContent

## Implemented Interfaces

TpBaseMediaCallContent implements TpSvcDBusProperties, TpSvcCallContent, TpSvcCallContentInterfaceDTMF and TpSvcCallContentInterfaceMedia.

## Includes

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

## 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.

## Functions

### 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` .

#### Parameters

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.

#### Parameters

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()`.

#### Parameters

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

Since 0.17.5

## Types and Values

### struct TpBaseMediaCallContent

    struct 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

## Property Details

### The `“current-dtmf-event”` property

      “current-dtmf-event”       guchar

The currently being played TpDTMFEvent if any

Flags: Read

Allowed values: <= 15

Default value: 0

Since 0.17.5

### The `“current-dtmf-state”` property

      “current-dtmf-state”       guint

The TpSendingState of the dtmf events

Flags: Read

Allowed values: <= 3

Default value: 0

Since 0.17.5

### The `“local-media-descriptions”` property

      “local-media-descriptions” GHashTable_guint+GHashTable_gchararray+GValue__*

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

Flags: Read

Since 0.17.5

### The `“media-description-offer”` property

      “media-description-offer”  GValueArray_DBusGObjectPath+GHashTable_gchararray+GValue__*

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

Flags: Read

Since 0.17.5

### The `“packetization”` property

      “packetization”            guint

The TpCallContentPacketizationType of this content.

Flags: Read / Write / Construct Only

Default value: 0

Since 0.17.5

### The `“remote-media-descriptions”` property

      “remote-media-descriptions” GHashTable_guint+GHashTable_gchararray+GValue__*

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

Flags: Read

Since 0.17.5

## Signal Details

### The `“local-media-description-updated”` signal

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

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

#### Parameters

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. |

Flags: Run Last

Since 0.17.5

## See Also

TpSvcCallContentInterfaceMedia, TpBaseCallChannel, TpBaseCallContent and TpBaseCallStream