## TpMediaSessionHandler, TpMediaStreamHandler

TpMediaSessionHandler, TpMediaStreamHandler — proxy objects for Telepathy media streaming

## Functions

TpMediaSessionHandler * | tp_media_session_handler_new ()
void | tp_media_session_handler_init_known_interfaces ()
TpMediaStreamHandler * | tp_media_stream_handler_new ()
void | tp_media_stream_handler_init_known_interfaces ()
void | (*tp_cli_media_session_handler_callback_for_error) ()
TpProxyPendingCall * | tp_cli_media_session_handler_call_error ()
gboolean | tp_cli_media_session_handler_run_error ()
void | (*tp_cli_media_session_handler_callback_for_ready) ()
TpProxyPendingCall * | tp_cli_media_session_handler_call_ready ()
gboolean | tp_cli_media_session_handler_run_ready ()
void | (*tp_cli_media_session_handler_signal_callback_new_stream_handler) ()
TpProxySignalConnection * | tp_cli_media_session_handler_connect_to_new_stream_handler ()
void | (*tp_cli_media_stream_handler_callback_for_codec_choice) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_codec_choice ()
gboolean | tp_cli_media_stream_handler_run_codec_choice ()
void | (*tp_cli_media_stream_handler_callback_for_error) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_error ()
gboolean | tp_cli_media_stream_handler_run_error ()
void | (*tp_cli_media_stream_handler_callback_for_native_candidates_prepared) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_native_candidates_prepared ()
gboolean | tp_cli_media_stream_handler_run_native_candidates_prepared ()
void | (*tp_cli_media_stream_handler_callback_for_new_active_candidate_pair) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_new_active_candidate_pair ()
gboolean | tp_cli_media_stream_handler_run_new_active_candidate_pair ()
void | (*tp_cli_media_stream_handler_callback_for_new_native_candidate) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_new_native_candidate ()
gboolean | tp_cli_media_stream_handler_run_new_native_candidate ()
void | (*tp_cli_media_stream_handler_callback_for_ready) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_ready ()
gboolean | tp_cli_media_stream_handler_run_ready ()
void | (*tp_cli_media_stream_handler_callback_for_set_local_codecs) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_set_local_codecs ()
gboolean | tp_cli_media_stream_handler_run_set_local_codecs ()
void | (*tp_cli_media_stream_handler_callback_for_stream_state) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_stream_state ()
gboolean | tp_cli_media_stream_handler_run_stream_state ()
void | (*tp_cli_media_stream_handler_callback_for_supported_codecs) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_supported_codecs ()
gboolean | tp_cli_media_stream_handler_run_supported_codecs ()
void | (*tp_cli_media_stream_handler_signal_callback_add_remote_candidate) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_add_remote_candidate ()
void | (*tp_cli_media_stream_handler_signal_callback_close) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_close ()
void | (*tp_cli_media_stream_handler_signal_callback_remove_remote_candidate) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_remove_remote_candidate ()
void | (*tp_cli_media_stream_handler_signal_callback_set_active_candidate_pair) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_set_active_candidate_pair ()
void | (*tp_cli_media_stream_handler_signal_callback_set_remote_candidate_list) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_set_remote_candidate_list ()
void | (*tp_cli_media_stream_handler_signal_callback_set_remote_codecs) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_set_remote_codecs ()
void | (*tp_cli_media_stream_handler_signal_callback_set_stream_playing) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_set_stream_playing ()
void | (*tp_cli_media_stream_handler_signal_callback_set_stream_sending) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_set_stream_sending ()
void | (*tp_cli_media_stream_handler_signal_callback_start_telephony_event) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_start_telephony_event ()
void | (*tp_cli_media_stream_handler_signal_callback_stop_telephony_event) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_stop_telephony_event ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_hold_state ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_unhold_failure ()
void | (*tp_cli_media_stream_handler_callback_for_hold_state) ()
void | (*tp_cli_media_stream_handler_callback_for_unhold_failure) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_set_stream_held ()
gboolean | tp_cli_media_stream_handler_run_hold_state ()
gboolean | tp_cli_media_stream_handler_run_unhold_failure ()
void | (*tp_cli_media_stream_handler_signal_callback_set_stream_held) ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_codecs_updated ()
void | (*tp_cli_media_stream_handler_callback_for_codecs_updated) ()
gboolean | tp_cli_media_stream_handler_run_codecs_updated ()
void | (*tp_cli_media_stream_handler_signal_callback_start_named_telephony_event) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_start_named_telephony_event ()
void | (*tp_cli_media_stream_handler_signal_callback_start_sound_telephony_event) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_start_sound_telephony_event ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_new_active_transport_pair ()
void | (*tp_cli_media_stream_handler_callback_for_new_active_transport_pair) ()
gboolean | tp_cli_media_stream_handler_run_new_active_transport_pair ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_supported_feedback_messages ()
TpProxyPendingCall * | tp_cli_media_stream_handler_call_supported_header_extensions ()
void | (*tp_cli_media_stream_handler_callback_for_supported_feedback_messages) ()
void | (*tp_cli_media_stream_handler_callback_for_supported_header_extensions) ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_set_remote_feedback_messages ()
TpProxySignalConnection * | tp_cli_media_stream_handler_connect_to_set_remote_header_extensions ()
gboolean | tp_cli_media_stream_handler_run_supported_feedback_messages ()
gboolean | tp_cli_media_stream_handler_run_supported_header_extensions ()
void | (*tp_cli_media_stream_handler_signal_callback_set_remote_feedback_messages) ()
void | (*tp_cli_media_stream_handler_signal_callback_set_remote_header_extensions) ()

