TpBaseMediaCallStream

TpBaseMediaCallStream — base class for TpSvcCallStreamInterfaceMedia implementations

Functions

Properties

GPtrArray_DBusGObjectPath_ * endpoints Read
gboolean has-server-info Read
gboolean ice-restart-pending Read
GPtrArray_GValueArray_guint+gchararray+guint+GHashTable_gchararray+GValue___* local-candidates Read
GValueArray_gchararray+gchararray_* local-credentials Read
guint receiving-state Read
GPtrArray_GHashTable_gchararray+GValue__* relay-info Read
guint sending-state Read
GPtrArray_GValueArray_gchararray+guint__* stun-servers Read
guint transport Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── TpBaseCallStream
        ╰── TpBaseMediaCallStream

Implemented Interfaces

TpBaseMediaCallStream implements TpSvcDBusProperties, TpSvcCallStream and TpSvcCallStreamInterfaceMedia.

Includes

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

Description

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

Subclasses must still implement TpBaseCallStream's virtual methods plus TpBaseMediaCallStreamClass.add_local_candidates and TpBaseMediaCallStreamClass.finish_initial_candidates.

Functions

TpBaseMediaCallStreamFinishInitialCandidatesFunc ()

gboolean
(*TpBaseMediaCallStreamFinishInitialCandidatesFunc)
                               (TpBaseMediaCallStream *self,
                                GError **error);

Signature of an implementation of TpBaseMediaCallStreamClass.finish_initial_candidates.

Parameters

self

a TpBaseMediaCallStream

 

error

a GError to fill

 

Since: 0.17.5


TpBaseMediaCallStreamAddCandidatesFunc ()

GPtrArray *
(*TpBaseMediaCallStreamAddCandidatesFunc)
                               (TpBaseMediaCallStream *self,
                                const GPtrArray *candidates,
                                GError **error);

Signature of an implementation of TpBaseMediaCallStreamClass.add_local_candidates.

Implementation should validate the added candidates and return a subset (or all) of them that are accepted. Implementation should return a new GPtrArray build in a way that g_ptr_array_unref() is enough to free all its memory. It is fine to just add element pointers from candidates to the returned GPtrArray without deep-copy them.

Parameters

self

a TpBaseMediaCallStream

 

candidates

a GPtrArray of GValueArray containing candidates info

 

error

a GError to fill

 

Since: 0.17.5


TpBaseMediaCallStreamReportFailureFunc ()

void
(*TpBaseMediaCallStreamReportFailureFunc)
                               (TpBaseMediaCallStream *self,
                                TpStreamFlowState old_state,
                                TpCallStateChangeReason reason,
                                const gchar *dbus_reason,
                                const gchar *message);

Signature of an implementation of TpBaseMediaCallStreamClass.report_sending_failure and TpBaseMediaCallStreamClass.report_receiving_failure.

Parameters

self

a TpBaseMediaCallStream

 

old_state

the previous TpStreamFlowState

 

reason

the TpCallStateChangeReason of the change

 

dbus_reason

a specific reason for the change, which may be a D-Bus error in the Telepathy namespace, a D-Bus error in any other namespace (for implementation-specific errors), or the empty string to indicate that the state change was not an error.

 

message

an optional debug message, to expediate debugging the potentially many processes involved in a call.

 

Since: 0.17.5


TpBaseMediaCallStreamRequestReceivingFunc ()

void
(*TpBaseMediaCallStreamRequestReceivingFunc)
                               (TpBaseMediaCallStream *self,
                                TpHandle contact,
                                gboolean receive);

Signature of an implementation of TpBaseMediaCallStreamClass.request_receiving.

Parameters

self

a TpBaseMediaCallStream

 

contact

the contact from who user wants to start or stop receiving

 

receive

wheter or not user would like to be receiving

 

Since: 0.17.5


TpBaseMediaCallStreamSetSendingFunc ()

gboolean
(*TpBaseMediaCallStreamSetSendingFunc)
                               (TpBaseMediaCallStream *self,
                                gboolean sending,
                                GError **error);

Signature of an implementation of TpBaseMediaCallStreamClass.set_sending.

Parameters

self

a TpBaseMediaCallStream

 

sending

whether or not user would like to be sending

 

error

a GError to fill

 

Returns

TRUE on success, FALSE otherwise.

Since: 0.17.5


