## TpMediaSessionHandler, TpMediaStreamHandler

TpMediaSessionHandler, TpMediaStreamHandler — proxy objects for Telepathy media streaming

## Synopsis

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

    TpMediaSessionHandler * tp_media_session_handler_new    (TpDBusDaemon *dbus,
                                                             const gchar *unique_name,
                                                             const gchar *object_path,
                                                             GError **error);
    void                tp_media_session_handler_init_known_interfaces
                                                            (void);
                        TpMediaSessionHandler;
                        TpMediaSessionHandlerClass;

    TpMediaStreamHandler * tp_media_stream_handler_new      (TpDBusDaemon *dbus,
                                                             const gchar *unique_name,
                                                             const gchar *object_path,
                                                             GError **error);
    void                tp_media_stream_handler_init_known_interfaces
                                                            (void);
                        TpMediaStreamHandler;
                        TpMediaStreamHandlerClass;

    void                (*tp_cli_media_session_handler_callback_for_error)
                                                            (TpMediaSessionHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_session_handler_call_error
                                                            (TpMediaSessionHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Error_Code,
                                                             const gchar *in_Message,
                                                             tp_cli_media_session_handler_callback_for_error callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_session_handler_run_error
                                                            (TpMediaSessionHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Error_Code,
                                                             const gchar *in_Message,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_session_handler_callback_for_ready)
                                                            (TpMediaSessionHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_session_handler_call_ready
                                                            (TpMediaSessionHandler *proxy,
                                                             gint timeout_ms,
                                                             tp_cli_media_session_handler_callback_for_ready callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_session_handler_run_ready
                                                            (TpMediaSessionHandler *proxy,
                                                             gint timeout_ms,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_session_handler_signal_callback_new_stream_handler)
                                                            (TpMediaSessionHandler *proxy,
                                                             const gchar *arg_Stream_Handler,
                                                             guint arg_ID,
                                                             guint arg_Media_Type,
                                                             guint arg_Direction,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_session_handler_connect_to_new_stream_handler
                                                            (TpMediaSessionHandler *proxy,
                                                             tp_cli_media_session_handler_signal_callback_new_stream_handler callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

    void                (*tp_cli_media_stream_handler_callback_for_codec_choice)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_codec_choice
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Codec_ID,
                                                             tp_cli_media_stream_handler_callback_for_codec_choice callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_codec_choice
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Codec_ID,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_callback_for_error)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_error
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Error_Code,
                                                             const gchar *in_Message,
                                                             tp_cli_media_stream_handler_callback_for_error callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_error
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Error_Code,
                                                             const gchar *in_Message,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_callback_for_native_candidates_prepared)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_native_candidates_prepared
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             tp_cli_media_stream_handler_callback_for_native_candidates_prepared callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_native_candidates_prepared
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_callback_for_new_active_candidate_pair)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_new_active_candidate_pair
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const gchar *in_Native_Candidate_ID,
                                                             const gchar *in_Remote_Candidate_ID,
                                                             tp_cli_media_stream_handler_callback_for_new_active_candidate_pair callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_new_active_candidate_pair
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const gchar *in_Native_Candidate_ID,
                                                             const gchar *in_Remote_Candidate_ID,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_callback_for_new_native_candidate)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_new_native_candidate
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const gchar *in_Candidate_ID,
                                                             const GPtrArray *in_Transports,
                                                             tp_cli_media_stream_handler_callback_for_new_native_candidate callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_new_native_candidate
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const gchar *in_Candidate_ID,
                                                             const GPtrArray *in_Transports,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_callback_for_ready)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_ready
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             tp_cli_media_stream_handler_callback_for_ready callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_ready
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_callback_for_set_local_codecs)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_set_local_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             tp_cli_media_stream_handler_callback_for_set_local_codecs callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_set_local_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_callback_for_stream_state)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_stream_state
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_State,
                                                             tp_cli_media_stream_handler_callback_for_stream_state callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_stream_state
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_State,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_callback_for_supported_codecs)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_supported_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             tp_cli_media_stream_handler_callback_for_supported_codecs callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_supported_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_signal_callback_add_remote_candidate)
                                                            (TpMediaStreamHandler *proxy,
                                                             const gchar *arg_Candidate_ID,
                                                             const GPtrArray *arg_Transports,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_add_remote_candidate
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_add_remote_candidate callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    void                (*tp_cli_media_stream_handler_signal_callback_close)
                                                            (TpMediaStreamHandler *proxy,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_close
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_close callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    void                (*tp_cli_media_stream_handler_signal_callback_remove_remote_candidate)
                                                            (TpMediaStreamHandler *proxy,
                                                             const gchar *arg_Candidate_ID,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_remove_remote_candidate
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_remove_remote_candidate callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    void                (*tp_cli_media_stream_handler_signal_callback_set_active_candidate_pair)
                                                            (TpMediaStreamHandler *proxy,
                                                             const gchar *arg_Native_Candidate_ID,
                                                             const gchar *arg_Remote_Candidate_ID,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_active_candidate_pair
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_active_candidate_pair callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    void                (*tp_cli_media_stream_handler_signal_callback_set_remote_candidate_list)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GPtrArray *arg_Remote_Candidates,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_remote_candidate_list
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_remote_candidate_list callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    void                (*tp_cli_media_stream_handler_signal_callback_set_remote_codecs)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GPtrArray *arg_Codecs,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_remote_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_remote_codecs callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    void                (*tp_cli_media_stream_handler_signal_callback_set_stream_playing)
                                                            (TpMediaStreamHandler *proxy,
                                                             gboolean arg_Playing,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_stream_playing
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_stream_playing callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    void                (*tp_cli_media_stream_handler_signal_callback_set_stream_sending)
                                                            (TpMediaStreamHandler *proxy,
                                                             gboolean arg_Sending,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_stream_sending
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_stream_sending callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    void                (*tp_cli_media_stream_handler_signal_callback_start_telephony_event)
                                                            (TpMediaStreamHandler *proxy,
                                                             guchar arg_Event,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_start_telephony_event
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_start_telephony_event callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    void                (*tp_cli_media_stream_handler_signal_callback_stop_telephony_event)
                                                            (TpMediaStreamHandler *proxy,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_stop_telephony_event
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_stop_telephony_event callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_hold_state
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             gboolean in_Held,
                                                             tp_cli_media_stream_handler_callback_for_hold_state callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_unhold_failure
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             tp_cli_media_stream_handler_callback_for_unhold_failure callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    void                (*tp_cli_media_stream_handler_callback_for_hold_state)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    void                (*tp_cli_media_stream_handler_callback_for_unhold_failure)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_stream_held
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_stream_held callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);
    gboolean            tp_cli_media_stream_handler_run_hold_state
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             gboolean in_Held,
                                                             GError **error,
                                                             GMainLoop **loop);
    gboolean            tp_cli_media_stream_handler_run_unhold_failure
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             GError **error,
                                                             GMainLoop **loop);
    void                (*tp_cli_media_stream_handler_signal_callback_set_stream_held)
                                                            (TpMediaStreamHandler *proxy,
                                                             gboolean arg_Held,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    TpProxyPendingCall * tp_cli_media_stream_handler_call_codecs_updated
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             tp_cli_media_stream_handler_callback_for_codecs_updated callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);
    void                (*tp_cli_media_stream_handler_callback_for_codecs_updated)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);
    gboolean            tp_cli_media_stream_handler_run_codecs_updated
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             GError **error,
                                                             GMainLoop **loop);

## Object Hierarchy

      GObject
       +----TpProxy
             +----TpMediaSessionHandler

      GObject
       +----TpProxy
             +----TpMediaStreamHandler

## Description

This module provides access to the auxiliary objects used to implement TpSvcChannelTypeStreamedMedia.

## Details

### tp_media_session_handler_new ()

    TpMediaSessionHandler * tp_media_session_handler_new    (TpDBusDaemon *dbus,
                                                             const gchar *unique_name,
                                                             const gchar *object_path,
                                                             GError **error);

`dbus` : | a D-Bus daemon; may not be `NULL`
`unique_name` : | the unique name of the connection process; may not be `NULL` or a well-known name
`object_path` : | the object path of the media session handler; may not be `NULL`
`error` : | used to indicate the error if `NULL` is returned
Returns : | a new media session handler proxy, or `NULL` on invalid arguments

Since 0.7.1

### tp_media_session_handler_init_known_interfaces ()

    void                tp_media_session_handler_init_known_interfaces
                                                            (void);

Ensure that the known interfaces for TpMediaSessionHandler have been set up. This is done automatically when necessary, but for correct overriding of library interfaces by local extensions, you should call this function before calling `tp_proxy_or_subclass_hook_on_interface_add()` with first argument `TP_TYPE_MEDIA_SESSION_HANDLER`.

Since 0.7.32

### TpMediaSessionHandler

    typedef struct _TpMediaSessionHandler TpMediaSessionHandler;

A proxy object for a Telepathy connection manager.

Since 0.7.1

### TpMediaSessionHandlerClass

    typedef struct _TpMediaSessionHandlerClass TpMediaSessionHandlerClass;

The class of a TpMediaSessionHandler.

Since 0.7.1

### tp_media_stream_handler_new ()

    TpMediaStreamHandler * tp_media_stream_handler_new      (TpDBusDaemon *dbus,
                                                             const gchar *unique_name,
                                                             const gchar *object_path,
                                                             GError **error);

`dbus` : | a D-Bus daemon; may not be `NULL`
`unique_name` : | the unique name of the connection process; may not be `NULL` or a well-known name
`object_path` : | the object path of the media stream handler; may not be `NULL`
`error` : | used to indicate the error if `NULL` is returned
Returns : | a new media stream handler proxy, or `NULL` on invalid arguments

Since 0.7.1

### tp_media_stream_handler_init_known_interfaces ()

    void                tp_media_stream_handler_init_known_interfaces
                                                            (void);

Ensure that the known interfaces for TpMediaStreamHandler have been set up. This is done automatically when necessary, but for correct overriding of library interfaces by local extensions, you should call this function before calling `tp_proxy_or_subclass_hook_on_interface_add()` with first argument `TP_TYPE_MEDIA_STREAM_HANDLER`.

Since 0.7.32

### TpMediaStreamHandler

    typedef struct _TpMediaStreamHandler TpMediaStreamHandler;

A proxy object for a Telepathy connection manager.

Since 0.7.1

### TpMediaStreamHandlerClass

    typedef struct _TpMediaStreamHandlerClass TpMediaStreamHandlerClass;

The class of a TpMediaStreamHandler.

Since 0.7.1

### tp_cli_media_session_handler_callback_for_error ()

    void                (*tp_cli_media_session_handler_callback_for_error)
                                                            (TpMediaSessionHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

### Warning

`tp_cli_media_session_handler_callback_for_error` is deprecated and should not be used in newly-written code. Use StreamHandler.Error on each StreamHandler object instead.

Signature of the callback called when a Error method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_session_handler_call_error ()

    TpProxyPendingCall * tp_cli_media_session_handler_call_error
                                                            (TpMediaSessionHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Error_Code,
                                                             const gchar *in_Message,
                                                             tp_cli_media_session_handler_callback_for_error callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

### Warning

`tp_cli_media_session_handler_call_error` is deprecated and should not be used in newly-written code. Use StreamHandler.Error on each StreamHandler object instead.

Start a Error method call.

Informs the connection manager that an error occured in this session. If used, the connection manager must terminate the session and all of the streams within it, and may also emit a <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel.Type.StreamedMedia">StreamError</tp:dbus-ref> signal on the channel for each stream within the session.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Error_Code` : | Used to pass an 'in' argument: (Undocumented)
`in_Message` : | Used to pass an 'in' argument: (Undocumented)
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_session_handler_run_error ()

    gboolean            tp_cli_media_session_handler_run_error
                                                            (TpMediaSessionHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Error_Code,
                                                             const gchar *in_Message,
                                                             GError **error,
                                                             GMainLoop **loop);

### Warning

`tp_cli_media_session_handler_run_error` is deprecated and should not be used in newly-written code. Use StreamHandler.Error on each StreamHandler object instead.

Call the method Error and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Informs the connection manager that an error occured in this session. If used, the connection manager must terminate the session and all of the streams within it, and may also emit a <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel.Type.StreamedMedia">StreamError</tp:dbus-ref> signal on the channel for each stream within the session.

`proxy` : | A TpMediaSessionHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Error_Code` : | Used to pass an 'in' argument: (Undocumented)
`in_Message` : | Used to pass an 'in' argument: (Undocumented)
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_session_handler_callback_for_ready ()

    void                (*tp_cli_media_session_handler_callback_for_ready)
                                                            (TpMediaSessionHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a Ready method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_session_handler_call_ready ()

    TpProxyPendingCall * tp_cli_media_session_handler_call_ready
                                                            (TpMediaSessionHandler *proxy,
                                                             gint timeout_ms,
                                                             tp_cli_media_session_handler_callback_for_ready callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a Ready method call.

Inform the connection manager that a client is ready to handle this session handler (i.e. that it has connected to the <tp:member-ref>NewStreamHandler</tp:member-ref> signal and done any other necessary setup).

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_session_handler_run_ready ()

    gboolean            tp_cli_media_session_handler_run_ready
                                                            (TpMediaSessionHandler *proxy,
                                                             gint timeout_ms,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method Ready and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Inform the connection manager that a client is ready to handle this session handler (i.e. that it has connected to the <tp:member-ref>NewStreamHandler</tp:member-ref> signal and done any other necessary setup).

`proxy` : | A TpMediaSessionHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_session_handler_signal_callback_new_stream_handler ()

    void                (*tp_cli_media_session_handler_signal_callback_new_stream_handler)
                                                            (TpMediaSessionHandler *proxy,
                                                             const gchar *arg_Stream_Handler,
                                                             guint arg_ID,
                                                             guint arg_Media_Type,
                                                             guint arg_Direction,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal NewStreamHandler.

`proxy` : | The proxy on which `tp_cli_media_session_handler_connect_to_new_stream_handler()` was called
`arg_Stream_Handler` : | The path of a new object implementing the <tp:dbus-ref namespace="org.freedesktop.Telepathy.Media">StreamHandler</tp:dbus-ref> interface.
`arg_ID` : | The unique ID of the new stream
`arg_Media_Type` : | Type of media that this stream should handle
`arg_Direction` : | Direction of this stream
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_session_handler_connect_to_new_stream_handler ()

    TpProxySignalConnection * tp_cli_media_session_handler_connect_to_new_stream_handler
                                                            (TpMediaSessionHandler *proxy,
                                                             tp_cli_media_session_handler_signal_callback_new_stream_handler callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal NewStreamHandler.

Emitted when a new stream handler has been created for this session.

`proxy` : | A TpMediaSessionHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_callback_for_codec_choice ()

    void                (*tp_cli_media_stream_handler_callback_for_codec_choice)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a CodecChoice method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_call_codec_choice ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_codec_choice
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Codec_ID,
                                                             tp_cli_media_stream_handler_callback_for_codec_choice callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a CodecChoice method call.

Inform the connection manager of codec used to receive data.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Codec_ID` : | Used to pass an 'in' argument: (Undocumented)
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_run_codec_choice ()

    gboolean            tp_cli_media_stream_handler_run_codec_choice
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Codec_ID,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method CodecChoice and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Inform the connection manager of codec used to receive data.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Codec_ID` : | Used to pass an 'in' argument: (Undocumented)
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_callback_for_error ()

    void                (*tp_cli_media_stream_handler_callback_for_error)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a Error method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_call_error ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_error
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Error_Code,
                                                             const gchar *in_Message,
                                                             tp_cli_media_stream_handler_callback_for_error callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a Error method call.

Inform the connection manager that an error occured in this stream. The connection manager should emit the StreamError signal for the stream on the relevant channel, and remove the stream from the session.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Error_Code` : | Used to pass an 'in' argument: ID of error, from the MediaStreamError enumeration
`in_Message` : | Used to pass an 'in' argument: String describing the error
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_run_error ()

    gboolean            tp_cli_media_stream_handler_run_error
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_Error_Code,
                                                             const gchar *in_Message,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method Error and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Inform the connection manager that an error occured in this stream. The connection manager should emit the StreamError signal for the stream on the relevant channel, and remove the stream from the session.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Error_Code` : | Used to pass an 'in' argument: ID of error, from the MediaStreamError enumeration
`in_Message` : | Used to pass an 'in' argument: String describing the error
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_callback_for_native_candidates_prepared ()

    void                (*tp_cli_media_stream_handler_callback_for_native_candidates_prepared)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a NativeCandidatesPrepared method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_call_native_candidates_prepared ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_native_candidates_prepared
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             tp_cli_media_stream_handler_callback_for_native_candidates_prepared callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a NativeCandidatesPrepared method call.

Informs the connection manager that all possible native candisates have been discovered for the moment.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_run_native_candidates_prepared ()

    gboolean            tp_cli_media_stream_handler_run_native_candidates_prepared
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method NativeCandidatesPrepared and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Informs the connection manager that all possible native candisates have been discovered for the moment.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_callback_for_new_active_candidate_pair ()

    void                (*tp_cli_media_stream_handler_callback_for_new_active_candidate_pair)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a NewActiveCandidatePair method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_call_new_active_candidate_pair ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_new_active_candidate_pair
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const gchar *in_Native_Candidate_ID,
                                                             const gchar *in_Remote_Candidate_ID,
                                                             tp_cli_media_stream_handler_callback_for_new_active_candidate_pair callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a NewActiveCandidatePair method call.

Informs the connection manager that a valid candidate pair has been discovered and streaming is in progress.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Native_Candidate_ID` : | Used to pass an 'in' argument: (Undocumented)
`in_Remote_Candidate_ID` : | Used to pass an 'in' argument: (Undocumented)
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_run_new_active_candidate_pair ()

    gboolean            tp_cli_media_stream_handler_run_new_active_candidate_pair
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const gchar *in_Native_Candidate_ID,
                                                             const gchar *in_Remote_Candidate_ID,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method NewActiveCandidatePair and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Informs the connection manager that a valid candidate pair has been discovered and streaming is in progress.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Native_Candidate_ID` : | Used to pass an 'in' argument: (Undocumented)
`in_Remote_Candidate_ID` : | Used to pass an 'in' argument: (Undocumented)
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_callback_for_new_native_candidate ()

    void                (*tp_cli_media_stream_handler_callback_for_new_native_candidate)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a NewNativeCandidate method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_call_new_native_candidate ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_new_native_candidate
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const gchar *in_Candidate_ID,
                                                             const GPtrArray *in_Transports,
                                                             tp_cli_media_stream_handler_callback_for_new_native_candidate callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a NewNativeCandidate method call.

Inform this MediaStreamHandler that a new native transport candidate has been ascertained.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Candidate_ID` : | Used to pass an 'in' argument: String identifier for this candidate

`in_Transports` :

Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> Array of transports for this candidate, with fields: <ul> <li>component number</li> <li>IP address (as a string)</li> <li>port</li> <li>base network protocol (one of the values of MediaStreamBaseProto)</li> <li>proto subtype (e.g. RTP)</li> <li>proto profile (e.g. AVP)</li> <li>our preference value of this transport (double in range 0.0-1.0 inclusive); 1 signals the most preferred transport</li> <li>transport type, one of the values of MediaStreamTransportType</li> <li>username if authentication is required</li> <li>password if authentication is required</li> </ul>

`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_run_new_native_candidate ()

    gboolean            tp_cli_media_stream_handler_run_new_native_candidate
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const gchar *in_Candidate_ID,
                                                             const GPtrArray *in_Transports,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method NewNativeCandidate and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Inform this MediaStreamHandler that a new native transport candidate has been ascertained.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Candidate_ID` : | Used to pass an 'in' argument: String identifier for this candidate

`in_Transports` :

Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> Array of transports for this candidate, with fields: <ul> <li>component number</li> <li>IP address (as a string)</li> <li>port</li> <li>base network protocol (one of the values of MediaStreamBaseProto)</li> <li>proto subtype (e.g. RTP)</li> <li>proto profile (e.g. AVP)</li> <li>our preference value of this transport (double in range 0.0-1.0 inclusive); 1 signals the most preferred transport</li> <li>transport type, one of the values of MediaStreamTransportType</li> <li>username if authentication is required</li> <li>password if authentication is required</li> </ul>

`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_callback_for_ready ()

    void                (*tp_cli_media_stream_handler_callback_for_ready)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a Ready method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_call_ready ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_ready
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             tp_cli_media_stream_handler_callback_for_ready callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a Ready method call.

Inform the connection manager that a client is ready to handle this StreamHandler. Also provide it with info about all supported codecs.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Codecs` : | Used to pass an 'in' argument: Locally-supported codecs.
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_run_ready ()

    gboolean            tp_cli_media_stream_handler_run_ready
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method Ready and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Inform the connection manager that a client is ready to handle this StreamHandler. Also provide it with info about all supported codecs.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Codecs` : | Used to pass an 'in' argument: Locally-supported codecs.
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_callback_for_set_local_codecs ()

    void                (*tp_cli_media_stream_handler_callback_for_set_local_codecs)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a SetLocalCodecs method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_call_set_local_codecs ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_set_local_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             tp_cli_media_stream_handler_callback_for_set_local_codecs callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a SetLocalCodecs method call.

<tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used to provide codecs after `Ready()`, so the media client can go ready for an incoming call and exchange candidates/codecs before knowing what local codecs are available.</p> <p>This is useful for gatewaying calls between two connection managers. Given an incoming call, you need to call <tp:member-ref>Ready</tp:member-ref> to get the remote codecs before you can use them as the &quot;local&quot; codecs to place the outgoing call, and hence receive the outgoing call's remote codecs to use as the incoming call's &quot;local&quot; codecs.</p> <p>In this situation, you would pass an empty list of codecs to the incoming call's Ready method, then later call SetLocalCodecs on the incoming call in order to respond to the offer.</p>

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Codecs` : | Used to pass an 'in' argument: Locally-supported codecs
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_run_set_local_codecs ()

    gboolean            tp_cli_media_stream_handler_run_set_local_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method SetLocalCodecs and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

<tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used to provide codecs after `Ready()`, so the media client can go ready for an incoming call and exchange candidates/codecs before knowing what local codecs are available.</p> <p>This is useful for gatewaying calls between two connection managers. Given an incoming call, you need to call <tp:member-ref>Ready</tp:member-ref> to get the remote codecs before you can use them as the &quot;local&quot; codecs to place the outgoing call, and hence receive the outgoing call's remote codecs to use as the incoming call's &quot;local&quot; codecs.</p> <p>In this situation, you would pass an empty list of codecs to the incoming call's Ready method, then later call SetLocalCodecs on the incoming call in order to respond to the offer.</p>

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Codecs` : | Used to pass an 'in' argument: Locally-supported codecs
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_callback_for_stream_state ()

    void                (*tp_cli_media_stream_handler_callback_for_stream_state)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a StreamState method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_call_stream_state ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_stream_state
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_State,
                                                             tp_cli_media_stream_handler_callback_for_stream_state callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a StreamState method call.

Informs the connection manager of the stream's current state, as as specified in Channel.Type.StreamedMedia::ListStreams.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_State` : | Used to pass an 'in' argument: (Undocumented)
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_run_stream_state ()

    gboolean            tp_cli_media_stream_handler_run_stream_state
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             guint in_State,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method StreamState and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Informs the connection manager of the stream's current state, as as specified in Channel.Type.StreamedMedia::ListStreams.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_State` : | Used to pass an 'in' argument: (Undocumented)
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_callback_for_supported_codecs ()

    void                (*tp_cli_media_stream_handler_callback_for_supported_codecs)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a SupportedCodecs method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_call_supported_codecs ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_supported_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             tp_cli_media_stream_handler_callback_for_supported_codecs callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a SupportedCodecs method call.

Inform the connection manager of the supported codecs for this session. This is called after the connection manager has emitted SetRemoteCodecs to notify what codecs are supported by the peer, and will thus be an intersection of all locally supported codecs (passed to Ready) and those supported by the peer.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Codecs` : | Used to pass an 'in' argument: Locally supported codecs.
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_run_supported_codecs ()

    gboolean            tp_cli_media_stream_handler_run_supported_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method SupportedCodecs and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Inform the connection manager of the supported codecs for this session. This is called after the connection manager has emitted SetRemoteCodecs to notify what codecs are supported by the peer, and will thus be an intersection of all locally supported codecs (passed to Ready) and those supported by the peer.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Codecs` : | Used to pass an 'in' argument: Locally supported codecs.
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_signal_callback_add_remote_candidate ()

    void                (*tp_cli_media_stream_handler_signal_callback_add_remote_candidate)
                                                            (TpMediaStreamHandler *proxy,
                                                             const gchar *arg_Candidate_ID,
                                                             const GPtrArray *arg_Transports,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal AddRemoteCandidate.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_add_remote_candidate()` was called
`arg_Candidate_ID` : | String identifier for this candidate
`arg_Transports` : | Array of transports for this candidate with fields, as defined in NewNativeCandidate
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_add_remote_candidate ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_add_remote_candidate
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_add_remote_candidate callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal AddRemoteCandidate.

Signal emitted when the connection manager wishes to inform the client of a new remote candidate.

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_signal_callback_close ()

    void                (*tp_cli_media_stream_handler_signal_callback_close)
                                                            (TpMediaStreamHandler *proxy,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal Close.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_close()` was called
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_close ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_close
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_close callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal Close.

Signal emitted when the connection manager wishes the stream to be closed.

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_signal_callback_remove_remote_candidate ()

    void                (*tp_cli_media_stream_handler_signal_callback_remove_remote_candidate)
                                                            (TpMediaStreamHandler *proxy,
                                                             const gchar *arg_Candidate_ID,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal RemoveRemoteCandidate.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_remove_remote_candidate()` was called
`arg_Candidate_ID` : | String identifier for remote candidate to drop
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_remove_remote_candidate ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_remove_remote_candidate
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_remove_remote_candidate callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal RemoveRemoteCandidate.

Signal emitted when the connection manager wishes to inform the client that the remote end has removed a previously usable candidate. <tp:rationale> It seemed like a good idea at the time, but wasn't. </tp:rationale>

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_signal_callback_set_active_candidate_pair ()

    void                (*tp_cli_media_stream_handler_signal_callback_set_active_candidate_pair)
                                                            (TpMediaStreamHandler *proxy,
                                                             const gchar *arg_Native_Candidate_ID,
                                                             const gchar *arg_Remote_Candidate_ID,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal SetActiveCandidatePair.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_set_active_candidate_pair()` was called
`arg_Native_Candidate_ID` : | (Undocumented)
`arg_Remote_Candidate_ID` : | (Undocumented)
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_set_active_candidate_pair ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_active_candidate_pair
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_active_candidate_pair callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal SetActiveCandidatePair.

Emitted by the connection manager to inform the client that a valid candidate pair has been discovered by the remote end and streaming is in progress.

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_signal_callback_set_remote_candidate_list ()

    void                (*tp_cli_media_stream_handler_signal_callback_set_remote_candidate_list)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GPtrArray *arg_Remote_Candidates,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal SetRemoteCandidateList.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_set_remote_candidate_list()` was called
`arg_Remote_Candidates` : | A list of candidate id and a list of transports as defined in NewNativeCandidate
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_set_remote_candidate_list ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_remote_candidate_list
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_remote_candidate_list callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal SetRemoteCandidateList.

Signal emitted when the connection manager wishes to inform the client of all the available remote candidates at once.

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_signal_callback_set_remote_codecs ()

    void                (*tp_cli_media_stream_handler_signal_callback_set_remote_codecs)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GPtrArray *arg_Codecs,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal SetRemoteCodecs.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_set_remote_codecs()` was called
`arg_Codecs` : | Codecs supported by the remote peer.
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_set_remote_codecs ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_remote_codecs
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_remote_codecs callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal SetRemoteCodecs.

Signal emitted when the connection manager wishes to inform the client of the codecs supported by the remote end. If these codecs are compatible with the remote codecs, then the client must call <tp:member-ref>SupportedCodecs</tp:member-ref>, otherwise call <tp:member-ref>Error</tp:member-ref>.

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_signal_callback_set_stream_playing ()

    void                (*tp_cli_media_stream_handler_signal_callback_set_stream_playing)
                                                            (TpMediaStreamHandler *proxy,
                                                             gboolean arg_Playing,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal SetStreamPlaying.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_set_stream_playing()` was called
`arg_Playing` : | (Undocumented)
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_set_stream_playing ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_stream_playing
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_stream_playing callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal SetStreamPlaying.

If emitted with argument TRUE, this means that the connection manager wishes to set the stream playing; this means that the streaming implementation should expect to receive data. If emitted with argument FALSE this signal is basically meaningless and should be ignored. <tp:rationale> We're very sorry. </tp:rationale>

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_signal_callback_set_stream_sending ()

    void                (*tp_cli_media_stream_handler_signal_callback_set_stream_sending)
                                                            (TpMediaStreamHandler *proxy,
                                                             gboolean arg_Sending,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal SetStreamSending.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_set_stream_sending()` was called
`arg_Sending` : | (Undocumented)
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_set_stream_sending ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_stream_sending
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_stream_sending callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal SetStreamSending.

Signal emitted when the connection manager wishes to set whether or not the stream sends to the remote end.

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_signal_callback_start_telephony_event ()

    void                (*tp_cli_media_stream_handler_signal_callback_start_telephony_event)
                                                            (TpMediaStreamHandler *proxy,
                                                             guchar arg_Event,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal StartTelephonyEvent.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_start_telephony_event()` was called
`arg_Event` : | A telephony event code as defined by RFC 4733.
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_start_telephony_event ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_start_telephony_event
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_start_telephony_event callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal StartTelephonyEvent.

Request that a telephony event (as defined by RFC 4733) is transmitted over this stream until StopTelephonyEvent is called.

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_signal_callback_stop_telephony_event ()

    void                (*tp_cli_media_stream_handler_signal_callback_stop_telephony_event)
                                                            (TpMediaStreamHandler *proxy,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal StopTelephonyEvent.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_stop_telephony_event()` was called
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_connect_to_stop_telephony_event ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_stop_telephony_event
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_stop_telephony_event callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal StopTelephonyEvent.

Request that any ongoing telephony events (as defined by RFC 4733) being transmitted over this stream are stopped.

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_call_hold_state ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_hold_state
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             gboolean in_Held,
                                                             tp_cli_media_stream_handler_callback_for_hold_state callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a HoldState method call.

Notify the connection manager that the stream's hold state has been changed successfully in response to SetStreamHeld.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Held` : | Used to pass an 'in' argument: If true, the stream is now on hold.
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_call_unhold_failure ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_unhold_failure
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             tp_cli_media_stream_handler_callback_for_unhold_failure callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a UnholdFailure method call.

Notify the connection manager that an attempt to reacquire the necessary hardware or software resources to unhold the stream, in response to SetStreamHeld, has failed.

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_callback_for_hold_state ()

    void                (*tp_cli_media_stream_handler_callback_for_hold_state)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a HoldState method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_callback_for_unhold_failure ()

    void                (*tp_cli_media_stream_handler_callback_for_unhold_failure)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a UnholdFailure method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_connect_to_set_stream_held ()

    TpProxySignalConnection * tp_cli_media_stream_handler_connect_to_set_stream_held
                                                            (TpMediaStreamHandler *proxy,
                                                             tp_cli_media_stream_handler_signal_callback_set_stream_held callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object,
                                                             GError **error);

Connect a handler to the signal SetStreamHeld.

<tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Emitted when the connection manager wishes to place the stream on hold (so the streaming client should free hardware or software resources) or take the stream off hold (so the streaming client should reacquire the necessary resources).</p> <p>When placing a channel's streams on hold, the connection manager SHOULD notify the remote contact that this will be done (if appropriate in the protocol) before it emits this signal.</p> <tp:rationale> <p>It is assumed that relinquishing a resource will not fail. If it does, the call is probably doomed anyway.</p> </tp:rationale> <p>When unholding a channel's streams, the connection manager SHOULD emit this signal and wait for success to be indicated via HoldState before it notifies the remote contact that the channel has been taken off hold.</p> <tp:rationale> <p>This means that if a resource is unavailable, the remote contact will never even be told that we tried to acquire it.</p> </tp:rationale>

`proxy` : | A TpMediaStreamHandler or subclass
`callback` : | Callback to be called when the signal is received
`user_data` : | User-supplied data for the callback
`destroy` : | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL`
`weak_object` : | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected
`error` : | If not `NULL`, used to raise an error if `NULL` is returned
Returns : | a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_media_stream_handler_run_hold_state ()

    gboolean            tp_cli_media_stream_handler_run_hold_state
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             gboolean in_Held,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method HoldState and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Notify the connection manager that the stream's hold state has been changed successfully in response to SetStreamHeld.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Held` : | Used to pass an 'in' argument: If true, the stream is now on hold.
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_run_unhold_failure ()

    gboolean            tp_cli_media_stream_handler_run_unhold_failure
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method UnholdFailure and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Notify the connection manager that an attempt to reacquire the necessary hardware or software resources to unhold the stream, in response to SetStreamHeld, has failed.

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

### tp_cli_media_stream_handler_signal_callback_set_stream_held ()

    void                (*tp_cli_media_stream_handler_signal_callback_set_stream_held)
                                                            (TpMediaStreamHandler *proxy,
                                                             gboolean arg_Held,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Represents the signature of a callback for the signal SetStreamHeld.

`proxy` : | The proxy on which `tp_cli_media_stream_handler_connect_to_set_stream_held()` was called
`arg_Held` : | If true, the stream is to be placed on hold.
`user_data` : | User-supplied data
`weak_object` : | User-supplied weakly referenced object

### tp_cli_media_stream_handler_call_codecs_updated ()

    TpProxyPendingCall * tp_cli_media_stream_handler_call_codecs_updated
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             tp_cli_media_stream_handler_callback_for_codecs_updated callback,
                                                             gpointer user_data,
                                                             GDestroyNotify destroy,
                                                             GObject *weak_object);

Start a CodecsUpdated method call.

Inform the connection manager that the parameters of the supported codecs for this session have changed. The connection manager should send the new parameters to the remote contact. <tp:rationale> This is required for H.264 and Theora, for example. </tp:rationale>

`proxy` : | the TpProxy
`timeout_ms` : | the timeout in milliseconds, or -1 to use the default
`in_Codecs` : | Used to pass an 'in' argument: Locally supported codecs, which SHOULD be the same as were previously in effect, but possibly with different parameters.
`callback` : | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking
`user_data` : | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL`
`destroy` : | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL`
`weak_object` : | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL`
Returns : | a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_media_stream_handler_callback_for_codecs_updated ()

    void                (*tp_cli_media_stream_handler_callback_for_codecs_updated)
                                                            (TpMediaStreamHandler *proxy,
                                                             const GError *error,
                                                             gpointer user_data,
                                                             GObject *weak_object);

Signature of the callback called when a CodecsUpdated method call succeeds or fails.

`proxy` : | the proxy on which the call was made
`error` : | `NULL` on success, or an error on failure
`user_data` : | user-supplied data
`weak_object` : | user-supplied object

### tp_cli_media_stream_handler_run_codecs_updated ()

    gboolean            tp_cli_media_stream_handler_run_codecs_updated
                                                            (TpMediaStreamHandler *proxy,
                                                             gint timeout_ms,
                                                             const GPtrArray *in_Codecs,
                                                             GError **error,
                                                             GMainLoop **loop);

Call the method CodecsUpdated and run the main loop until it returns. Before calling this method, you must add a reference to any borrowed objects you need to keep, and generally ensure that everything is in a consistent state.

Inform the connection manager that the parameters of the supported codecs for this session have changed. The connection manager should send the new parameters to the remote contact. <tp:rationale> This is required for H.264 and Theora, for example. </tp:rationale>

`proxy` : | A TpMediaStreamHandler or subclass
`timeout_ms` : | Timeout in milliseconds, or -1 for default
`in_Codecs` : | Used to pass an 'in' argument: Locally supported codecs, which SHOULD be the same as were previously in effect, but possibly with different parameters.
`error` : | If not `NULL`, used to return errors if `FALSE` is returned
`loop` : | If not `NULL`, set before re-entering the main loop, to point to a GMainLoop which can be used to cancel this call with `g_main_loop_quit()`, causing a return of `FALSE` with `error` set to `TP_DBUS_ERROR_CANCELLED`
Returns : | TRUE on success, FALSE and sets `error` on error

## See Also

TpChannel, TpProxy