## Types and Values

| TpMediaSessionHandler
| TpMediaSessionHandlerClass
| TpMediaStreamHandler
| TpMediaStreamHandlerClass

## Object Hierarchy

        GObject
        ╰── TpProxy
            ├── TpMediaSessionHandler
            ╰── TpMediaStreamHandler

## Includes

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

## Description

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

## Functions

### tp_media_session_handler_new ()

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

#### Parameters

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

### tp_media_stream_handler_new ()

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

#### Parameters

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

### 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);

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

#### Parameters

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);

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

#### Parameters

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) (TpMediaStreamError) |
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);

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

#### Parameters

proxy | A TpMediaSessionHandler or subclass |
timeout_ms | Timeout in milliseconds, or -1 for default |
in_Error_Code | Used to pass an 'in' argument: (Undocumented) (TpMediaStreamError) |
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.

#### Parameters

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

#### Parameters

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);

`tp_cli_media_session_handler_run_ready` is deprecated and should not be used in newly-written code.

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

#### Parameters

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.

#### Parameters

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 (TpMediaStreamType) |
arg_Direction | Direction of this stream (TpMediaStreamDirection) |
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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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);

`tp_cli_media_stream_handler_run_codec_choice` is deprecated and should not be used in newly-written code.

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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 (TpMediaStreamError) |
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);

`tp_cli_media_stream_handler_run_error` is deprecated and should not be used in newly-written code.

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.

#### Parameters

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

#### Parameters

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.

#### Parameters

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);

`tp_cli_media_stream_handler_run_native_candidates_prepared` is deprecated and should not be used in newly-written code.

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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);

`tp_cli_media_stream_handler_run_new_active_candidate_pair` is deprecated and should not be used in newly-written code.

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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);

`tp_cli_media_stream_handler_run_new_native_candidate` is deprecated and should not be used in newly-written code.

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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);

`tp_cli_media_stream_handler_run_ready` is deprecated and should not be used in newly-written code.

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.

#### Parameters

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.

#### Parameters

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>

#### Parameters

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);

`tp_cli_media_stream_handler_run_set_local_codecs` is deprecated and should not be used in newly-written code.

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>

#### Parameters

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.

#### Parameters

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.

#### Parameters

proxy | the TpProxy |
timeout_ms | the timeout in milliseconds, or -1 to use the default |
in_State | Used to pass an 'in' argument: (Undocumented) (TpMediaStreamState) |
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);

`tp_cli_media_stream_handler_run_stream_state` is deprecated and should not be used in newly-written code.

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.

#### Parameters

proxy | A TpMediaStreamHandler or subclass |
timeout_ms | Timeout in milliseconds, or -1 for default |
in_State | Used to pass an 'in' argument: (Undocumented) (TpMediaStreamState) |
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.

#### Parameters

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.

#### Parameters

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);

`tp_cli_media_stream_handler_run_supported_codecs` is deprecated and should not be used in newly-written code.

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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>

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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

#### Parameters

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.

#### Parameters

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>

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