tp_base_media_call_stream_set_relay_info ()

void
tp_base_media_call_stream_set_relay_info
                               (TpBaseMediaCallStream *self,
                                GPtrArray *relays);

Set the relays info. The GPtrArray should have a free_func defined such as g_ptr_array_ref() is enough to keep the data and g_ptr_array_unref() is enough to release it later.

Note that this replaces the previously set relays, it is not an addition.

Parameters

self

a TpBaseMediaCallStream

 

relays

the new relays info

 

Since: 0.17.5


tp_base_media_call_stream_set_stun_servers ()

void
tp_base_media_call_stream_set_stun_servers
                               (TpBaseMediaCallStream *self,
                                GPtrArray *stun_servers);

Set the STUN servers. The GPtrArray should have a free_func defined such as g_ptr_array_ref() is enough to keep the data and g_ptr_array_unref() is enough to release it later.

Note that this replaces the previously set STUN servers, it is not an addition.

Parameters

self

a TpBaseMediaCallStream

 

stun_servers

the new stun servers

 

Since: 0.17.5


tp_base_media_call_stream_add_endpoint ()

void
tp_base_media_call_stream_add_endpoint
                               (TpBaseMediaCallStream *self,
                                TpCallStreamEndpoint *endpoint);

Add endpoint to “endpoints” list, and emits EndpointsChanged DBus signal.

Parameters

Since: 0.17.5


tp_base_media_call_stream_remove_endpoint ()

void
tp_base_media_call_stream_remove_endpoint
                               (TpBaseMediaCallStream *self,
                                TpCallStreamEndpoint *endpoint);

Remove endpoint from “endpoints” list, and emits EndpointsChanged DBus signal.

Parameters

Since: 0.17.5


tp_base_media_call_stream_get_endpoints ()

GList *
tp_base_media_call_stream_get_endpoints
                               (TpBaseMediaCallStream *self);

Same as “endpoints” but as a GList of TpCallStreamEndpoint.

Parameters

Returns

Borrowed GList of TpCallStreamEndpoint.

Since: 0.17.5


tp_base_media_call_stream_get_username ()

const gchar *
tp_base_media_call_stream_get_username
                               (TpBaseMediaCallStream *self);

Parameters

Returns

the username part of “local-credentials”

Since: 0.17.5


tp_base_media_call_stream_get_password ()

const gchar *
tp_base_media_call_stream_get_password
                               (TpBaseMediaCallStream *self);

Parameters

Returns

the password part of “local-credentials”

Since: 0.17.5


tp_base_media_call_stream_update_receiving_state ()

void
tp_base_media_call_stream_update_receiving_state
                               (TpBaseMediaCallStream *self);

Update the receiving state.

Parameters

Since: 0.17.5


tp_base_media_call_stream_get_receiving_state ()

TpStreamFlowState
tp_base_media_call_stream_get_receiving_state
                               (TpBaseMediaCallStream *self);

Parameters

Returns

the value of “receiving-state”.

Since: 0.17.5


tp_base_media_call_stream_update_sending_state ()

void
tp_base_media_call_stream_update_sending_state
                               (TpBaseMediaCallStream *self);

Update the sending state.

Parameters

Since: 0.17.5


tp_base_media_call_stream_get_sending_state ()

TpStreamFlowState
tp_base_media_call_stream_get_sending_state
                               (TpBaseMediaCallStream *self);

Parameters

Returns

the value of “sending-state”.

Since: 0.17.5


tp_base_media_call_stream_set_local_sending ()

void
tp_base_media_call_stream_set_local_sending
                               (TpBaseMediaCallStream *self,
                                gboolean sending);

Set local sending state.

Parameters

self

a TpBaseMediaCallStream

 

sending

whether or not we are sending

 

Since: 0.17.5


tp_base_media_call_stream_get_local_sending ()

gboolean
tp_base_media_call_stream_get_local_sending
                               (TpBaseMediaCallStream *self);

Gets the local sending state

Parameters

Returns

The local sending state

Since: 0.17.7


tp_base_media_call_stream_get_local_candidates ()

GPtrArray *
tp_base_media_call_stream_get_local_candidates
                               (TpBaseMediaCallStream *self);

Parameters

Returns

the value of “local-candidates” as a GtrArray

Since: 0.17.5

Types and Values

struct TpBaseMediaCallStream

