<!-- ##### SECTION Title ##### -->
media-interfaces

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### FUNCTION tp_media_session_handler_new ##### -->
<para>

</para>

@dbus: 
@unique_name: 
@object_path: 
@error: 
@Returns: 


<!-- ##### FUNCTION tp_media_session_handler_init_known_interfaces ##### -->
<para>

</para>

@void: 


<!-- ##### STRUCT TpMediaSessionHandler ##### -->
<para>

</para>


<!-- ##### STRUCT TpMediaSessionHandlerClass ##### -->
<para>

</para>


<!-- ##### FUNCTION tp_media_stream_handler_new ##### -->
<para>

</para>

@dbus: 
@unique_name: 
@object_path: 
@error: 
@Returns: 


<!-- ##### FUNCTION tp_media_stream_handler_init_known_interfaces ##### -->
<para>

</para>

@void: 


<!-- ##### STRUCT TpMediaStreamHandler ##### -->
<para>

</para>


<!-- ##### STRUCT TpMediaStreamHandlerClass ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION tp_cli_media_session_handler_callback_for_error ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_session_handler_call_error ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Error_Code: 
@in_Message: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_session_handler_run_error ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Error_Code: 
@in_Message: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_session_handler_callback_for_ready ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_session_handler_call_ready ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_session_handler_run_ready ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_session_handler_signal_callback_new_stream_handler ##### -->
<para>

</para>

@proxy: 
@arg_Stream_Handler: 
@arg_ID: 
@arg_Media_Type: 
@arg_Direction: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_session_handler_connect_to_new_stream_handler ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_codec_choice ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_codec_choice ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codec_ID: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_codec_choice ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codec_ID: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_error ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_error ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Error_Code: 
@in_Message: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_error ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Error_Code: 
@in_Message: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_native_candidates_prepared ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_native_candidates_prepared ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_native_candidates_prepared ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_new_active_candidate_pair ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_new_active_candidate_pair ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Native_Candidate_ID: 
@in_Remote_Candidate_ID: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_new_active_candidate_pair ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Native_Candidate_ID: 
@in_Remote_Candidate_ID: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_new_native_candidate ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_new_native_candidate ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Candidate_ID: 
@in_Transports: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_new_native_candidate ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Candidate_ID: 
@in_Transports: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_ready ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_ready ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codecs: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_ready ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codecs: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_set_local_codecs ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_set_local_codecs ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codecs: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_set_local_codecs ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codecs: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_stream_state ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_stream_state ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_State: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_stream_state ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_State: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_supported_codecs ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_supported_codecs ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codecs: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_supported_codecs ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codecs: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_add_remote_candidate ##### -->
<para>

</para>

@proxy: 
@arg_Candidate_ID: 
@arg_Transports: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_add_remote_candidate ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_close ##### -->
<para>

</para>

@proxy: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_close ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_remove_remote_candidate ##### -->
<para>

</para>

@proxy: 
@arg_Candidate_ID: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_remove_remote_candidate ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_set_active_candidate_pair ##### -->
<para>

</para>

@proxy: 
@arg_Native_Candidate_ID: 
@arg_Remote_Candidate_ID: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_set_active_candidate_pair ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_set_remote_candidate_list ##### -->
<para>

</para>

@proxy: 
@arg_Remote_Candidates: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_set_remote_candidate_list ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_set_remote_codecs ##### -->
<para>

</para>

@proxy: 
@arg_Codecs: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_set_remote_codecs ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_set_stream_playing ##### -->
<para>

</para>

@proxy: 
@arg_Playing: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_set_stream_playing ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_set_stream_sending ##### -->
<para>

</para>

@proxy: 
@arg_Sending: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_set_stream_sending ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_start_telephony_event ##### -->
<para>

</para>

@proxy: 
@arg_Event: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_start_telephony_event ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_stop_telephony_event ##### -->
<para>

</para>

@proxy: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_stop_telephony_event ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_hold_state ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Held: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_unhold_failure ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_hold_state ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_unhold_failure ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_connect_to_set_stream_held ##### -->
<para>

</para>

@proxy: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@error: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_hold_state ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Held: 
@error: 
@loop: 
@Returns: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_unhold_failure ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@error: 
@loop: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_signal_callback_set_stream_held ##### -->
<para>

</para>

@proxy: 
@arg_Held: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_call_codecs_updated ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codecs: 
@callback: 
@user_data: 
@destroy: 
@weak_object: 
@Returns: 


<!-- ##### USER_FUNCTION tp_cli_media_stream_handler_callback_for_codecs_updated ##### -->
<para>

</para>

@proxy: 
@error: 
@user_data: 
@weak_object: 


<!-- ##### FUNCTION tp_cli_media_stream_handler_run_codecs_updated ##### -->
<para>

</para>

@proxy: 
@timeout_ms: 
@in_Codecs: 
@error: 
@loop: 
@Returns: 