proxy | The proxy on which `tp_cli_media_stream_handler_connect_to_start_telephony_event()` was called |
arg_Event | A telephony event code. |
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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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>

#### Parameters

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);

`tp_cli_media_stream_handler_run_hold_state` is deprecated and should not be used in newly-written code.

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.

#### Parameters

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);

`tp_cli_media_stream_handler_run_unhold_failure` is deprecated and should not be used in newly-written code.

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.

#### Parameters

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.

#### Parameters

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>

#### Parameters

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.

#### Parameters

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);

`tp_cli_media_stream_handler_run_codecs_updated` is deprecated and should not be used in newly-written code.

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>

#### Parameters

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

### tp_cli_media_stream_handler_signal_callback_start_named_telephony_event ()

    void
    (*tp_cli_media_stream_handler_signal_callback_start_named_telephony_event)
                                   (TpMediaStreamHandler *proxy,
                                    guchar arg_Event,
                                    guint arg_Codec_ID,
                                    gpointer user_data,
                                    GObject *weak_object);

Represents the signature of a callback for the signal StartNamedTelephonyEvent.

#### Parameters

proxy | The proxy on which `tp_cli_media_stream_handler_connect_to_start_named_telephony_event()` was called |
arg_Event | A telephony event code as defined by RFC 4733. |
arg_Codec_ID | The payload type to use when sending events. The value 0xFFFFFFFF means to send with the already configured event type instead of using the specified one. |
user_data | User-supplied data |
weak_object | User-supplied weakly referenced object |

### tp_cli_media_stream_handler_connect_to_start_named_telephony_event ()

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

Connect a handler to the signal StartNamedTelephonyEvent.

Request that a telephony event (as defined by RFC 4733) is transmitted over this stream until StopTelephonyEvent is called. This differs from StartTelephonyEvent in that you force the event to be transmitted as a RFC 4733 named event, not as sound. You can also force a specific Codec ID.

#### Parameters

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_sound_telephony_event ()

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

Represents the signature of a callback for the signal StartSoundTelephonyEvent.

#### Parameters