struct TpBaseMediaCallStream;

A base class for media call stream implementations

Since: 0.17.5


struct TpBaseMediaCallStreamClass

struct TpBaseMediaCallStreamClass {
  TpBaseMediaCallStreamReportFailureFunc report_sending_failure;
  TpBaseMediaCallStreamReportFailureFunc report_receiving_failure;
  TpBaseMediaCallStreamAddCandidatesFunc add_local_candidates;
  TpBaseMediaCallStreamFinishInitialCandidatesFunc finish_initial_candidates;

  TpBaseMediaCallStreamRequestReceivingFunc request_receiving;
  TpBaseMediaCallStreamSetSendingFunc set_sending;
};

The class structure for TpBaseMediaCallStream

Members

TpBaseMediaCallStreamReportFailureFunc report_sending_failure;

optional; called to indicate a failure in the outgoing portion of the stream

 

TpBaseMediaCallStreamReportFailureFunc report_receiving_failure;

optional; called to indicate a failure in the incoming portion of the stream

 

TpBaseMediaCallStreamAddCandidatesFunc add_local_candidates;

mandatory; called when new candidates are added

 

TpBaseMediaCallStreamFinishInitialCandidatesFunc finish_initial_candidates;

optional; called when the initial batch of candidates has been added, and should now be processed/sent to the remote side

 

TpBaseMediaCallStreamRequestReceivingFunc request_receiving;

optional (see “can-request-receiving”); virtual method called when user requested receiving from the given remote contact. This virtual method should be implemented instead of TpBaseCallStreamClass.request_receiving

 

TpBaseMediaCallStreamSetSendingFunc set_sending;

mandatory; virtual method called when user requested to start/stop sending to remote contacts. This virtual method should be implemented instead of TpBaseCallStreamClass.set_sending

 

Since: 0.17.5

Property Details

The “endpoints” property

  “endpoints”                GPtrArray_DBusGObjectPath_ *

GPtrArray{object-path string} The endpoints of this content.

Owner: TpBaseMediaCallStream

Flags: Read

Since: 0.17.5


The “has-server-info” property

  “has-server-info”          gboolean

TRUE if “relay-info” and “stun-servers” have been set.

Owner: TpBaseMediaCallStream

Flags: Read

Default value: FALSE

Since: 0.17.5


The “ice-restart-pending” property

  “ice-restart-pending”      gboolean

TRUE when ICERestartRequested signal is emitted, and FALSE when SetCredentials is called. Useful for debugging.

Owner: TpBaseMediaCallStream

Flags: Read

Default value: FALSE

Since: 0.17.5


The “local-candidates” property

  “local-candidates”         GPtrArray_GValueArray_guint+gchararray+guint+GHashTable_gchararray+GValue___*

GPtrArray{candidate GValueArray} List of local candidates.

Owner: TpBaseMediaCallStream

Flags: Read

Since: 0.17.5


The “local-credentials” property

  “local-credentials”        GValueArray_gchararray+gchararray_*

GValueArray{username string, password string} ufrag and pwd as defined by ICE.

Owner: TpBaseMediaCallStream

Flags: Read

Since: 0.17.5


The “receiving-state” property

  “receiving-state”          guint

The receiving TpStreamFlowState.

Owner: TpBaseMediaCallStream

Flags: Read

Default value: 0

Since: 0.17.5


The “relay-info” property

  “relay-info”               GPtrArray_GHashTable_gchararray+GValue__*

GPtrArray{relay-info asv} List of relay information.

Owner: TpBaseMediaCallStream

Flags: Read

Since: 0.17.5


The “sending-state” property

  “sending-state”            guint

The sending TpStreamFlowState.

Owner: TpBaseMediaCallStream

Flags: Read

Default value: 0

Since: 0.17.5


The “stun-servers” property

  “stun-servers”             GPtrArray_GValueArray_gchararray+guint__*

GPtrArray{stun-server GValueArray} List of STUN servers.

Owner: TpBaseMediaCallStream

Flags: Read

Since: 0.17.5


The “transport” property

  “transport”                guint

The TpStreamTransportType of this stream.

Owner: TpBaseMediaCallStream

Flags: Read / Write / Construct Only

Default value: 0

Since: 0.17.5

See Also

TpSvcCallStreamInterfaceMedia, TpBaseCallChannel, TpBaseCallStream and TpBaseCallContent