## TpBaseMediaCallChannel TpBaseMediaCallChannel — base class for TpSvcChannelTypeCall RTP media implementations |

## Synopsis

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

                        TpBaseMediaCallChannel;
    struct              TpBaseMediaCallChannelClass;
    void                (*TpBaseMediaCallChannelHoldStateChangedFunc)
                                                            (TpBaseMediaCallChannel *self,
                                                             TpLocalHoldState hold_state,
                                                             TpLocalHoldStateReason hold_state_reason);
    void                (*TpBaseMediaCallChannelVoidFunc)   (TpBaseMediaCallChannel *self);
    TpLocalHoldState    tp_base_media_call_channel_get_local_hold_state
                                                            (TpBaseMediaCallChannel *channel,
                                                             TpLocalHoldStateReason *reason);

## Object Hierarchy

      GObject
       +----TpBaseChannel
             +----TpBaseCallChannel
                   +----TpBaseMediaCallChannel

## Implemented Interfaces

TpBaseMediaCallChannel implements TpSvcDBusProperties, TpSvcChannel, TpChannelIface, TpExportableChannel, TpSvcChannelTypeCall, TpSvcChannelInterfaceDTMF and TpSvcChannelInterfaceHold.

## Description

This is a base class for connection managers that use standard RTP media.

## Details

### TpBaseMediaCallChannel

    typedef struct _TpBaseMediaCallChannel TpBaseMediaCallChannel;

A base class for call channel implementations with standard RTP

Since 0.17.5

### struct TpBaseMediaCallChannelClass

    struct TpBaseMediaCallChannelClass {
      TpBaseMediaCallChannelHoldStateChangedFunc hold_state_changed;
      TpBaseMediaCallChannelVoidFunc accept;
    };

The class structure for TpBaseMediaCallChannel

TpBaseMediaCallChannelHoldStateChangedFunc `hold_state_changed`; | optional; virtual method called when the hold state changed
TpBaseMediaCallChannelVoidFunc `accept`; | optional; virtual method called when the call is locally accepted and contents are ready. This replaces TpBaseCallChannelClass.accept.

Since 0.17.5

### TpBaseMediaCallChannelHoldStateChangedFunc ()

    void                (*TpBaseMediaCallChannelHoldStateChangedFunc)
                                                            (TpBaseMediaCallChannel *self,
                                                             TpLocalHoldState hold_state,
                                                             TpLocalHoldStateReason hold_state_reason);

Signature of an implementation of TpBaseMediaCallChannelClass.hold_state_changed.

`self` : | a TpBaseMediaCallChannel
`hold_state` : | the new TpLocalHoldState
`hold_state_reason` : | the TpLocalHoldStateReason for this change

Since 0.17.5

### TpBaseMediaCallChannelVoidFunc ()

    void                (*TpBaseMediaCallChannelVoidFunc)   (TpBaseMediaCallChannel *self);

Signature of an implementation of TpBaseMediaCallChannelClass.accept.

`self` : | a TpBaseMediaCallChannel

Since 0.17.5

### tp_base_media_call_channel_get_local_hold_state ()

    TpLocalHoldState    tp_base_media_call_channel_get_local_hold_state
                                                            (TpBaseMediaCallChannel *channel,
                                                             TpLocalHoldStateReason *reason);

`channel` : | a TpBaseMediaCallChannel
`reason` : | pointer to a location where to store the `reason`, or `NULL`
Returns : | The current hold state

Since 0.17.6

## See Also

TpBaseCallChannel, TpBaseMediaCallContent, TpBaseMediaCallStream