proxy | The proxy on which `tp_cli_media_stream_handler_connect_to_start_sound_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_sound_telephony_event ()

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

Connect a handler to the signal StartSoundTelephonyEvent.

Request that a telephony event (as defined by RFC 4733) is transmitted over this stream until StopTelephonyEvent is called. This differs from StartTelephonyEvent in that you force the event to be transmitted as sound instead of as a named event.

#### Parameters

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_new_active_transport_pair ()

    TpProxyPendingCall *
    tp_cli_media_stream_handler_call_new_active_transport_pair
                                   (TpMediaStreamHandler *proxy,
                                    gint timeout_ms,
                                    const gchar *in_Native_Candidate_ID,
                                    const GValueArray *in_Native_Transport,
                                    const gchar *in_Remote_Candidate_ID,
                                    const GValueArray *in_Remote_Transport,
                                    tp_cli_media_stream_handler_callback_for_new_active_transport_pair callback,
                                    gpointer user_data,
                                    GDestroyNotify destroy,
                                    GObject *weak_object);

Start a NewActiveTransportPair method call.

<p>Informs the connection manager that a valid transport pair has been discovered and streaming is in progress. Component id MUST be the same for both transports and the pair is only valid for that component.</p> <tp:rationale> <p>The connection manager might need to send the details of the active transport pair (e.g. c and o parameters of SDP body need to contain address of selected native RTP transport as stipulated by RFC 5245). However, the candidate ID might not be enough to determine these info if the transport was found after <tp:member-ref>NativeCandidatesPrepared</tp:member-ref> has been called (e.g. peer reflexive ICE candidate). </p> </tp:rationale> <p>This method must be called before <tp:member-ref>NewActiveCandidatePair</tp:member-ref>.</p> <tp:rationale> <p>This way, connection managers supporting this method can safely ignore subsequent <tp:member-ref>NewActiveCandidatePair</tp:member-ref> call.</p> </tp:rationale> <p>Connection managers SHOULD NOT implement this method unless they need to inform the peer about selected transports. As a result, streaming implementations MUST NOT treat errors raised by this method as fatal.</p> <tp:rationale> <p>Usually, connection managers only need to do one answer/offer round-trip. However, some protocols give the possibility to to send an updated offer (e.g. ICE defines such mechanism to avoid some race conditions and to properly set the state of gateway devices).</p> </tp:rationale>

#### Parameters

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_Native_Transport | Used to pass an 'in' argument: (Undocumented) |
in_Remote_Candidate_ID | Used to pass an 'in' argument: (Undocumented) |
in_Remote_Transport | 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_callback_for_new_active_transport_pair ()

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

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

#### Parameters

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_new_active_transport_pair ()

    gboolean
    tp_cli_media_stream_handler_run_new_active_transport_pair
                                   (TpMediaStreamHandler *proxy,
                                    gint timeout_ms,
                                    const gchar *in_Native_Candidate_ID,
                                    const GValueArray *in_Native_Transport,
                                    const gchar *in_Remote_Candidate_ID,
                                    const GValueArray *in_Remote_Transport,
                                    GError **error,
                                    GMainLoop **loop);

`tp_cli_media_stream_handler_run_new_active_transport_pair` is deprecated and should not be used in newly-written code.

Call the method NewActiveTransportPair 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.

<p>Informs the connection manager that a valid transport pair has been discovered and streaming is in progress. Component id MUST be the same for both transports and the pair is only valid for that component.</p> <tp:rationale> <p>The connection manager might need to send the details of the active transport pair (e.g. c and o parameters of SDP body need to contain address of selected native RTP transport as stipulated by RFC 5245). However, the candidate ID might not be enough to determine these info if the transport was found after <tp:member-ref>NativeCandidatesPrepared</tp:member-ref> has been called (e.g. peer reflexive ICE candidate). </p> </tp:rationale> <p>This method must be called before <tp:member-ref>NewActiveCandidatePair</tp:member-ref>.</p> <tp:rationale> <p>This way, connection managers supporting this method can safely ignore subsequent <tp:member-ref>NewActiveCandidatePair</tp:member-ref> call.</p> </tp:rationale> <p>Connection managers SHOULD NOT implement this method unless they need to inform the peer about selected transports. As a result, streaming implementations MUST NOT treat errors raised by this method as fatal.</p> <tp:rationale> <p>Usually, connection managers only need to do one answer/offer round-trip. However, some protocols give the possibility to to send an updated offer (e.g. ICE defines such mechanism to avoid some race conditions and to properly set the state of gateway devices).</p> </tp:rationale>

#### Parameters

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_Native_Transport | Used to pass an 'in' argument: (Undocumented) |
in_Remote_Candidate_ID | Used to pass an 'in' argument: (Undocumented) |
in_Remote_Transport | 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_call_supported_feedback_messages ()

    TpProxyPendingCall *
    tp_cli_media_stream_handler_call_supported_feedback_messages
                                   (TpMediaStreamHandler *proxy,
                                    gint timeout_ms,
                                    GHashTable *in_Messages,
                                    tp_cli_media_stream_handler_callback_for_supported_feedback_messages callback,
                                    gpointer user_data,
                                    GDestroyNotify destroy,
                                    GObject *weak_object);

Start a SupportedFeedbackMessages method call.

Inform the connection manager of the supported feedback messages for this session. This is called a before calling <tp:member-ref>SupportedCodecs</tp:member-ref>, <tp:member-ref>Ready</tp:member-ref> or <tp:member-ref>CodecsUpdated</tp:member-ref> to indicate the local, or negotiated feedback messages.

#### Parameters

proxy | the TpProxy |
timeout_ms | the timeout in milliseconds, or -1 to use the default |
in_Messages | Used to pass an 'in' argument: Locally supported feedback messages. |
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_supported_header_extensions ()

    TpProxyPendingCall *
    tp_cli_media_stream_handler_call_supported_header_extensions
                                   (TpMediaStreamHandler *proxy,
                                    gint timeout_ms,
                                    const GPtrArray *in_Header_Extensions,
                                    tp_cli_media_stream_handler_callback_for_supported_header_extensions callback,
                                    gpointer user_data,
                                    GDestroyNotify destroy,
                                    GObject *weak_object);

Start a SupportedHeaderExtensions method call.

Inform the connection manager of the supported RTP header extensions for this session. This is called before calling <tp:member-ref>SupportedCodecs</tp:member-ref>, <tp:member-ref>Ready</tp:member-ref> or <tp:member-ref>CodecsUpdated</tp:member-ref> to indicate the local or negotiated RTP header extensions.

#### Parameters

proxy | the TpProxy |
timeout_ms | the timeout in milliseconds, or -1 to use the default |
in_Header_Extensions | Used to pass an 'in' argument: Locally supported RTP header extensions. |
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_supported_feedback_messages ()

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

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

#### Parameters

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_supported_header_extensions ()

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

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

#### Parameters

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_remote_feedback_messages ()

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

Connect a handler to the signal SetRemoteFeedbackMessages.

Signal emitted when the connection manager wishes to inform the client of the feedback messages supported by the remote end. This signal is emitted before <tp:member-ref>SetRemoteCodecs</tp:member-ref>. If the client supports any of these messages, it must call <tp:member-ref>SupportedFeedbackMessages</tp:member-ref> before calling <tp:member-ref>SupportedCodecs</tp:member-ref>.

#### Parameters

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_connect_to_set_remote_header_extensions ()

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

Connect a handler to the signal SetRemoteHeaderExtensions.

Signal emitted when the connection manager wishes to inform the client of the RTP header extensions supported by the remote end. This signal is emitted before <tp:member-ref>SetRemoteCodecs</tp:member-ref>. If the client supports any of these messages, it must call <tp:member-ref>SupportedHeaderExtensions</tp:member-ref> before calling <tp:member-ref>SupportedCodecs</tp:member-ref>.

#### Parameters

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_supported_feedback_messages ()

    gboolean
    tp_cli_media_stream_handler_run_supported_feedback_messages
                                   (TpMediaStreamHandler *proxy,
                                    gint timeout_ms,
                                    GHashTable *in_Messages,
                                    GError **error,
                                    GMainLoop **loop);

`tp_cli_media_stream_handler_run_supported_feedback_messages` is deprecated and should not be used in newly-written code.

Call the method SupportedFeedbackMessages 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 feedback messages for this session. This is called a before calling <tp:member-ref>SupportedCodecs</tp:member-ref>, <tp:member-ref>Ready</tp:member-ref> or <tp:member-ref>CodecsUpdated</tp:member-ref> to indicate the local, or negotiated feedback messages.

#### Parameters

proxy | A TpMediaStreamHandler or subclass |
timeout_ms | Timeout in milliseconds, or -1 for default |
in_Messages | Used to pass an 'in' argument: Locally supported feedback messages. |
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_supported_header_extensions ()

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

`tp_cli_media_stream_handler_run_supported_header_extensions` is deprecated and should not be used in newly-written code.

Call the method SupportedHeaderExtensions 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 RTP header extensions for this session. This is called before calling <tp:member-ref>SupportedCodecs</tp:member-ref>, <tp:member-ref>Ready</tp:member-ref> or <tp:member-ref>CodecsUpdated</tp:member-ref> to indicate the local or negotiated RTP header extensions.

#### Parameters

proxy | A TpMediaStreamHandler or subclass |
timeout_ms | Timeout in milliseconds, or -1 for default |
in_Header_Extensions | Used to pass an 'in' argument: Locally supported RTP header extensions. |
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_remote_feedback_messages ()

    void
    (*tp_cli_media_stream_handler_signal_callback_set_remote_feedback_messages)
                                   (TpMediaStreamHandler *proxy,
                                    GHashTable *arg_Messages,
                                    gpointer user_data,
                                    GObject *weak_object);

Represents the signature of a callback for the signal SetRemoteFeedbackMessages.

#### Parameters

proxy | The proxy on which `tp_cli_media_stream_handler_connect_to_set_remote_feedback_messages()` was called |
arg_Messages | Remote Feedback messages desired by the remote side |
user_data | User-supplied data |
weak_object | User-supplied weakly referenced object |

### tp_cli_media_stream_handler_signal_callback_set_remote_header_extensions ()

    void
    (*tp_cli_media_stream_handler_signal_callback_set_remote_header_extensions)
                                   (TpMediaStreamHandler *proxy,
                                    const GPtrArray *arg_Header_Extensions,
                                    gpointer user_data,
                                    GObject *weak_object);

Represents the signature of a callback for the signal SetRemoteHeaderExtensions.

#### Parameters

proxy | The proxy on which `tp_cli_media_stream_handler_connect_to_set_remote_header_extensions()` was called |
arg_Header_Extensions | Header extensions desired by the remote side |
user_data | User-supplied data |
weak_object | User-supplied weakly referenced object |

## Types and Values

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

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

## See Also

TpChannel, TpProxy