summaryrefslogtreecommitdiff
path: root/drivers/pulseaudio
diff options
context:
space:
mode:
authorHein-Pieter van Braam-Stewart <hp@tmm.cx>2021-02-16 16:19:03 +0100
committerHein-Pieter van Braam-Stewart <hp@tmm.cx>2021-02-16 20:31:49 +0100
commit09f82fa6eaa4dac6dd1743724b82a99906e64861 (patch)
treee24fc6d654afcb54eb1fce4e7088a20cf77a6570 /drivers/pulseaudio
parentcb64f2d96ba25f516ecd6dfb3e80b7ddbb13971f (diff)
Dynamically load libpulse.so.0 and libasound.so.1 on Linux
By generating stubs using https://github.com/hpvb/dynload-wrapper we can dynamically load libpulse and libasound on systems where it is available. Both are still a build-time requirement but no longer a run-time dependency. For maintenance purposes the wrappers should not need to be re-generated unless we want to bump pulse or asound to an incompatible version. It is unlikely we will want to do this any time soon. This closes #20978
Diffstat (limited to 'drivers/pulseaudio')
-rw-r--r--drivers/pulseaudio/SCsub3
-rw-r--r--drivers/pulseaudio/audio_driver_pulseaudio.cpp4
-rw-r--r--drivers/pulseaudio/audio_driver_pulseaudio.h2
-rw-r--r--drivers/pulseaudio/pulse-so_wrap.c3231
-rw-r--r--drivers/pulseaudio/pulse-so_wrap.h1086
5 files changed, 4325 insertions, 1 deletions
diff --git a/drivers/pulseaudio/SCsub b/drivers/pulseaudio/SCsub
index 91e1140b75..467d1448dc 100644
--- a/drivers/pulseaudio/SCsub
+++ b/drivers/pulseaudio/SCsub
@@ -2,4 +2,7 @@
Import("env")
+if "pulseaudio" in env and env["pulseaudio"]:
+ env.add_source_files(env.drivers_sources, "pulse-so_wrap.c")
+
env.add_source_files(env.drivers_sources, "*.cpp")
diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.cpp b/drivers/pulseaudio/audio_driver_pulseaudio.cpp
index a5092c8c5c..2a0828ef0f 100644
--- a/drivers/pulseaudio/audio_driver_pulseaudio.cpp
+++ b/drivers/pulseaudio/audio_driver_pulseaudio.cpp
@@ -233,6 +233,10 @@ Error AudioDriverPulseAudio::init_device() {
}
Error AudioDriverPulseAudio::init() {
+ if (initialize_pulse()) {
+ return ERR_CANT_OPEN;
+ }
+
active = false;
thread_exited = false;
exit_thread = false;
diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.h b/drivers/pulseaudio/audio_driver_pulseaudio.h
index 2ddf8d2592..fa9b573d94 100644
--- a/drivers/pulseaudio/audio_driver_pulseaudio.h
+++ b/drivers/pulseaudio/audio_driver_pulseaudio.h
@@ -37,7 +37,7 @@
#include "core/os/thread.h"
#include "servers/audio_server.h"
-#include <pulse/pulseaudio.h>
+#include "pulse-so_wrap.h"
class AudioDriverPulseAudio : public AudioDriver {
Thread thread;
diff --git a/drivers/pulseaudio/pulse-so_wrap.c b/drivers/pulseaudio/pulse-so_wrap.c
new file mode 100644
index 0000000000..701534aea5
--- /dev/null
+++ b/drivers/pulseaudio/pulse-so_wrap.c
@@ -0,0 +1,3231 @@
+// This file is generated. Do not edit!
+// see https://github.com/hpvb/dynload-wrapper for details
+// generated by /home/hp/Projects/godot/pulse/generate-wrapper.py 0.1 on 2021-02-16 20:26:38
+// flags: /home/hp/Projects/godot/pulse/generate-wrapper.py --include /usr/include/pulse/pulseaudio.h --sys-include <pulse/pulseaudio.h> --soname libpulse.so.0 --omit-prefix _pa_ --init-name pulse --output-header pulse-so_wrap.h --output-implementation pulse-so_wrap.c
+//
+#include <dlfcn.h>
+#include <stdio.h>
+#define pa_get_library_version pa_get_library_version_orig
+#define pa_bytes_per_second pa_bytes_per_second_orig
+#define pa_frame_size pa_frame_size_orig
+#define pa_sample_size pa_sample_size_orig
+#define pa_sample_size_of_format pa_sample_size_of_format_orig
+#define pa_bytes_to_usec pa_bytes_to_usec_orig
+#define pa_usec_to_bytes pa_usec_to_bytes_orig
+#define pa_sample_spec_init pa_sample_spec_init_orig
+#define pa_sample_format_valid pa_sample_format_valid_orig
+#define pa_sample_rate_valid pa_sample_rate_valid_orig
+#define pa_channels_valid pa_channels_valid_orig
+#define pa_sample_spec_valid pa_sample_spec_valid_orig
+#define pa_sample_spec_equal pa_sample_spec_equal_orig
+#define pa_sample_format_to_string pa_sample_format_to_string_orig
+#define pa_parse_sample_format pa_parse_sample_format_orig
+#define pa_sample_spec_snprint pa_sample_spec_snprint_orig
+#define pa_bytes_snprint pa_bytes_snprint_orig
+#define pa_sample_format_is_le pa_sample_format_is_le_orig
+#define pa_sample_format_is_be pa_sample_format_is_be_orig
+#define pa_direction_valid pa_direction_valid_orig
+#define pa_direction_to_string pa_direction_to_string_orig
+#define pa_mainloop_api_once pa_mainloop_api_once_orig
+#define pa_proplist_new pa_proplist_new_orig
+#define pa_proplist_free pa_proplist_free_orig
+#define pa_proplist_key_valid pa_proplist_key_valid_orig
+#define pa_proplist_sets pa_proplist_sets_orig
+#define pa_proplist_setp pa_proplist_setp_orig
+#define pa_proplist_setf pa_proplist_setf_orig
+#define pa_proplist_set pa_proplist_set_orig
+#define pa_proplist_gets pa_proplist_gets_orig
+#define pa_proplist_get pa_proplist_get_orig
+#define pa_proplist_update pa_proplist_update_orig
+#define pa_proplist_unset pa_proplist_unset_orig
+#define pa_proplist_unset_many pa_proplist_unset_many_orig
+#define pa_proplist_iterate pa_proplist_iterate_orig
+#define pa_proplist_to_string pa_proplist_to_string_orig
+#define pa_proplist_to_string_sep pa_proplist_to_string_sep_orig
+#define pa_proplist_from_string pa_proplist_from_string_orig
+#define pa_proplist_contains pa_proplist_contains_orig
+#define pa_proplist_clear pa_proplist_clear_orig
+#define pa_proplist_copy pa_proplist_copy_orig
+#define pa_proplist_size pa_proplist_size_orig
+#define pa_proplist_isempty pa_proplist_isempty_orig
+#define pa_proplist_equal pa_proplist_equal_orig
+#define pa_channel_map_init pa_channel_map_init_orig
+#define pa_channel_map_init_mono pa_channel_map_init_mono_orig
+#define pa_channel_map_init_stereo pa_channel_map_init_stereo_orig
+#define pa_channel_map_init_auto pa_channel_map_init_auto_orig
+#define pa_channel_map_init_extend pa_channel_map_init_extend_orig
+#define pa_channel_position_to_string pa_channel_position_to_string_orig
+#define pa_channel_position_from_string pa_channel_position_from_string_orig
+#define pa_channel_position_to_pretty_string pa_channel_position_to_pretty_string_orig
+#define pa_channel_map_snprint pa_channel_map_snprint_orig
+#define pa_channel_map_parse pa_channel_map_parse_orig
+#define pa_channel_map_equal pa_channel_map_equal_orig
+#define pa_channel_map_valid pa_channel_map_valid_orig
+#define pa_channel_map_compatible pa_channel_map_compatible_orig
+#define pa_channel_map_superset pa_channel_map_superset_orig
+#define pa_channel_map_can_balance pa_channel_map_can_balance_orig
+#define pa_channel_map_can_fade pa_channel_map_can_fade_orig
+#define pa_channel_map_can_lfe_balance pa_channel_map_can_lfe_balance_orig
+#define pa_channel_map_to_name pa_channel_map_to_name_orig
+#define pa_channel_map_to_pretty_name pa_channel_map_to_pretty_name_orig
+#define pa_channel_map_has_position pa_channel_map_has_position_orig
+#define pa_channel_map_mask pa_channel_map_mask_orig
+#define pa_encoding_to_string pa_encoding_to_string_orig
+#define pa_encoding_from_string pa_encoding_from_string_orig
+#define pa_format_info_new pa_format_info_new_orig
+#define pa_format_info_copy pa_format_info_copy_orig
+#define pa_format_info_free pa_format_info_free_orig
+#define pa_format_info_valid pa_format_info_valid_orig
+#define pa_format_info_is_pcm pa_format_info_is_pcm_orig
+#define pa_format_info_is_compatible pa_format_info_is_compatible_orig
+#define pa_format_info_snprint pa_format_info_snprint_orig
+#define pa_format_info_from_string pa_format_info_from_string_orig
+#define pa_format_info_from_sample_spec pa_format_info_from_sample_spec_orig
+#define pa_format_info_to_sample_spec pa_format_info_to_sample_spec_orig
+#define pa_format_info_get_prop_type pa_format_info_get_prop_type_orig
+#define pa_format_info_get_prop_int pa_format_info_get_prop_int_orig
+#define pa_format_info_get_prop_int_range pa_format_info_get_prop_int_range_orig
+#define pa_format_info_get_prop_int_array pa_format_info_get_prop_int_array_orig
+#define pa_format_info_get_prop_string pa_format_info_get_prop_string_orig
+#define pa_format_info_get_prop_string_array pa_format_info_get_prop_string_array_orig
+#define pa_format_info_free_string_array pa_format_info_free_string_array_orig
+#define pa_format_info_get_sample_format pa_format_info_get_sample_format_orig
+#define pa_format_info_get_rate pa_format_info_get_rate_orig
+#define pa_format_info_get_channels pa_format_info_get_channels_orig
+#define pa_format_info_get_channel_map pa_format_info_get_channel_map_orig
+#define pa_format_info_set_prop_int pa_format_info_set_prop_int_orig
+#define pa_format_info_set_prop_int_array pa_format_info_set_prop_int_array_orig
+#define pa_format_info_set_prop_int_range pa_format_info_set_prop_int_range_orig
+#define pa_format_info_set_prop_string pa_format_info_set_prop_string_orig
+#define pa_format_info_set_prop_string_array pa_format_info_set_prop_string_array_orig
+#define pa_format_info_set_sample_format pa_format_info_set_sample_format_orig
+#define pa_format_info_set_rate pa_format_info_set_rate_orig
+#define pa_format_info_set_channels pa_format_info_set_channels_orig
+#define pa_format_info_set_channel_map pa_format_info_set_channel_map_orig
+#define pa_operation_ref pa_operation_ref_orig
+#define pa_operation_unref pa_operation_unref_orig
+#define pa_operation_cancel pa_operation_cancel_orig
+#define pa_operation_get_state pa_operation_get_state_orig
+#define pa_operation_set_state_callback pa_operation_set_state_callback_orig
+#define pa_context_new pa_context_new_orig
+#define pa_context_new_with_proplist pa_context_new_with_proplist_orig
+#define pa_context_unref pa_context_unref_orig
+#define pa_context_ref pa_context_ref_orig
+#define pa_context_set_state_callback pa_context_set_state_callback_orig
+#define pa_context_set_event_callback pa_context_set_event_callback_orig
+#define pa_context_errno pa_context_errno_orig
+#define pa_context_is_pending pa_context_is_pending_orig
+#define pa_context_get_state pa_context_get_state_orig
+#define pa_context_connect pa_context_connect_orig
+#define pa_context_disconnect pa_context_disconnect_orig
+#define pa_context_drain pa_context_drain_orig
+#define pa_context_exit_daemon pa_context_exit_daemon_orig
+#define pa_context_set_default_sink pa_context_set_default_sink_orig
+#define pa_context_set_default_source pa_context_set_default_source_orig
+#define pa_context_is_local pa_context_is_local_orig
+#define pa_context_set_name pa_context_set_name_orig
+#define pa_context_get_server pa_context_get_server_orig
+#define pa_context_get_protocol_version pa_context_get_protocol_version_orig
+#define pa_context_get_server_protocol_version pa_context_get_server_protocol_version_orig
+#define pa_context_proplist_update pa_context_proplist_update_orig
+#define pa_context_proplist_remove pa_context_proplist_remove_orig
+#define pa_context_get_index pa_context_get_index_orig
+#define pa_context_rttime_new pa_context_rttime_new_orig
+#define pa_context_rttime_restart pa_context_rttime_restart_orig
+#define pa_context_get_tile_size pa_context_get_tile_size_orig
+#define pa_context_load_cookie_from_file pa_context_load_cookie_from_file_orig
+#define pa_cvolume_equal pa_cvolume_equal_orig
+#define pa_cvolume_init pa_cvolume_init_orig
+#define pa_cvolume_set pa_cvolume_set_orig
+#define pa_cvolume_snprint pa_cvolume_snprint_orig
+#define pa_sw_cvolume_snprint_dB pa_sw_cvolume_snprint_dB_orig
+#define pa_cvolume_snprint_verbose pa_cvolume_snprint_verbose_orig
+#define pa_volume_snprint pa_volume_snprint_orig
+#define pa_sw_volume_snprint_dB pa_sw_volume_snprint_dB_orig
+#define pa_volume_snprint_verbose pa_volume_snprint_verbose_orig
+#define pa_cvolume_avg pa_cvolume_avg_orig
+#define pa_cvolume_avg_mask pa_cvolume_avg_mask_orig
+#define pa_cvolume_max pa_cvolume_max_orig
+#define pa_cvolume_max_mask pa_cvolume_max_mask_orig
+#define pa_cvolume_min pa_cvolume_min_orig
+#define pa_cvolume_min_mask pa_cvolume_min_mask_orig
+#define pa_cvolume_valid pa_cvolume_valid_orig
+#define pa_cvolume_channels_equal_to pa_cvolume_channels_equal_to_orig
+#define pa_sw_volume_multiply pa_sw_volume_multiply_orig
+#define pa_sw_cvolume_multiply pa_sw_cvolume_multiply_orig
+#define pa_sw_cvolume_multiply_scalar pa_sw_cvolume_multiply_scalar_orig
+#define pa_sw_volume_divide pa_sw_volume_divide_orig
+#define pa_sw_cvolume_divide pa_sw_cvolume_divide_orig
+#define pa_sw_cvolume_divide_scalar pa_sw_cvolume_divide_scalar_orig
+#define pa_sw_volume_from_dB pa_sw_volume_from_dB_orig
+#define pa_sw_volume_to_dB pa_sw_volume_to_dB_orig
+#define pa_sw_volume_from_linear pa_sw_volume_from_linear_orig
+#define pa_sw_volume_to_linear pa_sw_volume_to_linear_orig
+#define pa_cvolume_remap pa_cvolume_remap_orig
+#define pa_cvolume_compatible pa_cvolume_compatible_orig
+#define pa_cvolume_compatible_with_channel_map pa_cvolume_compatible_with_channel_map_orig
+#define pa_cvolume_get_balance pa_cvolume_get_balance_orig
+#define pa_cvolume_set_balance pa_cvolume_set_balance_orig
+#define pa_cvolume_get_fade pa_cvolume_get_fade_orig
+#define pa_cvolume_set_fade pa_cvolume_set_fade_orig
+#define pa_cvolume_get_lfe_balance pa_cvolume_get_lfe_balance_orig
+#define pa_cvolume_set_lfe_balance pa_cvolume_set_lfe_balance_orig
+#define pa_cvolume_scale pa_cvolume_scale_orig
+#define pa_cvolume_scale_mask pa_cvolume_scale_mask_orig
+#define pa_cvolume_set_position pa_cvolume_set_position_orig
+#define pa_cvolume_get_position pa_cvolume_get_position_orig
+#define pa_cvolume_merge pa_cvolume_merge_orig
+#define pa_cvolume_inc_clamp pa_cvolume_inc_clamp_orig
+#define pa_cvolume_inc pa_cvolume_inc_orig
+#define pa_cvolume_dec pa_cvolume_dec_orig
+#define pa_stream_new pa_stream_new_orig
+#define pa_stream_new_with_proplist pa_stream_new_with_proplist_orig
+#define pa_stream_new_extended pa_stream_new_extended_orig
+#define pa_stream_unref pa_stream_unref_orig
+#define pa_stream_ref pa_stream_ref_orig
+#define pa_stream_get_state pa_stream_get_state_orig
+#define pa_stream_get_context pa_stream_get_context_orig
+#define pa_stream_get_index pa_stream_get_index_orig
+#define pa_stream_get_device_index pa_stream_get_device_index_orig
+#define pa_stream_get_device_name pa_stream_get_device_name_orig
+#define pa_stream_is_suspended pa_stream_is_suspended_orig
+#define pa_stream_is_corked pa_stream_is_corked_orig
+#define pa_stream_connect_playback pa_stream_connect_playback_orig
+#define pa_stream_connect_record pa_stream_connect_record_orig
+#define pa_stream_disconnect pa_stream_disconnect_orig
+#define pa_stream_begin_write pa_stream_begin_write_orig
+#define pa_stream_cancel_write pa_stream_cancel_write_orig
+#define pa_stream_write pa_stream_write_orig
+#define pa_stream_write_ext_free pa_stream_write_ext_free_orig
+#define pa_stream_peek pa_stream_peek_orig
+#define pa_stream_drop pa_stream_drop_orig
+#define pa_stream_writable_size pa_stream_writable_size_orig
+#define pa_stream_readable_size pa_stream_readable_size_orig
+#define pa_stream_drain pa_stream_drain_orig
+#define pa_stream_update_timing_info pa_stream_update_timing_info_orig
+#define pa_stream_set_state_callback pa_stream_set_state_callback_orig
+#define pa_stream_set_write_callback pa_stream_set_write_callback_orig
+#define pa_stream_set_read_callback pa_stream_set_read_callback_orig
+#define pa_stream_set_overflow_callback pa_stream_set_overflow_callback_orig
+#define pa_stream_get_underflow_index pa_stream_get_underflow_index_orig
+#define pa_stream_set_underflow_callback pa_stream_set_underflow_callback_orig
+#define pa_stream_set_started_callback pa_stream_set_started_callback_orig
+#define pa_stream_set_latency_update_callback pa_stream_set_latency_update_callback_orig
+#define pa_stream_set_moved_callback pa_stream_set_moved_callback_orig
+#define pa_stream_set_suspended_callback pa_stream_set_suspended_callback_orig
+#define pa_stream_set_event_callback pa_stream_set_event_callback_orig
+#define pa_stream_set_buffer_attr_callback pa_stream_set_buffer_attr_callback_orig
+#define pa_stream_cork pa_stream_cork_orig
+#define pa_stream_flush pa_stream_flush_orig
+#define pa_stream_prebuf pa_stream_prebuf_orig
+#define pa_stream_trigger pa_stream_trigger_orig
+#define pa_stream_set_name pa_stream_set_name_orig
+#define pa_stream_get_time pa_stream_get_time_orig
+#define pa_stream_get_latency pa_stream_get_latency_orig
+#define pa_stream_get_timing_info pa_stream_get_timing_info_orig
+#define pa_stream_get_sample_spec pa_stream_get_sample_spec_orig
+#define pa_stream_get_channel_map pa_stream_get_channel_map_orig
+#define pa_stream_get_format_info pa_stream_get_format_info_orig
+#define pa_stream_get_buffer_attr pa_stream_get_buffer_attr_orig
+#define pa_stream_set_buffer_attr pa_stream_set_buffer_attr_orig
+#define pa_stream_update_sample_rate pa_stream_update_sample_rate_orig
+#define pa_stream_proplist_update pa_stream_proplist_update_orig
+#define pa_stream_proplist_remove pa_stream_proplist_remove_orig
+#define pa_stream_set_monitor_stream pa_stream_set_monitor_stream_orig
+#define pa_stream_get_monitor_stream pa_stream_get_monitor_stream_orig
+#define pa_context_get_sink_info_by_name pa_context_get_sink_info_by_name_orig
+#define pa_context_get_sink_info_by_index pa_context_get_sink_info_by_index_orig
+#define pa_context_get_sink_info_list pa_context_get_sink_info_list_orig
+#define pa_context_set_sink_volume_by_index pa_context_set_sink_volume_by_index_orig
+#define pa_context_set_sink_volume_by_name pa_context_set_sink_volume_by_name_orig
+#define pa_context_set_sink_mute_by_index pa_context_set_sink_mute_by_index_orig
+#define pa_context_set_sink_mute_by_name pa_context_set_sink_mute_by_name_orig
+#define pa_context_suspend_sink_by_name pa_context_suspend_sink_by_name_orig
+#define pa_context_suspend_sink_by_index pa_context_suspend_sink_by_index_orig
+#define pa_context_set_sink_port_by_index pa_context_set_sink_port_by_index_orig
+#define pa_context_set_sink_port_by_name pa_context_set_sink_port_by_name_orig
+#define pa_context_get_source_info_by_name pa_context_get_source_info_by_name_orig
+#define pa_context_get_source_info_by_index pa_context_get_source_info_by_index_orig
+#define pa_context_get_source_info_list pa_context_get_source_info_list_orig
+#define pa_context_set_source_volume_by_index pa_context_set_source_volume_by_index_orig
+#define pa_context_set_source_volume_by_name pa_context_set_source_volume_by_name_orig
+#define pa_context_set_source_mute_by_index pa_context_set_source_mute_by_index_orig
+#define pa_context_set_source_mute_by_name pa_context_set_source_mute_by_name_orig
+#define pa_context_suspend_source_by_name pa_context_suspend_source_by_name_orig
+#define pa_context_suspend_source_by_index pa_context_suspend_source_by_index_orig
+#define pa_context_set_source_port_by_index pa_context_set_source_port_by_index_orig
+#define pa_context_set_source_port_by_name pa_context_set_source_port_by_name_orig
+#define pa_context_get_server_info pa_context_get_server_info_orig
+#define pa_context_get_module_info pa_context_get_module_info_orig
+#define pa_context_get_module_info_list pa_context_get_module_info_list_orig
+#define pa_context_load_module pa_context_load_module_orig
+#define pa_context_unload_module pa_context_unload_module_orig
+#define pa_context_get_client_info pa_context_get_client_info_orig
+#define pa_context_get_client_info_list pa_context_get_client_info_list_orig
+#define pa_context_kill_client pa_context_kill_client_orig
+#define pa_context_get_card_info_by_index pa_context_get_card_info_by_index_orig
+#define pa_context_get_card_info_by_name pa_context_get_card_info_by_name_orig
+#define pa_context_get_card_info_list pa_context_get_card_info_list_orig
+#define pa_context_set_card_profile_by_index pa_context_set_card_profile_by_index_orig
+#define pa_context_set_card_profile_by_name pa_context_set_card_profile_by_name_orig
+#define pa_context_set_port_latency_offset pa_context_set_port_latency_offset_orig
+#define pa_context_get_sink_input_info pa_context_get_sink_input_info_orig
+#define pa_context_get_sink_input_info_list pa_context_get_sink_input_info_list_orig
+#define pa_context_move_sink_input_by_name pa_context_move_sink_input_by_name_orig
+#define pa_context_move_sink_input_by_index pa_context_move_sink_input_by_index_orig
+#define pa_context_set_sink_input_volume pa_context_set_sink_input_volume_orig
+#define pa_context_set_sink_input_mute pa_context_set_sink_input_mute_orig
+#define pa_context_kill_sink_input pa_context_kill_sink_input_orig
+#define pa_context_get_source_output_info pa_context_get_source_output_info_orig
+#define pa_context_get_source_output_info_list pa_context_get_source_output_info_list_orig
+#define pa_context_move_source_output_by_name pa_context_move_source_output_by_name_orig
+#define pa_context_move_source_output_by_index pa_context_move_source_output_by_index_orig
+#define pa_context_set_source_output_volume pa_context_set_source_output_volume_orig
+#define pa_context_set_source_output_mute pa_context_set_source_output_mute_orig
+#define pa_context_kill_source_output pa_context_kill_source_output_orig
+#define pa_context_stat pa_context_stat_orig
+#define pa_context_get_sample_info_by_name pa_context_get_sample_info_by_name_orig
+#define pa_context_get_sample_info_by_index pa_context_get_sample_info_by_index_orig
+#define pa_context_get_sample_info_list pa_context_get_sample_info_list_orig
+#define pa_context_get_autoload_info_by_name pa_context_get_autoload_info_by_name_orig
+#define pa_context_get_autoload_info_by_index pa_context_get_autoload_info_by_index_orig
+#define pa_context_get_autoload_info_list pa_context_get_autoload_info_list_orig
+#define pa_context_add_autoload pa_context_add_autoload_orig
+#define pa_context_remove_autoload_by_name pa_context_remove_autoload_by_name_orig
+#define pa_context_remove_autoload_by_index pa_context_remove_autoload_by_index_orig
+#define pa_context_subscribe pa_context_subscribe_orig
+#define pa_context_set_subscribe_callback pa_context_set_subscribe_callback_orig
+#define pa_stream_connect_upload pa_stream_connect_upload_orig
+#define pa_stream_finish_upload pa_stream_finish_upload_orig
+#define pa_context_remove_sample pa_context_remove_sample_orig
+#define pa_context_play_sample pa_context_play_sample_orig
+#define pa_context_play_sample_with_proplist pa_context_play_sample_with_proplist_orig
+#define pa_strerror pa_strerror_orig
+#define pa_xmalloc pa_xmalloc_orig
+#define pa_xmalloc0 pa_xmalloc0_orig
+#define pa_xrealloc pa_xrealloc_orig
+#define pa_xfree pa_xfree_orig
+#define pa_xstrdup pa_xstrdup_orig
+#define pa_xstrndup pa_xstrndup_orig
+#define pa_xmemdup pa_xmemdup_orig
+#define pa_utf8_valid pa_utf8_valid_orig
+#define pa_ascii_valid pa_ascii_valid_orig
+#define pa_utf8_filter pa_utf8_filter_orig
+#define pa_ascii_filter pa_ascii_filter_orig
+#define pa_utf8_to_locale pa_utf8_to_locale_orig
+#define pa_locale_to_utf8 pa_locale_to_utf8_orig
+#define pa_threaded_mainloop_new pa_threaded_mainloop_new_orig
+#define pa_threaded_mainloop_free pa_threaded_mainloop_free_orig
+#define pa_threaded_mainloop_start pa_threaded_mainloop_start_orig
+#define pa_threaded_mainloop_stop pa_threaded_mainloop_stop_orig
+#define pa_threaded_mainloop_lock pa_threaded_mainloop_lock_orig
+#define pa_threaded_mainloop_unlock pa_threaded_mainloop_unlock_orig
+#define pa_threaded_mainloop_wait pa_threaded_mainloop_wait_orig
+#define pa_threaded_mainloop_signal pa_threaded_mainloop_signal_orig
+#define pa_threaded_mainloop_accept pa_threaded_mainloop_accept_orig
+#define pa_threaded_mainloop_get_retval pa_threaded_mainloop_get_retval_orig
+#define pa_threaded_mainloop_get_api pa_threaded_mainloop_get_api_orig
+#define pa_threaded_mainloop_in_thread pa_threaded_mainloop_in_thread_orig
+#define pa_threaded_mainloop_set_name pa_threaded_mainloop_set_name_orig
+#define pa_threaded_mainloop_once_unlocked pa_threaded_mainloop_once_unlocked_orig
+#define pa_mainloop_new pa_mainloop_new_orig
+#define pa_mainloop_free pa_mainloop_free_orig
+#define pa_mainloop_prepare pa_mainloop_prepare_orig
+#define pa_mainloop_poll pa_mainloop_poll_orig
+#define pa_mainloop_dispatch pa_mainloop_dispatch_orig
+#define pa_mainloop_get_retval pa_mainloop_get_retval_orig
+#define pa_mainloop_iterate pa_mainloop_iterate_orig
+#define pa_mainloop_run pa_mainloop_run_orig
+#define pa_mainloop_get_api pa_mainloop_get_api_orig
+#define pa_mainloop_quit pa_mainloop_quit_orig
+#define pa_mainloop_wakeup pa_mainloop_wakeup_orig
+#define pa_mainloop_set_poll_func pa_mainloop_set_poll_func_orig
+#define pa_signal_init pa_signal_init_orig
+#define pa_signal_done pa_signal_done_orig
+#define pa_signal_new pa_signal_new_orig
+#define pa_signal_free pa_signal_free_orig
+#define pa_signal_set_destroy pa_signal_set_destroy_orig
+#define pa_get_user_name pa_get_user_name_orig
+#define pa_get_host_name pa_get_host_name_orig
+#define pa_get_fqdn pa_get_fqdn_orig
+#define pa_get_home_dir pa_get_home_dir_orig
+#define pa_get_binary_name pa_get_binary_name_orig
+#define pa_path_get_filename pa_path_get_filename_orig
+#define pa_msleep pa_msleep_orig
+#define pa_thread_make_realtime pa_thread_make_realtime_orig
+#define pa_gettimeofday pa_gettimeofday_orig
+#define pa_timeval_diff pa_timeval_diff_orig
+#define pa_timeval_cmp pa_timeval_cmp_orig
+#define pa_timeval_age pa_timeval_age_orig
+#define pa_timeval_add pa_timeval_add_orig
+#define pa_timeval_sub pa_timeval_sub_orig
+#define pa_timeval_store pa_timeval_store_orig
+#define pa_timeval_load pa_timeval_load_orig
+#define pa_rtclock_now pa_rtclock_now_orig
+#include <pulse/pulseaudio.h>
+#undef pa_get_library_version
+#undef pa_bytes_per_second
+#undef pa_frame_size
+#undef pa_sample_size
+#undef pa_sample_size_of_format
+#undef pa_bytes_to_usec
+#undef pa_usec_to_bytes
+#undef pa_sample_spec_init
+#undef pa_sample_format_valid
+#undef pa_sample_rate_valid
+#undef pa_channels_valid
+#undef pa_sample_spec_valid
+#undef pa_sample_spec_equal
+#undef pa_sample_format_to_string
+#undef pa_parse_sample_format
+#undef pa_sample_spec_snprint
+#undef pa_bytes_snprint
+#undef pa_sample_format_is_le
+#undef pa_sample_format_is_be
+#undef pa_direction_valid
+#undef pa_direction_to_string
+#undef pa_mainloop_api_once
+#undef pa_proplist_new
+#undef pa_proplist_free
+#undef pa_proplist_key_valid
+#undef pa_proplist_sets
+#undef pa_proplist_setp
+#undef pa_proplist_setf
+#undef pa_proplist_set
+#undef pa_proplist_gets
+#undef pa_proplist_get
+#undef pa_proplist_update
+#undef pa_proplist_unset
+#undef pa_proplist_unset_many
+#undef pa_proplist_iterate
+#undef pa_proplist_to_string
+#undef pa_proplist_to_string_sep
+#undef pa_proplist_from_string
+#undef pa_proplist_contains
+#undef pa_proplist_clear
+#undef pa_proplist_copy
+#undef pa_proplist_size
+#undef pa_proplist_isempty
+#undef pa_proplist_equal
+#undef pa_channel_map_init
+#undef pa_channel_map_init_mono
+#undef pa_channel_map_init_stereo
+#undef pa_channel_map_init_auto
+#undef pa_channel_map_init_extend
+#undef pa_channel_position_to_string
+#undef pa_channel_position_from_string
+#undef pa_channel_position_to_pretty_string
+#undef pa_channel_map_snprint
+#undef pa_channel_map_parse
+#undef pa_channel_map_equal
+#undef pa_channel_map_valid
+#undef pa_channel_map_compatible
+#undef pa_channel_map_superset
+#undef pa_channel_map_can_balance
+#undef pa_channel_map_can_fade
+#undef pa_channel_map_can_lfe_balance
+#undef pa_channel_map_to_name
+#undef pa_channel_map_to_pretty_name
+#undef pa_channel_map_has_position
+#undef pa_channel_map_mask
+#undef pa_encoding_to_string
+#undef pa_encoding_from_string
+#undef pa_format_info_new
+#undef pa_format_info_copy
+#undef pa_format_info_free
+#undef pa_format_info_valid
+#undef pa_format_info_is_pcm
+#undef pa_format_info_is_compatible
+#undef pa_format_info_snprint
+#undef pa_format_info_from_string
+#undef pa_format_info_from_sample_spec
+#undef pa_format_info_to_sample_spec
+#undef pa_format_info_get_prop_type
+#undef pa_format_info_get_prop_int
+#undef pa_format_info_get_prop_int_range
+#undef pa_format_info_get_prop_int_array
+#undef pa_format_info_get_prop_string
+#undef pa_format_info_get_prop_string_array
+#undef pa_format_info_free_string_array
+#undef pa_format_info_get_sample_format
+#undef pa_format_info_get_rate
+#undef pa_format_info_get_channels
+#undef pa_format_info_get_channel_map
+#undef pa_format_info_set_prop_int
+#undef pa_format_info_set_prop_int_array
+#undef pa_format_info_set_prop_int_range
+#undef pa_format_info_set_prop_string
+#undef pa_format_info_set_prop_string_array
+#undef pa_format_info_set_sample_format
+#undef pa_format_info_set_rate
+#undef pa_format_info_set_channels
+#undef pa_format_info_set_channel_map
+#undef pa_operation_ref
+#undef pa_operation_unref
+#undef pa_operation_cancel
+#undef pa_operation_get_state
+#undef pa_operation_set_state_callback
+#undef pa_context_new
+#undef pa_context_new_with_proplist
+#undef pa_context_unref
+#undef pa_context_ref
+#undef pa_context_set_state_callback
+#undef pa_context_set_event_callback
+#undef pa_context_errno
+#undef pa_context_is_pending
+#undef pa_context_get_state
+#undef pa_context_connect
+#undef pa_context_disconnect
+#undef pa_context_drain
+#undef pa_context_exit_daemon
+#undef pa_context_set_default_sink
+#undef pa_context_set_default_source
+#undef pa_context_is_local
+#undef pa_context_set_name
+#undef pa_context_get_server
+#undef pa_context_get_protocol_version
+#undef pa_context_get_server_protocol_version
+#undef pa_context_proplist_update
+#undef pa_context_proplist_remove
+#undef pa_context_get_index
+#undef pa_context_rttime_new
+#undef pa_context_rttime_restart
+#undef pa_context_get_tile_size
+#undef pa_context_load_cookie_from_file
+#undef pa_cvolume_equal
+#undef pa_cvolume_init
+#undef pa_cvolume_set
+#undef pa_cvolume_snprint
+#undef pa_sw_cvolume_snprint_dB
+#undef pa_cvolume_snprint_verbose
+#undef pa_volume_snprint
+#undef pa_sw_volume_snprint_dB
+#undef pa_volume_snprint_verbose
+#undef pa_cvolume_avg
+#undef pa_cvolume_avg_mask
+#undef pa_cvolume_max
+#undef pa_cvolume_max_mask
+#undef pa_cvolume_min
+#undef pa_cvolume_min_mask
+#undef pa_cvolume_valid
+#undef pa_cvolume_channels_equal_to
+#undef pa_sw_volume_multiply
+#undef pa_sw_cvolume_multiply
+#undef pa_sw_cvolume_multiply_scalar
+#undef pa_sw_volume_divide
+#undef pa_sw_cvolume_divide
+#undef pa_sw_cvolume_divide_scalar
+#undef pa_sw_volume_from_dB
+#undef pa_sw_volume_to_dB
+#undef pa_sw_volume_from_linear
+#undef pa_sw_volume_to_linear
+#undef pa_cvolume_remap
+#undef pa_cvolume_compatible
+#undef pa_cvolume_compatible_with_channel_map
+#undef pa_cvolume_get_balance
+#undef pa_cvolume_set_balance
+#undef pa_cvolume_get_fade
+#undef pa_cvolume_set_fade
+#undef pa_cvolume_get_lfe_balance
+#undef pa_cvolume_set_lfe_balance
+#undef pa_cvolume_scale
+#undef pa_cvolume_scale_mask
+#undef pa_cvolume_set_position
+#undef pa_cvolume_get_position
+#undef pa_cvolume_merge
+#undef pa_cvolume_inc_clamp
+#undef pa_cvolume_inc
+#undef pa_cvolume_dec
+#undef pa_stream_new
+#undef pa_stream_new_with_proplist
+#undef pa_stream_new_extended
+#undef pa_stream_unref
+#undef pa_stream_ref
+#undef pa_stream_get_state
+#undef pa_stream_get_context
+#undef pa_stream_get_index
+#undef pa_stream_get_device_index
+#undef pa_stream_get_device_name
+#undef pa_stream_is_suspended
+#undef pa_stream_is_corked
+#undef pa_stream_connect_playback
+#undef pa_stream_connect_record
+#undef pa_stream_disconnect
+#undef pa_stream_begin_write
+#undef pa_stream_cancel_write
+#undef pa_stream_write
+#undef pa_stream_write_ext_free
+#undef pa_stream_peek
+#undef pa_stream_drop
+#undef pa_stream_writable_size
+#undef pa_stream_readable_size
+#undef pa_stream_drain
+#undef pa_stream_update_timing_info
+#undef pa_stream_set_state_callback
+#undef pa_stream_set_write_callback
+#undef pa_stream_set_read_callback
+#undef pa_stream_set_overflow_callback
+#undef pa_stream_get_underflow_index
+#undef pa_stream_set_underflow_callback
+#undef pa_stream_set_started_callback
+#undef pa_stream_set_latency_update_callback
+#undef pa_stream_set_moved_callback
+#undef pa_stream_set_suspended_callback
+#undef pa_stream_set_event_callback
+#undef pa_stream_set_buffer_attr_callback
+#undef pa_stream_cork
+#undef pa_stream_flush
+#undef pa_stream_prebuf
+#undef pa_stream_trigger
+#undef pa_stream_set_name
+#undef pa_stream_get_time
+#undef pa_stream_get_latency
+#undef pa_stream_get_timing_info
+#undef pa_stream_get_sample_spec
+#undef pa_stream_get_channel_map
+#undef pa_stream_get_format_info
+#undef pa_stream_get_buffer_attr
+#undef pa_stream_set_buffer_attr
+#undef pa_stream_update_sample_rate
+#undef pa_stream_proplist_update
+#undef pa_stream_proplist_remove
+#undef pa_stream_set_monitor_stream
+#undef pa_stream_get_monitor_stream
+#undef pa_context_get_sink_info_by_name
+#undef pa_context_get_sink_info_by_index
+#undef pa_context_get_sink_info_list
+#undef pa_context_set_sink_volume_by_index
+#undef pa_context_set_sink_volume_by_name
+#undef pa_context_set_sink_mute_by_index
+#undef pa_context_set_sink_mute_by_name
+#undef pa_context_suspend_sink_by_name
+#undef pa_context_suspend_sink_by_index
+#undef pa_context_set_sink_port_by_index
+#undef pa_context_set_sink_port_by_name
+#undef pa_context_get_source_info_by_name
+#undef pa_context_get_source_info_by_index
+#undef pa_context_get_source_info_list
+#undef pa_context_set_source_volume_by_index
+#undef pa_context_set_source_volume_by_name
+#undef pa_context_set_source_mute_by_index
+#undef pa_context_set_source_mute_by_name
+#undef pa_context_suspend_source_by_name
+#undef pa_context_suspend_source_by_index
+#undef pa_context_set_source_port_by_index
+#undef pa_context_set_source_port_by_name
+#undef pa_context_get_server_info
+#undef pa_context_get_module_info
+#undef pa_context_get_module_info_list
+#undef pa_context_load_module
+#undef pa_context_unload_module
+#undef pa_context_get_client_info
+#undef pa_context_get_client_info_list
+#undef pa_context_kill_client
+#undef pa_context_get_card_info_by_index
+#undef pa_context_get_card_info_by_name
+#undef pa_context_get_card_info_list
+#undef pa_context_set_card_profile_by_index
+#undef pa_context_set_card_profile_by_name
+#undef pa_context_set_port_latency_offset
+#undef pa_context_get_sink_input_info
+#undef pa_context_get_sink_input_info_list
+#undef pa_context_move_sink_input_by_name
+#undef pa_context_move_sink_input_by_index
+#undef pa_context_set_sink_input_volume
+#undef pa_context_set_sink_input_mute
+#undef pa_context_kill_sink_input
+#undef pa_context_get_source_output_info
+#undef pa_context_get_source_output_info_list
+#undef pa_context_move_source_output_by_name
+#undef pa_context_move_source_output_by_index
+#undef pa_context_set_source_output_volume
+#undef pa_context_set_source_output_mute
+#undef pa_context_kill_source_output
+#undef pa_context_stat
+#undef pa_context_get_sample_info_by_name
+#undef pa_context_get_sample_info_by_index
+#undef pa_context_get_sample_info_list
+#undef pa_context_get_autoload_info_by_name
+#undef pa_context_get_autoload_info_by_index
+#undef pa_context_get_autoload_info_list
+#undef pa_context_add_autoload
+#undef pa_context_remove_autoload_by_name
+#undef pa_context_remove_autoload_by_index
+#undef pa_context_subscribe
+#undef pa_context_set_subscribe_callback
+#undef pa_stream_connect_upload
+#undef pa_stream_finish_upload
+#undef pa_context_remove_sample
+#undef pa_context_play_sample
+#undef pa_context_play_sample_with_proplist
+#undef pa_strerror
+#undef pa_xmalloc
+#undef pa_xmalloc0
+#undef pa_xrealloc
+#undef pa_xfree
+#undef pa_xstrdup
+#undef pa_xstrndup
+#undef pa_xmemdup
+#undef pa_utf8_valid
+#undef pa_ascii_valid
+#undef pa_utf8_filter
+#undef pa_ascii_filter
+#undef pa_utf8_to_locale
+#undef pa_locale_to_utf8
+#undef pa_threaded_mainloop_new
+#undef pa_threaded_mainloop_free
+#undef pa_threaded_mainloop_start
+#undef pa_threaded_mainloop_stop
+#undef pa_threaded_mainloop_lock
+#undef pa_threaded_mainloop_unlock
+#undef pa_threaded_mainloop_wait
+#undef pa_threaded_mainloop_signal
+#undef pa_threaded_mainloop_accept
+#undef pa_threaded_mainloop_get_retval
+#undef pa_threaded_mainloop_get_api
+#undef pa_threaded_mainloop_in_thread
+#undef pa_threaded_mainloop_set_name
+#undef pa_threaded_mainloop_once_unlocked
+#undef pa_mainloop_new
+#undef pa_mainloop_free
+#undef pa_mainloop_prepare
+#undef pa_mainloop_poll
+#undef pa_mainloop_dispatch
+#undef pa_mainloop_get_retval
+#undef pa_mainloop_iterate
+#undef pa_mainloop_run
+#undef pa_mainloop_get_api
+#undef pa_mainloop_quit
+#undef pa_mainloop_wakeup
+#undef pa_mainloop_set_poll_func
+#undef pa_signal_init
+#undef pa_signal_done
+#undef pa_signal_new
+#undef pa_signal_free
+#undef pa_signal_set_destroy
+#undef pa_get_user_name
+#undef pa_get_host_name
+#undef pa_get_fqdn
+#undef pa_get_home_dir
+#undef pa_get_binary_name
+#undef pa_path_get_filename
+#undef pa_msleep
+#undef pa_thread_make_realtime
+#undef pa_gettimeofday
+#undef pa_timeval_diff
+#undef pa_timeval_cmp
+#undef pa_timeval_age
+#undef pa_timeval_add
+#undef pa_timeval_sub
+#undef pa_timeval_store
+#undef pa_timeval_load
+#undef pa_rtclock_now
+const char* (*pa_get_library_version)( void);
+size_t (*pa_bytes_per_second)(const pa_sample_spec*);
+size_t (*pa_frame_size)(const pa_sample_spec*);
+size_t (*pa_sample_size)(const pa_sample_spec*);
+size_t (*pa_sample_size_of_format)( pa_sample_format_t);
+pa_usec_t (*pa_bytes_to_usec)( uint64_t,const pa_sample_spec*);
+size_t (*pa_usec_to_bytes)( pa_usec_t,const pa_sample_spec*);
+pa_sample_spec* (*pa_sample_spec_init)( pa_sample_spec*);
+int (*pa_sample_format_valid)( unsigned);
+int (*pa_sample_rate_valid)( uint32_t);
+int (*pa_channels_valid)( uint8_t);
+int (*pa_sample_spec_valid)(const pa_sample_spec*);
+int (*pa_sample_spec_equal)(const pa_sample_spec*,const pa_sample_spec*);
+const char* (*pa_sample_format_to_string)( pa_sample_format_t);
+pa_sample_format_t (*pa_parse_sample_format)(const char*);
+char* (*pa_sample_spec_snprint)( char*, size_t,const pa_sample_spec*);
+char* (*pa_bytes_snprint)( char*, size_t, unsigned);
+int (*pa_sample_format_is_le)( pa_sample_format_t);
+int (*pa_sample_format_is_be)( pa_sample_format_t);
+int (*pa_direction_valid)( pa_direction_t);
+const char* (*pa_direction_to_string)( pa_direction_t);
+void (*pa_mainloop_api_once)( pa_mainloop_api*, void*, void*);
+pa_proplist* (*pa_proplist_new)( void);
+void (*pa_proplist_free)( pa_proplist*);
+int (*pa_proplist_key_valid)(const char*);
+int (*pa_proplist_sets)( pa_proplist*,const char*,const char*);
+int (*pa_proplist_setp)( pa_proplist*,const char*);
+int (*pa_proplist_setf)( pa_proplist*,const char*,const char*,...);
+int (*pa_proplist_set)( pa_proplist*,const char*,const void*, size_t);
+const char* (*pa_proplist_gets)(const pa_proplist*,const char*);
+int (*pa_proplist_get)(const pa_proplist*,const char*,const void**, size_t*);
+void (*pa_proplist_update)( pa_proplist*, pa_update_mode_t,const pa_proplist*);
+int (*pa_proplist_unset)( pa_proplist*,const char*);
+int (*pa_proplist_unset_many)( pa_proplist*,const char* []);
+const char* (*pa_proplist_iterate)(const pa_proplist*, void**);
+char* (*pa_proplist_to_string)(const pa_proplist*);
+char* (*pa_proplist_to_string_sep)(const pa_proplist*,const char*);
+pa_proplist* (*pa_proplist_from_string)(const char*);
+int (*pa_proplist_contains)(const pa_proplist*,const char*);
+void (*pa_proplist_clear)( pa_proplist*);
+pa_proplist* (*pa_proplist_copy)(const pa_proplist*);
+unsigned (*pa_proplist_size)(const pa_proplist*);
+int (*pa_proplist_isempty)(const pa_proplist*);
+int (*pa_proplist_equal)(const pa_proplist*,const pa_proplist*);
+pa_channel_map* (*pa_channel_map_init)( pa_channel_map*);
+pa_channel_map* (*pa_channel_map_init_mono)( pa_channel_map*);
+pa_channel_map* (*pa_channel_map_init_stereo)( pa_channel_map*);
+pa_channel_map* (*pa_channel_map_init_auto)( pa_channel_map*, unsigned, pa_channel_map_def_t);
+pa_channel_map* (*pa_channel_map_init_extend)( pa_channel_map*, unsigned, pa_channel_map_def_t);
+const char* (*pa_channel_position_to_string)( pa_channel_position_t);
+pa_channel_position_t (*pa_channel_position_from_string)(const char*);
+const char* (*pa_channel_position_to_pretty_string)( pa_channel_position_t);
+char* (*pa_channel_map_snprint)( char*, size_t,const pa_channel_map*);
+pa_channel_map* (*pa_channel_map_parse)( pa_channel_map*,const char*);
+int (*pa_channel_map_equal)(const pa_channel_map*,const pa_channel_map*);
+int (*pa_channel_map_valid)(const pa_channel_map*);
+int (*pa_channel_map_compatible)(const pa_channel_map*,const pa_sample_spec*);
+int (*pa_channel_map_superset)(const pa_channel_map*,const pa_channel_map*);
+int (*pa_channel_map_can_balance)(const pa_channel_map*);
+int (*pa_channel_map_can_fade)(const pa_channel_map*);
+int (*pa_channel_map_can_lfe_balance)(const pa_channel_map*);
+const char* (*pa_channel_map_to_name)(const pa_channel_map*);
+const char* (*pa_channel_map_to_pretty_name)(const pa_channel_map*);
+int (*pa_channel_map_has_position)(const pa_channel_map*, pa_channel_position_t);
+pa_channel_position_mask_t (*pa_channel_map_mask)(const pa_channel_map*);
+const char* (*pa_encoding_to_string)( pa_encoding_t);
+pa_encoding_t (*pa_encoding_from_string)(const char*);
+pa_format_info* (*pa_format_info_new)( void);
+pa_format_info* (*pa_format_info_copy)(const pa_format_info*);
+void (*pa_format_info_free)( pa_format_info*);
+int (*pa_format_info_valid)(const pa_format_info*);
+int (*pa_format_info_is_pcm)(const pa_format_info*);
+int (*pa_format_info_is_compatible)(const pa_format_info*,const pa_format_info*);
+char* (*pa_format_info_snprint)( char*, size_t,const pa_format_info*);
+pa_format_info* (*pa_format_info_from_string)(const char*);
+pa_format_info* (*pa_format_info_from_sample_spec)(const pa_sample_spec*,const pa_channel_map*);
+int (*pa_format_info_to_sample_spec)(const pa_format_info*, pa_sample_spec*, pa_channel_map*);
+pa_prop_type_t (*pa_format_info_get_prop_type)(const pa_format_info*,const char*);
+int (*pa_format_info_get_prop_int)(const pa_format_info*,const char*, int*);
+int (*pa_format_info_get_prop_int_range)(const pa_format_info*,const char*, int*, int*);
+int (*pa_format_info_get_prop_int_array)(const pa_format_info*,const char*, int**, int*);
+int (*pa_format_info_get_prop_string)(const pa_format_info*,const char*, char**);
+int (*pa_format_info_get_prop_string_array)(const pa_format_info*,const char*, char***, int*);
+void (*pa_format_info_free_string_array)( char**, int);
+int (*pa_format_info_get_sample_format)(const pa_format_info*, pa_sample_format_t*);
+int (*pa_format_info_get_rate)(const pa_format_info*, uint32_t*);
+int (*pa_format_info_get_channels)(const pa_format_info*, uint8_t*);
+int (*pa_format_info_get_channel_map)(const pa_format_info*, pa_channel_map*);
+void (*pa_format_info_set_prop_int)( pa_format_info*,const char*, int);
+void (*pa_format_info_set_prop_int_array)( pa_format_info*,const char*,const int*, int);
+void (*pa_format_info_set_prop_int_range)( pa_format_info*,const char*, int, int);
+void (*pa_format_info_set_prop_string)( pa_format_info*,const char*,const char*);
+void (*pa_format_info_set_prop_string_array)( pa_format_info*,const char*,const char**, int);
+void (*pa_format_info_set_sample_format)( pa_format_info*, pa_sample_format_t);
+void (*pa_format_info_set_rate)( pa_format_info*, int);
+void (*pa_format_info_set_channels)( pa_format_info*, int);
+void (*pa_format_info_set_channel_map)( pa_format_info*,const pa_channel_map*);
+pa_operation* (*pa_operation_ref)( pa_operation*);
+void (*pa_operation_unref)( pa_operation*);
+void (*pa_operation_cancel)( pa_operation*);
+pa_operation_state_t (*pa_operation_get_state)(const pa_operation*);
+void (*pa_operation_set_state_callback)( pa_operation*, pa_operation_notify_cb_t, void*);
+pa_context* (*pa_context_new)( pa_mainloop_api*,const char*);
+pa_context* (*pa_context_new_with_proplist)( pa_mainloop_api*,const char*,const pa_proplist*);
+void (*pa_context_unref)( pa_context*);
+pa_context* (*pa_context_ref)( pa_context*);
+void (*pa_context_set_state_callback)( pa_context*, pa_context_notify_cb_t, void*);
+void (*pa_context_set_event_callback)( pa_context*, pa_context_event_cb_t, void*);
+int (*pa_context_errno)(const pa_context*);
+int (*pa_context_is_pending)(const pa_context*);
+pa_context_state_t (*pa_context_get_state)(const pa_context*);
+int (*pa_context_connect)( pa_context*,const char*, pa_context_flags_t,const pa_spawn_api*);
+void (*pa_context_disconnect)( pa_context*);
+pa_operation* (*pa_context_drain)( pa_context*, pa_context_notify_cb_t, void*);
+pa_operation* (*pa_context_exit_daemon)( pa_context*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_default_sink)( pa_context*,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_default_source)( pa_context*,const char*, pa_context_success_cb_t, void*);
+int (*pa_context_is_local)(const pa_context*);
+pa_operation* (*pa_context_set_name)( pa_context*,const char*, pa_context_success_cb_t, void*);
+const char* (*pa_context_get_server)(const pa_context*);
+uint32_t (*pa_context_get_protocol_version)(const pa_context*);
+uint32_t (*pa_context_get_server_protocol_version)(const pa_context*);
+pa_operation* (*pa_context_proplist_update)( pa_context*, pa_update_mode_t,const pa_proplist*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_proplist_remove)( pa_context*,const char* [], pa_context_success_cb_t, void*);
+uint32_t (*pa_context_get_index)(const pa_context*);
+pa_time_event* (*pa_context_rttime_new)(const pa_context*, pa_usec_t, pa_time_event_cb_t, void*);
+void (*pa_context_rttime_restart)(const pa_context*, pa_time_event*, pa_usec_t);
+size_t (*pa_context_get_tile_size)(const pa_context*,const pa_sample_spec*);
+int (*pa_context_load_cookie_from_file)( pa_context*,const char*);
+int (*pa_cvolume_equal)(const pa_cvolume*,const pa_cvolume*);
+pa_cvolume* (*pa_cvolume_init)( pa_cvolume*);
+pa_cvolume* (*pa_cvolume_set)( pa_cvolume*, unsigned, pa_volume_t);
+char* (*pa_cvolume_snprint)( char*, size_t,const pa_cvolume*);
+char* (*pa_sw_cvolume_snprint_dB)( char*, size_t,const pa_cvolume*);
+char* (*pa_cvolume_snprint_verbose)( char*, size_t,const pa_cvolume*,const pa_channel_map*, int);
+char* (*pa_volume_snprint)( char*, size_t, pa_volume_t);
+char* (*pa_sw_volume_snprint_dB)( char*, size_t, pa_volume_t);
+char* (*pa_volume_snprint_verbose)( char*, size_t, pa_volume_t, int);
+pa_volume_t (*pa_cvolume_avg)(const pa_cvolume*);
+pa_volume_t (*pa_cvolume_avg_mask)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t);
+pa_volume_t (*pa_cvolume_max)(const pa_cvolume*);
+pa_volume_t (*pa_cvolume_max_mask)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t);
+pa_volume_t (*pa_cvolume_min)(const pa_cvolume*);
+pa_volume_t (*pa_cvolume_min_mask)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t);
+int (*pa_cvolume_valid)(const pa_cvolume*);
+int (*pa_cvolume_channels_equal_to)(const pa_cvolume*, pa_volume_t);
+pa_volume_t (*pa_sw_volume_multiply)( pa_volume_t, pa_volume_t);
+pa_cvolume* (*pa_sw_cvolume_multiply)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*);
+pa_cvolume* (*pa_sw_cvolume_multiply_scalar)( pa_cvolume*,const pa_cvolume*, pa_volume_t);
+pa_volume_t (*pa_sw_volume_divide)( pa_volume_t, pa_volume_t);
+pa_cvolume* (*pa_sw_cvolume_divide)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*);
+pa_cvolume* (*pa_sw_cvolume_divide_scalar)( pa_cvolume*,const pa_cvolume*, pa_volume_t);
+pa_volume_t (*pa_sw_volume_from_dB)( double);
+double (*pa_sw_volume_to_dB)( pa_volume_t);
+pa_volume_t (*pa_sw_volume_from_linear)( double);
+double (*pa_sw_volume_to_linear)( pa_volume_t);
+pa_cvolume* (*pa_cvolume_remap)( pa_cvolume*,const pa_channel_map*,const pa_channel_map*);
+int (*pa_cvolume_compatible)(const pa_cvolume*,const pa_sample_spec*);
+int (*pa_cvolume_compatible_with_channel_map)(const pa_cvolume*,const pa_channel_map*);
+float (*pa_cvolume_get_balance)(const pa_cvolume*,const pa_channel_map*);
+pa_cvolume* (*pa_cvolume_set_balance)( pa_cvolume*,const pa_channel_map*, float);
+float (*pa_cvolume_get_fade)(const pa_cvolume*,const pa_channel_map*);
+pa_cvolume* (*pa_cvolume_set_fade)( pa_cvolume*,const pa_channel_map*, float);
+float (*pa_cvolume_get_lfe_balance)(const pa_cvolume*,const pa_channel_map*);
+pa_cvolume* (*pa_cvolume_set_lfe_balance)( pa_cvolume*,const pa_channel_map*, float);
+pa_cvolume* (*pa_cvolume_scale)( pa_cvolume*, pa_volume_t);
+pa_cvolume* (*pa_cvolume_scale_mask)( pa_cvolume*, pa_volume_t,const pa_channel_map*, pa_channel_position_mask_t);
+pa_cvolume* (*pa_cvolume_set_position)( pa_cvolume*,const pa_channel_map*, pa_channel_position_t, pa_volume_t);
+pa_volume_t (*pa_cvolume_get_position)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_t);
+pa_cvolume* (*pa_cvolume_merge)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*);
+pa_cvolume* (*pa_cvolume_inc_clamp)( pa_cvolume*, pa_volume_t, pa_volume_t);
+pa_cvolume* (*pa_cvolume_inc)( pa_cvolume*, pa_volume_t);
+pa_cvolume* (*pa_cvolume_dec)( pa_cvolume*, pa_volume_t);
+pa_stream* (*pa_stream_new)( pa_context*,const char*,const pa_sample_spec*,const pa_channel_map*);
+pa_stream* (*pa_stream_new_with_proplist)( pa_context*,const char*,const pa_sample_spec*,const pa_channel_map*, pa_proplist*);
+pa_stream* (*pa_stream_new_extended)( pa_context*,const char*, pa_format_info**, unsigned int, pa_proplist*);
+void (*pa_stream_unref)( pa_stream*);
+pa_stream* (*pa_stream_ref)( pa_stream*);
+pa_stream_state_t (*pa_stream_get_state)(const pa_stream*);
+pa_context* (*pa_stream_get_context)(const pa_stream*);
+uint32_t (*pa_stream_get_index)(const pa_stream*);
+uint32_t (*pa_stream_get_device_index)(const pa_stream*);
+const char* (*pa_stream_get_device_name)(const pa_stream*);
+int (*pa_stream_is_suspended)(const pa_stream*);
+int (*pa_stream_is_corked)(const pa_stream*);
+int (*pa_stream_connect_playback)( pa_stream*,const char*,const pa_buffer_attr*, pa_stream_flags_t,const pa_cvolume*, pa_stream*);
+int (*pa_stream_connect_record)( pa_stream*,const char*,const pa_buffer_attr*, pa_stream_flags_t);
+int (*pa_stream_disconnect)( pa_stream*);
+int (*pa_stream_begin_write)( pa_stream*, void**, size_t*);
+int (*pa_stream_cancel_write)( pa_stream*);
+int (*pa_stream_write)( pa_stream*,const void*, size_t, pa_free_cb_t, int64_t, pa_seek_mode_t);
+int (*pa_stream_write_ext_free)( pa_stream*,const void*, size_t, pa_free_cb_t, void*, int64_t, pa_seek_mode_t);
+int (*pa_stream_peek)( pa_stream*,const void**, size_t*);
+int (*pa_stream_drop)( pa_stream*);
+size_t (*pa_stream_writable_size)(const pa_stream*);
+size_t (*pa_stream_readable_size)(const pa_stream*);
+pa_operation* (*pa_stream_drain)( pa_stream*, pa_stream_success_cb_t, void*);
+pa_operation* (*pa_stream_update_timing_info)( pa_stream*, pa_stream_success_cb_t, void*);
+void (*pa_stream_set_state_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+void (*pa_stream_set_write_callback)( pa_stream*, pa_stream_request_cb_t, void*);
+void (*pa_stream_set_read_callback)( pa_stream*, pa_stream_request_cb_t, void*);
+void (*pa_stream_set_overflow_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+int64_t (*pa_stream_get_underflow_index)(const pa_stream*);
+void (*pa_stream_set_underflow_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+void (*pa_stream_set_started_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+void (*pa_stream_set_latency_update_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+void (*pa_stream_set_moved_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+void (*pa_stream_set_suspended_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+void (*pa_stream_set_event_callback)( pa_stream*, pa_stream_event_cb_t, void*);
+void (*pa_stream_set_buffer_attr_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+pa_operation* (*pa_stream_cork)( pa_stream*, int, pa_stream_success_cb_t, void*);
+pa_operation* (*pa_stream_flush)( pa_stream*, pa_stream_success_cb_t, void*);
+pa_operation* (*pa_stream_prebuf)( pa_stream*, pa_stream_success_cb_t, void*);
+pa_operation* (*pa_stream_trigger)( pa_stream*, pa_stream_success_cb_t, void*);
+pa_operation* (*pa_stream_set_name)( pa_stream*,const char*, pa_stream_success_cb_t, void*);
+int (*pa_stream_get_time)( pa_stream*, pa_usec_t*);
+int (*pa_stream_get_latency)( pa_stream*, pa_usec_t*, int*);
+const pa_timing_info* (*pa_stream_get_timing_info)( pa_stream*);
+const pa_sample_spec* (*pa_stream_get_sample_spec)( pa_stream*);
+const pa_channel_map* (*pa_stream_get_channel_map)( pa_stream*);
+const pa_format_info* (*pa_stream_get_format_info)(const pa_stream*);
+const pa_buffer_attr* (*pa_stream_get_buffer_attr)( pa_stream*);
+pa_operation* (*pa_stream_set_buffer_attr)( pa_stream*,const pa_buffer_attr*, pa_stream_success_cb_t, void*);
+pa_operation* (*pa_stream_update_sample_rate)( pa_stream*, uint32_t, pa_stream_success_cb_t, void*);
+pa_operation* (*pa_stream_proplist_update)( pa_stream*, pa_update_mode_t, pa_proplist*, pa_stream_success_cb_t, void*);
+pa_operation* (*pa_stream_proplist_remove)( pa_stream*,const char* [], pa_stream_success_cb_t, void*);
+int (*pa_stream_set_monitor_stream)( pa_stream*, uint32_t);
+uint32_t (*pa_stream_get_monitor_stream)(const pa_stream*);
+pa_operation* (*pa_context_get_sink_info_by_name)( pa_context*,const char*, pa_sink_info_cb_t, void*);
+pa_operation* (*pa_context_get_sink_info_by_index)( pa_context*, uint32_t, pa_sink_info_cb_t, void*);
+pa_operation* (*pa_context_get_sink_info_list)( pa_context*, pa_sink_info_cb_t, void*);
+pa_operation* (*pa_context_set_sink_volume_by_index)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_sink_volume_by_name)( pa_context*,const char*,const pa_cvolume*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_sink_mute_by_index)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_sink_mute_by_name)( pa_context*,const char*, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_suspend_sink_by_name)( pa_context*,const char*, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_suspend_sink_by_index)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_sink_port_by_index)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_sink_port_by_name)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_get_source_info_by_name)( pa_context*,const char*, pa_source_info_cb_t, void*);
+pa_operation* (*pa_context_get_source_info_by_index)( pa_context*, uint32_t, pa_source_info_cb_t, void*);
+pa_operation* (*pa_context_get_source_info_list)( pa_context*, pa_source_info_cb_t, void*);
+pa_operation* (*pa_context_set_source_volume_by_index)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_source_volume_by_name)( pa_context*,const char*,const pa_cvolume*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_source_mute_by_index)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_source_mute_by_name)( pa_context*,const char*, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_suspend_source_by_name)( pa_context*,const char*, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_suspend_source_by_index)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_source_port_by_index)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_source_port_by_name)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_get_server_info)( pa_context*, pa_server_info_cb_t, void*);
+pa_operation* (*pa_context_get_module_info)( pa_context*, uint32_t, pa_module_info_cb_t, void*);
+pa_operation* (*pa_context_get_module_info_list)( pa_context*, pa_module_info_cb_t, void*);
+pa_operation* (*pa_context_load_module)( pa_context*,const char*,const char*, pa_context_index_cb_t, void*);
+pa_operation* (*pa_context_unload_module)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_get_client_info)( pa_context*, uint32_t, pa_client_info_cb_t, void*);
+pa_operation* (*pa_context_get_client_info_list)( pa_context*, pa_client_info_cb_t, void*);
+pa_operation* (*pa_context_kill_client)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_get_card_info_by_index)( pa_context*, uint32_t, pa_card_info_cb_t, void*);
+pa_operation* (*pa_context_get_card_info_by_name)( pa_context*,const char*, pa_card_info_cb_t, void*);
+pa_operation* (*pa_context_get_card_info_list)( pa_context*, pa_card_info_cb_t, void*);
+pa_operation* (*pa_context_set_card_profile_by_index)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_card_profile_by_name)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_port_latency_offset)( pa_context*,const char*,const char*, int64_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_get_sink_input_info)( pa_context*, uint32_t, pa_sink_input_info_cb_t, void*);
+pa_operation* (*pa_context_get_sink_input_info_list)( pa_context*, pa_sink_input_info_cb_t, void*);
+pa_operation* (*pa_context_move_sink_input_by_name)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_move_sink_input_by_index)( pa_context*, uint32_t, uint32_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_sink_input_volume)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_sink_input_mute)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_kill_sink_input)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_get_source_output_info)( pa_context*, uint32_t, pa_source_output_info_cb_t, void*);
+pa_operation* (*pa_context_get_source_output_info_list)( pa_context*, pa_source_output_info_cb_t, void*);
+pa_operation* (*pa_context_move_source_output_by_name)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_move_source_output_by_index)( pa_context*, uint32_t, uint32_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_source_output_volume)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_set_source_output_mute)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_kill_source_output)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_stat)( pa_context*, pa_stat_info_cb_t, void*);
+pa_operation* (*pa_context_get_sample_info_by_name)( pa_context*,const char*, pa_sample_info_cb_t, void*);
+pa_operation* (*pa_context_get_sample_info_by_index)( pa_context*, uint32_t, pa_sample_info_cb_t, void*);
+pa_operation* (*pa_context_get_sample_info_list)( pa_context*, pa_sample_info_cb_t, void*);
+pa_operation* (*pa_context_get_autoload_info_by_name)( pa_context*,const char*, pa_autoload_type_t, pa_autoload_info_cb_t, void*);
+pa_operation* (*pa_context_get_autoload_info_by_index)( pa_context*, uint32_t, pa_autoload_info_cb_t, void*);
+pa_operation* (*pa_context_get_autoload_info_list)( pa_context*, pa_autoload_info_cb_t, void*);
+pa_operation* (*pa_context_add_autoload)( pa_context*,const char*, pa_autoload_type_t,const char*,const char*, pa_context_index_cb_t, void*);
+pa_operation* (*pa_context_remove_autoload_by_name)( pa_context*,const char*, pa_autoload_type_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_remove_autoload_by_index)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_subscribe)( pa_context*, pa_subscription_mask_t, pa_context_success_cb_t, void*);
+void (*pa_context_set_subscribe_callback)( pa_context*, pa_context_subscribe_cb_t, void*);
+int (*pa_stream_connect_upload)( pa_stream*, size_t);
+int (*pa_stream_finish_upload)( pa_stream*);
+pa_operation* (*pa_context_remove_sample)( pa_context*,const char*, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_play_sample)( pa_context*,const char*,const char*, pa_volume_t, pa_context_success_cb_t, void*);
+pa_operation* (*pa_context_play_sample_with_proplist)( pa_context*,const char*,const char*, pa_volume_t,const pa_proplist*, pa_context_play_sample_cb_t, void*);
+const char* (*pa_strerror)( int);
+void* (*pa_xmalloc)( size_t);
+void* (*pa_xmalloc0)( size_t);
+void* (*pa_xrealloc)( void*, size_t);
+void (*pa_xfree)( void*);
+char* (*pa_xstrdup)(const char*);
+char* (*pa_xstrndup)(const char*, size_t);
+void* (*pa_xmemdup)(const void*, size_t);
+char* (*pa_utf8_valid)(const char*);
+char* (*pa_ascii_valid)(const char*);
+char* (*pa_utf8_filter)(const char*);
+char* (*pa_ascii_filter)(const char*);
+char* (*pa_utf8_to_locale)(const char*);
+char* (*pa_locale_to_utf8)(const char*);
+pa_threaded_mainloop* (*pa_threaded_mainloop_new)( void);
+void (*pa_threaded_mainloop_free)( pa_threaded_mainloop*);
+int (*pa_threaded_mainloop_start)( pa_threaded_mainloop*);
+void (*pa_threaded_mainloop_stop)( pa_threaded_mainloop*);
+void (*pa_threaded_mainloop_lock)( pa_threaded_mainloop*);
+void (*pa_threaded_mainloop_unlock)( pa_threaded_mainloop*);
+void (*pa_threaded_mainloop_wait)( pa_threaded_mainloop*);
+void (*pa_threaded_mainloop_signal)( pa_threaded_mainloop*, int);
+void (*pa_threaded_mainloop_accept)( pa_threaded_mainloop*);
+int (*pa_threaded_mainloop_get_retval)(const pa_threaded_mainloop*);
+pa_mainloop_api* (*pa_threaded_mainloop_get_api)( pa_threaded_mainloop*);
+int (*pa_threaded_mainloop_in_thread)( pa_threaded_mainloop*);
+void (*pa_threaded_mainloop_set_name)( pa_threaded_mainloop*,const char*);
+void (*pa_threaded_mainloop_once_unlocked)( pa_threaded_mainloop*, void*, void*);
+pa_mainloop* (*pa_mainloop_new)( void);
+void (*pa_mainloop_free)( pa_mainloop*);
+int (*pa_mainloop_prepare)( pa_mainloop*, int);
+int (*pa_mainloop_poll)( pa_mainloop*);
+int (*pa_mainloop_dispatch)( pa_mainloop*);
+int (*pa_mainloop_get_retval)(const pa_mainloop*);
+int (*pa_mainloop_iterate)( pa_mainloop*, int, int*);
+int (*pa_mainloop_run)( pa_mainloop*, int*);
+pa_mainloop_api* (*pa_mainloop_get_api)( pa_mainloop*);
+void (*pa_mainloop_quit)( pa_mainloop*, int);
+void (*pa_mainloop_wakeup)( pa_mainloop*);
+void (*pa_mainloop_set_poll_func)( pa_mainloop*, pa_poll_func, void*);
+int (*pa_signal_init)( pa_mainloop_api*);
+void (*pa_signal_done)( void);
+pa_signal_event* (*pa_signal_new)( int, pa_signal_cb_t, void*);
+void (*pa_signal_free)( pa_signal_event*);
+void (*pa_signal_set_destroy)( pa_signal_event*, pa_signal_destroy_cb_t);
+char* (*pa_get_user_name)( char*, size_t);
+char* (*pa_get_host_name)( char*, size_t);
+char* (*pa_get_fqdn)( char*, size_t);
+char* (*pa_get_home_dir)( char*, size_t);
+char* (*pa_get_binary_name)( char*, size_t);
+char* (*pa_path_get_filename)(const char*);
+int (*pa_msleep)( unsigned long);
+int (*pa_thread_make_realtime)( int);
+struct timeval* (*pa_gettimeofday)(struct timeval*);
+pa_usec_t (*pa_timeval_diff)(struct timeval*,struct timeval*);
+int (*pa_timeval_cmp)(struct timeval*,struct timeval*);
+pa_usec_t (*pa_timeval_age)(struct timeval*);
+struct timeval* (*pa_timeval_add)(struct timeval*, pa_usec_t);
+struct timeval* (*pa_timeval_sub)(struct timeval*, pa_usec_t);
+struct timeval* (*pa_timeval_store)(struct timeval*, pa_usec_t);
+pa_usec_t (*pa_timeval_load)(struct timeval*);
+pa_usec_t (*pa_rtclock_now)( void);int initialize_pulse() {
+ void *handle;
+ char *error;
+ handle = dlopen("libpulse.so.0", RTLD_NOW | RTLD_DEEPBIND);
+ if (!handle) {
+ fprintf(stderr, "%s\n", dlerror());
+ return(1);
+ }
+ dlerror();
+// pa_get_library_version
+ *(void **) (&pa_get_library_version) = dlsym(handle, "pa_get_library_version");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_bytes_per_second
+ *(void **) (&pa_bytes_per_second) = dlsym(handle, "pa_bytes_per_second");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_frame_size
+ *(void **) (&pa_frame_size) = dlsym(handle, "pa_frame_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_size
+ *(void **) (&pa_sample_size) = dlsym(handle, "pa_sample_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_size_of_format
+ *(void **) (&pa_sample_size_of_format) = dlsym(handle, "pa_sample_size_of_format");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_bytes_to_usec
+ *(void **) (&pa_bytes_to_usec) = dlsym(handle, "pa_bytes_to_usec");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_usec_to_bytes
+ *(void **) (&pa_usec_to_bytes) = dlsym(handle, "pa_usec_to_bytes");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_spec_init
+ *(void **) (&pa_sample_spec_init) = dlsym(handle, "pa_sample_spec_init");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_format_valid
+ *(void **) (&pa_sample_format_valid) = dlsym(handle, "pa_sample_format_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_rate_valid
+ *(void **) (&pa_sample_rate_valid) = dlsym(handle, "pa_sample_rate_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channels_valid
+ *(void **) (&pa_channels_valid) = dlsym(handle, "pa_channels_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_spec_valid
+ *(void **) (&pa_sample_spec_valid) = dlsym(handle, "pa_sample_spec_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_spec_equal
+ *(void **) (&pa_sample_spec_equal) = dlsym(handle, "pa_sample_spec_equal");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_format_to_string
+ *(void **) (&pa_sample_format_to_string) = dlsym(handle, "pa_sample_format_to_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_parse_sample_format
+ *(void **) (&pa_parse_sample_format) = dlsym(handle, "pa_parse_sample_format");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_spec_snprint
+ *(void **) (&pa_sample_spec_snprint) = dlsym(handle, "pa_sample_spec_snprint");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_bytes_snprint
+ *(void **) (&pa_bytes_snprint) = dlsym(handle, "pa_bytes_snprint");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_format_is_le
+ *(void **) (&pa_sample_format_is_le) = dlsym(handle, "pa_sample_format_is_le");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sample_format_is_be
+ *(void **) (&pa_sample_format_is_be) = dlsym(handle, "pa_sample_format_is_be");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_direction_valid
+ *(void **) (&pa_direction_valid) = dlsym(handle, "pa_direction_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_direction_to_string
+ *(void **) (&pa_direction_to_string) = dlsym(handle, "pa_direction_to_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_api_once
+ *(void **) (&pa_mainloop_api_once) = dlsym(handle, "pa_mainloop_api_once");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_new
+ *(void **) (&pa_proplist_new) = dlsym(handle, "pa_proplist_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_free
+ *(void **) (&pa_proplist_free) = dlsym(handle, "pa_proplist_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_key_valid
+ *(void **) (&pa_proplist_key_valid) = dlsym(handle, "pa_proplist_key_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_sets
+ *(void **) (&pa_proplist_sets) = dlsym(handle, "pa_proplist_sets");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_setp
+ *(void **) (&pa_proplist_setp) = dlsym(handle, "pa_proplist_setp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_setf
+ *(void **) (&pa_proplist_setf) = dlsym(handle, "pa_proplist_setf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_set
+ *(void **) (&pa_proplist_set) = dlsym(handle, "pa_proplist_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_gets
+ *(void **) (&pa_proplist_gets) = dlsym(handle, "pa_proplist_gets");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_get
+ *(void **) (&pa_proplist_get) = dlsym(handle, "pa_proplist_get");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_update
+ *(void **) (&pa_proplist_update) = dlsym(handle, "pa_proplist_update");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_unset
+ *(void **) (&pa_proplist_unset) = dlsym(handle, "pa_proplist_unset");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_unset_many
+ *(void **) (&pa_proplist_unset_many) = dlsym(handle, "pa_proplist_unset_many");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_iterate
+ *(void **) (&pa_proplist_iterate) = dlsym(handle, "pa_proplist_iterate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_to_string
+ *(void **) (&pa_proplist_to_string) = dlsym(handle, "pa_proplist_to_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_to_string_sep
+ *(void **) (&pa_proplist_to_string_sep) = dlsym(handle, "pa_proplist_to_string_sep");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_from_string
+ *(void **) (&pa_proplist_from_string) = dlsym(handle, "pa_proplist_from_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_contains
+ *(void **) (&pa_proplist_contains) = dlsym(handle, "pa_proplist_contains");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_clear
+ *(void **) (&pa_proplist_clear) = dlsym(handle, "pa_proplist_clear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_copy
+ *(void **) (&pa_proplist_copy) = dlsym(handle, "pa_proplist_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_size
+ *(void **) (&pa_proplist_size) = dlsym(handle, "pa_proplist_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_isempty
+ *(void **) (&pa_proplist_isempty) = dlsym(handle, "pa_proplist_isempty");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_proplist_equal
+ *(void **) (&pa_proplist_equal) = dlsym(handle, "pa_proplist_equal");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_init
+ *(void **) (&pa_channel_map_init) = dlsym(handle, "pa_channel_map_init");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_init_mono
+ *(void **) (&pa_channel_map_init_mono) = dlsym(handle, "pa_channel_map_init_mono");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_init_stereo
+ *(void **) (&pa_channel_map_init_stereo) = dlsym(handle, "pa_channel_map_init_stereo");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_init_auto
+ *(void **) (&pa_channel_map_init_auto) = dlsym(handle, "pa_channel_map_init_auto");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_init_extend
+ *(void **) (&pa_channel_map_init_extend) = dlsym(handle, "pa_channel_map_init_extend");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_position_to_string
+ *(void **) (&pa_channel_position_to_string) = dlsym(handle, "pa_channel_position_to_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_position_from_string
+ *(void **) (&pa_channel_position_from_string) = dlsym(handle, "pa_channel_position_from_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_position_to_pretty_string
+ *(void **) (&pa_channel_position_to_pretty_string) = dlsym(handle, "pa_channel_position_to_pretty_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_snprint
+ *(void **) (&pa_channel_map_snprint) = dlsym(handle, "pa_channel_map_snprint");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_parse
+ *(void **) (&pa_channel_map_parse) = dlsym(handle, "pa_channel_map_parse");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_equal
+ *(void **) (&pa_channel_map_equal) = dlsym(handle, "pa_channel_map_equal");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_valid
+ *(void **) (&pa_channel_map_valid) = dlsym(handle, "pa_channel_map_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_compatible
+ *(void **) (&pa_channel_map_compatible) = dlsym(handle, "pa_channel_map_compatible");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_superset
+ *(void **) (&pa_channel_map_superset) = dlsym(handle, "pa_channel_map_superset");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_can_balance
+ *(void **) (&pa_channel_map_can_balance) = dlsym(handle, "pa_channel_map_can_balance");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_can_fade
+ *(void **) (&pa_channel_map_can_fade) = dlsym(handle, "pa_channel_map_can_fade");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_can_lfe_balance
+ *(void **) (&pa_channel_map_can_lfe_balance) = dlsym(handle, "pa_channel_map_can_lfe_balance");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_to_name
+ *(void **) (&pa_channel_map_to_name) = dlsym(handle, "pa_channel_map_to_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_to_pretty_name
+ *(void **) (&pa_channel_map_to_pretty_name) = dlsym(handle, "pa_channel_map_to_pretty_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_has_position
+ *(void **) (&pa_channel_map_has_position) = dlsym(handle, "pa_channel_map_has_position");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_channel_map_mask
+ *(void **) (&pa_channel_map_mask) = dlsym(handle, "pa_channel_map_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_encoding_to_string
+ *(void **) (&pa_encoding_to_string) = dlsym(handle, "pa_encoding_to_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_encoding_from_string
+ *(void **) (&pa_encoding_from_string) = dlsym(handle, "pa_encoding_from_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_new
+ *(void **) (&pa_format_info_new) = dlsym(handle, "pa_format_info_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_copy
+ *(void **) (&pa_format_info_copy) = dlsym(handle, "pa_format_info_copy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_free
+ *(void **) (&pa_format_info_free) = dlsym(handle, "pa_format_info_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_valid
+ *(void **) (&pa_format_info_valid) = dlsym(handle, "pa_format_info_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_is_pcm
+ *(void **) (&pa_format_info_is_pcm) = dlsym(handle, "pa_format_info_is_pcm");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_is_compatible
+ *(void **) (&pa_format_info_is_compatible) = dlsym(handle, "pa_format_info_is_compatible");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_snprint
+ *(void **) (&pa_format_info_snprint) = dlsym(handle, "pa_format_info_snprint");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_from_string
+ *(void **) (&pa_format_info_from_string) = dlsym(handle, "pa_format_info_from_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_from_sample_spec
+ *(void **) (&pa_format_info_from_sample_spec) = dlsym(handle, "pa_format_info_from_sample_spec");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_to_sample_spec
+ *(void **) (&pa_format_info_to_sample_spec) = dlsym(handle, "pa_format_info_to_sample_spec");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_prop_type
+ *(void **) (&pa_format_info_get_prop_type) = dlsym(handle, "pa_format_info_get_prop_type");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_prop_int
+ *(void **) (&pa_format_info_get_prop_int) = dlsym(handle, "pa_format_info_get_prop_int");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_prop_int_range
+ *(void **) (&pa_format_info_get_prop_int_range) = dlsym(handle, "pa_format_info_get_prop_int_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_prop_int_array
+ *(void **) (&pa_format_info_get_prop_int_array) = dlsym(handle, "pa_format_info_get_prop_int_array");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_prop_string
+ *(void **) (&pa_format_info_get_prop_string) = dlsym(handle, "pa_format_info_get_prop_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_prop_string_array
+ *(void **) (&pa_format_info_get_prop_string_array) = dlsym(handle, "pa_format_info_get_prop_string_array");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_free_string_array
+ *(void **) (&pa_format_info_free_string_array) = dlsym(handle, "pa_format_info_free_string_array");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_sample_format
+ *(void **) (&pa_format_info_get_sample_format) = dlsym(handle, "pa_format_info_get_sample_format");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_rate
+ *(void **) (&pa_format_info_get_rate) = dlsym(handle, "pa_format_info_get_rate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_channels
+ *(void **) (&pa_format_info_get_channels) = dlsym(handle, "pa_format_info_get_channels");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_get_channel_map
+ *(void **) (&pa_format_info_get_channel_map) = dlsym(handle, "pa_format_info_get_channel_map");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_set_prop_int
+ *(void **) (&pa_format_info_set_prop_int) = dlsym(handle, "pa_format_info_set_prop_int");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_set_prop_int_array
+ *(void **) (&pa_format_info_set_prop_int_array) = dlsym(handle, "pa_format_info_set_prop_int_array");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_set_prop_int_range
+ *(void **) (&pa_format_info_set_prop_int_range) = dlsym(handle, "pa_format_info_set_prop_int_range");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_set_prop_string
+ *(void **) (&pa_format_info_set_prop_string) = dlsym(handle, "pa_format_info_set_prop_string");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_set_prop_string_array
+ *(void **) (&pa_format_info_set_prop_string_array) = dlsym(handle, "pa_format_info_set_prop_string_array");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_set_sample_format
+ *(void **) (&pa_format_info_set_sample_format) = dlsym(handle, "pa_format_info_set_sample_format");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_set_rate
+ *(void **) (&pa_format_info_set_rate) = dlsym(handle, "pa_format_info_set_rate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_set_channels
+ *(void **) (&pa_format_info_set_channels) = dlsym(handle, "pa_format_info_set_channels");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_format_info_set_channel_map
+ *(void **) (&pa_format_info_set_channel_map) = dlsym(handle, "pa_format_info_set_channel_map");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_operation_ref
+ *(void **) (&pa_operation_ref) = dlsym(handle, "pa_operation_ref");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_operation_unref
+ *(void **) (&pa_operation_unref) = dlsym(handle, "pa_operation_unref");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_operation_cancel
+ *(void **) (&pa_operation_cancel) = dlsym(handle, "pa_operation_cancel");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_operation_get_state
+ *(void **) (&pa_operation_get_state) = dlsym(handle, "pa_operation_get_state");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_operation_set_state_callback
+ *(void **) (&pa_operation_set_state_callback) = dlsym(handle, "pa_operation_set_state_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_new
+ *(void **) (&pa_context_new) = dlsym(handle, "pa_context_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_new_with_proplist
+ *(void **) (&pa_context_new_with_proplist) = dlsym(handle, "pa_context_new_with_proplist");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_unref
+ *(void **) (&pa_context_unref) = dlsym(handle, "pa_context_unref");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_ref
+ *(void **) (&pa_context_ref) = dlsym(handle, "pa_context_ref");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_state_callback
+ *(void **) (&pa_context_set_state_callback) = dlsym(handle, "pa_context_set_state_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_event_callback
+ *(void **) (&pa_context_set_event_callback) = dlsym(handle, "pa_context_set_event_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_errno
+ *(void **) (&pa_context_errno) = dlsym(handle, "pa_context_errno");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_is_pending
+ *(void **) (&pa_context_is_pending) = dlsym(handle, "pa_context_is_pending");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_state
+ *(void **) (&pa_context_get_state) = dlsym(handle, "pa_context_get_state");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_connect
+ *(void **) (&pa_context_connect) = dlsym(handle, "pa_context_connect");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_disconnect
+ *(void **) (&pa_context_disconnect) = dlsym(handle, "pa_context_disconnect");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_drain
+ *(void **) (&pa_context_drain) = dlsym(handle, "pa_context_drain");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_exit_daemon
+ *(void **) (&pa_context_exit_daemon) = dlsym(handle, "pa_context_exit_daemon");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_default_sink
+ *(void **) (&pa_context_set_default_sink) = dlsym(handle, "pa_context_set_default_sink");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_default_source
+ *(void **) (&pa_context_set_default_source) = dlsym(handle, "pa_context_set_default_source");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_is_local
+ *(void **) (&pa_context_is_local) = dlsym(handle, "pa_context_is_local");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_name
+ *(void **) (&pa_context_set_name) = dlsym(handle, "pa_context_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_server
+ *(void **) (&pa_context_get_server) = dlsym(handle, "pa_context_get_server");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_protocol_version
+ *(void **) (&pa_context_get_protocol_version) = dlsym(handle, "pa_context_get_protocol_version");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_server_protocol_version
+ *(void **) (&pa_context_get_server_protocol_version) = dlsym(handle, "pa_context_get_server_protocol_version");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_proplist_update
+ *(void **) (&pa_context_proplist_update) = dlsym(handle, "pa_context_proplist_update");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_proplist_remove
+ *(void **) (&pa_context_proplist_remove) = dlsym(handle, "pa_context_proplist_remove");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_index
+ *(void **) (&pa_context_get_index) = dlsym(handle, "pa_context_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_rttime_new
+ *(void **) (&pa_context_rttime_new) = dlsym(handle, "pa_context_rttime_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_rttime_restart
+ *(void **) (&pa_context_rttime_restart) = dlsym(handle, "pa_context_rttime_restart");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_tile_size
+ *(void **) (&pa_context_get_tile_size) = dlsym(handle, "pa_context_get_tile_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_load_cookie_from_file
+ *(void **) (&pa_context_load_cookie_from_file) = dlsym(handle, "pa_context_load_cookie_from_file");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_equal
+ *(void **) (&pa_cvolume_equal) = dlsym(handle, "pa_cvolume_equal");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_init
+ *(void **) (&pa_cvolume_init) = dlsym(handle, "pa_cvolume_init");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_set
+ *(void **) (&pa_cvolume_set) = dlsym(handle, "pa_cvolume_set");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_snprint
+ *(void **) (&pa_cvolume_snprint) = dlsym(handle, "pa_cvolume_snprint");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_cvolume_snprint_dB
+ *(void **) (&pa_sw_cvolume_snprint_dB) = dlsym(handle, "pa_sw_cvolume_snprint_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_snprint_verbose
+ *(void **) (&pa_cvolume_snprint_verbose) = dlsym(handle, "pa_cvolume_snprint_verbose");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_volume_snprint
+ *(void **) (&pa_volume_snprint) = dlsym(handle, "pa_volume_snprint");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_volume_snprint_dB
+ *(void **) (&pa_sw_volume_snprint_dB) = dlsym(handle, "pa_sw_volume_snprint_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_volume_snprint_verbose
+ *(void **) (&pa_volume_snprint_verbose) = dlsym(handle, "pa_volume_snprint_verbose");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_avg
+ *(void **) (&pa_cvolume_avg) = dlsym(handle, "pa_cvolume_avg");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_avg_mask
+ *(void **) (&pa_cvolume_avg_mask) = dlsym(handle, "pa_cvolume_avg_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_max
+ *(void **) (&pa_cvolume_max) = dlsym(handle, "pa_cvolume_max");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_max_mask
+ *(void **) (&pa_cvolume_max_mask) = dlsym(handle, "pa_cvolume_max_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_min
+ *(void **) (&pa_cvolume_min) = dlsym(handle, "pa_cvolume_min");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_min_mask
+ *(void **) (&pa_cvolume_min_mask) = dlsym(handle, "pa_cvolume_min_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_valid
+ *(void **) (&pa_cvolume_valid) = dlsym(handle, "pa_cvolume_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_channels_equal_to
+ *(void **) (&pa_cvolume_channels_equal_to) = dlsym(handle, "pa_cvolume_channels_equal_to");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_volume_multiply
+ *(void **) (&pa_sw_volume_multiply) = dlsym(handle, "pa_sw_volume_multiply");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_cvolume_multiply
+ *(void **) (&pa_sw_cvolume_multiply) = dlsym(handle, "pa_sw_cvolume_multiply");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_cvolume_multiply_scalar
+ *(void **) (&pa_sw_cvolume_multiply_scalar) = dlsym(handle, "pa_sw_cvolume_multiply_scalar");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_volume_divide
+ *(void **) (&pa_sw_volume_divide) = dlsym(handle, "pa_sw_volume_divide");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_cvolume_divide
+ *(void **) (&pa_sw_cvolume_divide) = dlsym(handle, "pa_sw_cvolume_divide");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_cvolume_divide_scalar
+ *(void **) (&pa_sw_cvolume_divide_scalar) = dlsym(handle, "pa_sw_cvolume_divide_scalar");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_volume_from_dB
+ *(void **) (&pa_sw_volume_from_dB) = dlsym(handle, "pa_sw_volume_from_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_volume_to_dB
+ *(void **) (&pa_sw_volume_to_dB) = dlsym(handle, "pa_sw_volume_to_dB");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_volume_from_linear
+ *(void **) (&pa_sw_volume_from_linear) = dlsym(handle, "pa_sw_volume_from_linear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_sw_volume_to_linear
+ *(void **) (&pa_sw_volume_to_linear) = dlsym(handle, "pa_sw_volume_to_linear");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_remap
+ *(void **) (&pa_cvolume_remap) = dlsym(handle, "pa_cvolume_remap");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_compatible
+ *(void **) (&pa_cvolume_compatible) = dlsym(handle, "pa_cvolume_compatible");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_compatible_with_channel_map
+ *(void **) (&pa_cvolume_compatible_with_channel_map) = dlsym(handle, "pa_cvolume_compatible_with_channel_map");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_get_balance
+ *(void **) (&pa_cvolume_get_balance) = dlsym(handle, "pa_cvolume_get_balance");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_set_balance
+ *(void **) (&pa_cvolume_set_balance) = dlsym(handle, "pa_cvolume_set_balance");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_get_fade
+ *(void **) (&pa_cvolume_get_fade) = dlsym(handle, "pa_cvolume_get_fade");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_set_fade
+ *(void **) (&pa_cvolume_set_fade) = dlsym(handle, "pa_cvolume_set_fade");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_get_lfe_balance
+ *(void **) (&pa_cvolume_get_lfe_balance) = dlsym(handle, "pa_cvolume_get_lfe_balance");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_set_lfe_balance
+ *(void **) (&pa_cvolume_set_lfe_balance) = dlsym(handle, "pa_cvolume_set_lfe_balance");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_scale
+ *(void **) (&pa_cvolume_scale) = dlsym(handle, "pa_cvolume_scale");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_scale_mask
+ *(void **) (&pa_cvolume_scale_mask) = dlsym(handle, "pa_cvolume_scale_mask");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_set_position
+ *(void **) (&pa_cvolume_set_position) = dlsym(handle, "pa_cvolume_set_position");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_get_position
+ *(void **) (&pa_cvolume_get_position) = dlsym(handle, "pa_cvolume_get_position");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_merge
+ *(void **) (&pa_cvolume_merge) = dlsym(handle, "pa_cvolume_merge");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_inc_clamp
+ *(void **) (&pa_cvolume_inc_clamp) = dlsym(handle, "pa_cvolume_inc_clamp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_inc
+ *(void **) (&pa_cvolume_inc) = dlsym(handle, "pa_cvolume_inc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_cvolume_dec
+ *(void **) (&pa_cvolume_dec) = dlsym(handle, "pa_cvolume_dec");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_new
+ *(void **) (&pa_stream_new) = dlsym(handle, "pa_stream_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_new_with_proplist
+ *(void **) (&pa_stream_new_with_proplist) = dlsym(handle, "pa_stream_new_with_proplist");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_new_extended
+ *(void **) (&pa_stream_new_extended) = dlsym(handle, "pa_stream_new_extended");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_unref
+ *(void **) (&pa_stream_unref) = dlsym(handle, "pa_stream_unref");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_ref
+ *(void **) (&pa_stream_ref) = dlsym(handle, "pa_stream_ref");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_state
+ *(void **) (&pa_stream_get_state) = dlsym(handle, "pa_stream_get_state");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_context
+ *(void **) (&pa_stream_get_context) = dlsym(handle, "pa_stream_get_context");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_index
+ *(void **) (&pa_stream_get_index) = dlsym(handle, "pa_stream_get_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_device_index
+ *(void **) (&pa_stream_get_device_index) = dlsym(handle, "pa_stream_get_device_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_device_name
+ *(void **) (&pa_stream_get_device_name) = dlsym(handle, "pa_stream_get_device_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_is_suspended
+ *(void **) (&pa_stream_is_suspended) = dlsym(handle, "pa_stream_is_suspended");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_is_corked
+ *(void **) (&pa_stream_is_corked) = dlsym(handle, "pa_stream_is_corked");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_connect_playback
+ *(void **) (&pa_stream_connect_playback) = dlsym(handle, "pa_stream_connect_playback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_connect_record
+ *(void **) (&pa_stream_connect_record) = dlsym(handle, "pa_stream_connect_record");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_disconnect
+ *(void **) (&pa_stream_disconnect) = dlsym(handle, "pa_stream_disconnect");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_begin_write
+ *(void **) (&pa_stream_begin_write) = dlsym(handle, "pa_stream_begin_write");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_cancel_write
+ *(void **) (&pa_stream_cancel_write) = dlsym(handle, "pa_stream_cancel_write");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_write
+ *(void **) (&pa_stream_write) = dlsym(handle, "pa_stream_write");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_write_ext_free
+ *(void **) (&pa_stream_write_ext_free) = dlsym(handle, "pa_stream_write_ext_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_peek
+ *(void **) (&pa_stream_peek) = dlsym(handle, "pa_stream_peek");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_drop
+ *(void **) (&pa_stream_drop) = dlsym(handle, "pa_stream_drop");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_writable_size
+ *(void **) (&pa_stream_writable_size) = dlsym(handle, "pa_stream_writable_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_readable_size
+ *(void **) (&pa_stream_readable_size) = dlsym(handle, "pa_stream_readable_size");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_drain
+ *(void **) (&pa_stream_drain) = dlsym(handle, "pa_stream_drain");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_update_timing_info
+ *(void **) (&pa_stream_update_timing_info) = dlsym(handle, "pa_stream_update_timing_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_state_callback
+ *(void **) (&pa_stream_set_state_callback) = dlsym(handle, "pa_stream_set_state_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_write_callback
+ *(void **) (&pa_stream_set_write_callback) = dlsym(handle, "pa_stream_set_write_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_read_callback
+ *(void **) (&pa_stream_set_read_callback) = dlsym(handle, "pa_stream_set_read_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_overflow_callback
+ *(void **) (&pa_stream_set_overflow_callback) = dlsym(handle, "pa_stream_set_overflow_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_underflow_index
+ *(void **) (&pa_stream_get_underflow_index) = dlsym(handle, "pa_stream_get_underflow_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_underflow_callback
+ *(void **) (&pa_stream_set_underflow_callback) = dlsym(handle, "pa_stream_set_underflow_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_started_callback
+ *(void **) (&pa_stream_set_started_callback) = dlsym(handle, "pa_stream_set_started_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_latency_update_callback
+ *(void **) (&pa_stream_set_latency_update_callback) = dlsym(handle, "pa_stream_set_latency_update_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_moved_callback
+ *(void **) (&pa_stream_set_moved_callback) = dlsym(handle, "pa_stream_set_moved_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_suspended_callback
+ *(void **) (&pa_stream_set_suspended_callback) = dlsym(handle, "pa_stream_set_suspended_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_event_callback
+ *(void **) (&pa_stream_set_event_callback) = dlsym(handle, "pa_stream_set_event_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_buffer_attr_callback
+ *(void **) (&pa_stream_set_buffer_attr_callback) = dlsym(handle, "pa_stream_set_buffer_attr_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_cork
+ *(void **) (&pa_stream_cork) = dlsym(handle, "pa_stream_cork");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_flush
+ *(void **) (&pa_stream_flush) = dlsym(handle, "pa_stream_flush");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_prebuf
+ *(void **) (&pa_stream_prebuf) = dlsym(handle, "pa_stream_prebuf");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_trigger
+ *(void **) (&pa_stream_trigger) = dlsym(handle, "pa_stream_trigger");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_name
+ *(void **) (&pa_stream_set_name) = dlsym(handle, "pa_stream_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_time
+ *(void **) (&pa_stream_get_time) = dlsym(handle, "pa_stream_get_time");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_latency
+ *(void **) (&pa_stream_get_latency) = dlsym(handle, "pa_stream_get_latency");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_timing_info
+ *(void **) (&pa_stream_get_timing_info) = dlsym(handle, "pa_stream_get_timing_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_sample_spec
+ *(void **) (&pa_stream_get_sample_spec) = dlsym(handle, "pa_stream_get_sample_spec");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_channel_map
+ *(void **) (&pa_stream_get_channel_map) = dlsym(handle, "pa_stream_get_channel_map");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_format_info
+ *(void **) (&pa_stream_get_format_info) = dlsym(handle, "pa_stream_get_format_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_buffer_attr
+ *(void **) (&pa_stream_get_buffer_attr) = dlsym(handle, "pa_stream_get_buffer_attr");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_buffer_attr
+ *(void **) (&pa_stream_set_buffer_attr) = dlsym(handle, "pa_stream_set_buffer_attr");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_update_sample_rate
+ *(void **) (&pa_stream_update_sample_rate) = dlsym(handle, "pa_stream_update_sample_rate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_proplist_update
+ *(void **) (&pa_stream_proplist_update) = dlsym(handle, "pa_stream_proplist_update");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_proplist_remove
+ *(void **) (&pa_stream_proplist_remove) = dlsym(handle, "pa_stream_proplist_remove");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_set_monitor_stream
+ *(void **) (&pa_stream_set_monitor_stream) = dlsym(handle, "pa_stream_set_monitor_stream");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_get_monitor_stream
+ *(void **) (&pa_stream_get_monitor_stream) = dlsym(handle, "pa_stream_get_monitor_stream");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_sink_info_by_name
+ *(void **) (&pa_context_get_sink_info_by_name) = dlsym(handle, "pa_context_get_sink_info_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_sink_info_by_index
+ *(void **) (&pa_context_get_sink_info_by_index) = dlsym(handle, "pa_context_get_sink_info_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_sink_info_list
+ *(void **) (&pa_context_get_sink_info_list) = dlsym(handle, "pa_context_get_sink_info_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_sink_volume_by_index
+ *(void **) (&pa_context_set_sink_volume_by_index) = dlsym(handle, "pa_context_set_sink_volume_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_sink_volume_by_name
+ *(void **) (&pa_context_set_sink_volume_by_name) = dlsym(handle, "pa_context_set_sink_volume_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_sink_mute_by_index
+ *(void **) (&pa_context_set_sink_mute_by_index) = dlsym(handle, "pa_context_set_sink_mute_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_sink_mute_by_name
+ *(void **) (&pa_context_set_sink_mute_by_name) = dlsym(handle, "pa_context_set_sink_mute_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_suspend_sink_by_name
+ *(void **) (&pa_context_suspend_sink_by_name) = dlsym(handle, "pa_context_suspend_sink_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_suspend_sink_by_index
+ *(void **) (&pa_context_suspend_sink_by_index) = dlsym(handle, "pa_context_suspend_sink_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_sink_port_by_index
+ *(void **) (&pa_context_set_sink_port_by_index) = dlsym(handle, "pa_context_set_sink_port_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_sink_port_by_name
+ *(void **) (&pa_context_set_sink_port_by_name) = dlsym(handle, "pa_context_set_sink_port_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_source_info_by_name
+ *(void **) (&pa_context_get_source_info_by_name) = dlsym(handle, "pa_context_get_source_info_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_source_info_by_index
+ *(void **) (&pa_context_get_source_info_by_index) = dlsym(handle, "pa_context_get_source_info_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_source_info_list
+ *(void **) (&pa_context_get_source_info_list) = dlsym(handle, "pa_context_get_source_info_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_source_volume_by_index
+ *(void **) (&pa_context_set_source_volume_by_index) = dlsym(handle, "pa_context_set_source_volume_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_source_volume_by_name
+ *(void **) (&pa_context_set_source_volume_by_name) = dlsym(handle, "pa_context_set_source_volume_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_source_mute_by_index
+ *(void **) (&pa_context_set_source_mute_by_index) = dlsym(handle, "pa_context_set_source_mute_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_source_mute_by_name
+ *(void **) (&pa_context_set_source_mute_by_name) = dlsym(handle, "pa_context_set_source_mute_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_suspend_source_by_name
+ *(void **) (&pa_context_suspend_source_by_name) = dlsym(handle, "pa_context_suspend_source_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_suspend_source_by_index
+ *(void **) (&pa_context_suspend_source_by_index) = dlsym(handle, "pa_context_suspend_source_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_source_port_by_index
+ *(void **) (&pa_context_set_source_port_by_index) = dlsym(handle, "pa_context_set_source_port_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_source_port_by_name
+ *(void **) (&pa_context_set_source_port_by_name) = dlsym(handle, "pa_context_set_source_port_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_server_info
+ *(void **) (&pa_context_get_server_info) = dlsym(handle, "pa_context_get_server_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_module_info
+ *(void **) (&pa_context_get_module_info) = dlsym(handle, "pa_context_get_module_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_module_info_list
+ *(void **) (&pa_context_get_module_info_list) = dlsym(handle, "pa_context_get_module_info_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_load_module
+ *(void **) (&pa_context_load_module) = dlsym(handle, "pa_context_load_module");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_unload_module
+ *(void **) (&pa_context_unload_module) = dlsym(handle, "pa_context_unload_module");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_client_info
+ *(void **) (&pa_context_get_client_info) = dlsym(handle, "pa_context_get_client_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_client_info_list
+ *(void **) (&pa_context_get_client_info_list) = dlsym(handle, "pa_context_get_client_info_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_kill_client
+ *(void **) (&pa_context_kill_client) = dlsym(handle, "pa_context_kill_client");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_card_info_by_index
+ *(void **) (&pa_context_get_card_info_by_index) = dlsym(handle, "pa_context_get_card_info_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_card_info_by_name
+ *(void **) (&pa_context_get_card_info_by_name) = dlsym(handle, "pa_context_get_card_info_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_card_info_list
+ *(void **) (&pa_context_get_card_info_list) = dlsym(handle, "pa_context_get_card_info_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_card_profile_by_index
+ *(void **) (&pa_context_set_card_profile_by_index) = dlsym(handle, "pa_context_set_card_profile_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_card_profile_by_name
+ *(void **) (&pa_context_set_card_profile_by_name) = dlsym(handle, "pa_context_set_card_profile_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_port_latency_offset
+ *(void **) (&pa_context_set_port_latency_offset) = dlsym(handle, "pa_context_set_port_latency_offset");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_sink_input_info
+ *(void **) (&pa_context_get_sink_input_info) = dlsym(handle, "pa_context_get_sink_input_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_sink_input_info_list
+ *(void **) (&pa_context_get_sink_input_info_list) = dlsym(handle, "pa_context_get_sink_input_info_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_move_sink_input_by_name
+ *(void **) (&pa_context_move_sink_input_by_name) = dlsym(handle, "pa_context_move_sink_input_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_move_sink_input_by_index
+ *(void **) (&pa_context_move_sink_input_by_index) = dlsym(handle, "pa_context_move_sink_input_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_sink_input_volume
+ *(void **) (&pa_context_set_sink_input_volume) = dlsym(handle, "pa_context_set_sink_input_volume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_sink_input_mute
+ *(void **) (&pa_context_set_sink_input_mute) = dlsym(handle, "pa_context_set_sink_input_mute");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_kill_sink_input
+ *(void **) (&pa_context_kill_sink_input) = dlsym(handle, "pa_context_kill_sink_input");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_source_output_info
+ *(void **) (&pa_context_get_source_output_info) = dlsym(handle, "pa_context_get_source_output_info");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_source_output_info_list
+ *(void **) (&pa_context_get_source_output_info_list) = dlsym(handle, "pa_context_get_source_output_info_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_move_source_output_by_name
+ *(void **) (&pa_context_move_source_output_by_name) = dlsym(handle, "pa_context_move_source_output_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_move_source_output_by_index
+ *(void **) (&pa_context_move_source_output_by_index) = dlsym(handle, "pa_context_move_source_output_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_source_output_volume
+ *(void **) (&pa_context_set_source_output_volume) = dlsym(handle, "pa_context_set_source_output_volume");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_source_output_mute
+ *(void **) (&pa_context_set_source_output_mute) = dlsym(handle, "pa_context_set_source_output_mute");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_kill_source_output
+ *(void **) (&pa_context_kill_source_output) = dlsym(handle, "pa_context_kill_source_output");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_stat
+ *(void **) (&pa_context_stat) = dlsym(handle, "pa_context_stat");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_sample_info_by_name
+ *(void **) (&pa_context_get_sample_info_by_name) = dlsym(handle, "pa_context_get_sample_info_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_sample_info_by_index
+ *(void **) (&pa_context_get_sample_info_by_index) = dlsym(handle, "pa_context_get_sample_info_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_sample_info_list
+ *(void **) (&pa_context_get_sample_info_list) = dlsym(handle, "pa_context_get_sample_info_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_autoload_info_by_name
+ *(void **) (&pa_context_get_autoload_info_by_name) = dlsym(handle, "pa_context_get_autoload_info_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_autoload_info_by_index
+ *(void **) (&pa_context_get_autoload_info_by_index) = dlsym(handle, "pa_context_get_autoload_info_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_get_autoload_info_list
+ *(void **) (&pa_context_get_autoload_info_list) = dlsym(handle, "pa_context_get_autoload_info_list");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_add_autoload
+ *(void **) (&pa_context_add_autoload) = dlsym(handle, "pa_context_add_autoload");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_remove_autoload_by_name
+ *(void **) (&pa_context_remove_autoload_by_name) = dlsym(handle, "pa_context_remove_autoload_by_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_remove_autoload_by_index
+ *(void **) (&pa_context_remove_autoload_by_index) = dlsym(handle, "pa_context_remove_autoload_by_index");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_subscribe
+ *(void **) (&pa_context_subscribe) = dlsym(handle, "pa_context_subscribe");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_set_subscribe_callback
+ *(void **) (&pa_context_set_subscribe_callback) = dlsym(handle, "pa_context_set_subscribe_callback");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_connect_upload
+ *(void **) (&pa_stream_connect_upload) = dlsym(handle, "pa_stream_connect_upload");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_stream_finish_upload
+ *(void **) (&pa_stream_finish_upload) = dlsym(handle, "pa_stream_finish_upload");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_remove_sample
+ *(void **) (&pa_context_remove_sample) = dlsym(handle, "pa_context_remove_sample");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_play_sample
+ *(void **) (&pa_context_play_sample) = dlsym(handle, "pa_context_play_sample");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_context_play_sample_with_proplist
+ *(void **) (&pa_context_play_sample_with_proplist) = dlsym(handle, "pa_context_play_sample_with_proplist");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_strerror
+ *(void **) (&pa_strerror) = dlsym(handle, "pa_strerror");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_xmalloc
+ *(void **) (&pa_xmalloc) = dlsym(handle, "pa_xmalloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_xmalloc0
+ *(void **) (&pa_xmalloc0) = dlsym(handle, "pa_xmalloc0");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_xrealloc
+ *(void **) (&pa_xrealloc) = dlsym(handle, "pa_xrealloc");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_xfree
+ *(void **) (&pa_xfree) = dlsym(handle, "pa_xfree");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_xstrdup
+ *(void **) (&pa_xstrdup) = dlsym(handle, "pa_xstrdup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_xstrndup
+ *(void **) (&pa_xstrndup) = dlsym(handle, "pa_xstrndup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_xmemdup
+ *(void **) (&pa_xmemdup) = dlsym(handle, "pa_xmemdup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_utf8_valid
+ *(void **) (&pa_utf8_valid) = dlsym(handle, "pa_utf8_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_ascii_valid
+ *(void **) (&pa_ascii_valid) = dlsym(handle, "pa_ascii_valid");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_utf8_filter
+ *(void **) (&pa_utf8_filter) = dlsym(handle, "pa_utf8_filter");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_ascii_filter
+ *(void **) (&pa_ascii_filter) = dlsym(handle, "pa_ascii_filter");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_utf8_to_locale
+ *(void **) (&pa_utf8_to_locale) = dlsym(handle, "pa_utf8_to_locale");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_locale_to_utf8
+ *(void **) (&pa_locale_to_utf8) = dlsym(handle, "pa_locale_to_utf8");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_new
+ *(void **) (&pa_threaded_mainloop_new) = dlsym(handle, "pa_threaded_mainloop_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_free
+ *(void **) (&pa_threaded_mainloop_free) = dlsym(handle, "pa_threaded_mainloop_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_start
+ *(void **) (&pa_threaded_mainloop_start) = dlsym(handle, "pa_threaded_mainloop_start");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_stop
+ *(void **) (&pa_threaded_mainloop_stop) = dlsym(handle, "pa_threaded_mainloop_stop");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_lock
+ *(void **) (&pa_threaded_mainloop_lock) = dlsym(handle, "pa_threaded_mainloop_lock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_unlock
+ *(void **) (&pa_threaded_mainloop_unlock) = dlsym(handle, "pa_threaded_mainloop_unlock");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_wait
+ *(void **) (&pa_threaded_mainloop_wait) = dlsym(handle, "pa_threaded_mainloop_wait");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_signal
+ *(void **) (&pa_threaded_mainloop_signal) = dlsym(handle, "pa_threaded_mainloop_signal");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_accept
+ *(void **) (&pa_threaded_mainloop_accept) = dlsym(handle, "pa_threaded_mainloop_accept");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_get_retval
+ *(void **) (&pa_threaded_mainloop_get_retval) = dlsym(handle, "pa_threaded_mainloop_get_retval");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_get_api
+ *(void **) (&pa_threaded_mainloop_get_api) = dlsym(handle, "pa_threaded_mainloop_get_api");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_in_thread
+ *(void **) (&pa_threaded_mainloop_in_thread) = dlsym(handle, "pa_threaded_mainloop_in_thread");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_set_name
+ *(void **) (&pa_threaded_mainloop_set_name) = dlsym(handle, "pa_threaded_mainloop_set_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_threaded_mainloop_once_unlocked
+ *(void **) (&pa_threaded_mainloop_once_unlocked) = dlsym(handle, "pa_threaded_mainloop_once_unlocked");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_new
+ *(void **) (&pa_mainloop_new) = dlsym(handle, "pa_mainloop_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_free
+ *(void **) (&pa_mainloop_free) = dlsym(handle, "pa_mainloop_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_prepare
+ *(void **) (&pa_mainloop_prepare) = dlsym(handle, "pa_mainloop_prepare");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_poll
+ *(void **) (&pa_mainloop_poll) = dlsym(handle, "pa_mainloop_poll");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_dispatch
+ *(void **) (&pa_mainloop_dispatch) = dlsym(handle, "pa_mainloop_dispatch");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_get_retval
+ *(void **) (&pa_mainloop_get_retval) = dlsym(handle, "pa_mainloop_get_retval");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_iterate
+ *(void **) (&pa_mainloop_iterate) = dlsym(handle, "pa_mainloop_iterate");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_run
+ *(void **) (&pa_mainloop_run) = dlsym(handle, "pa_mainloop_run");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_get_api
+ *(void **) (&pa_mainloop_get_api) = dlsym(handle, "pa_mainloop_get_api");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_quit
+ *(void **) (&pa_mainloop_quit) = dlsym(handle, "pa_mainloop_quit");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_wakeup
+ *(void **) (&pa_mainloop_wakeup) = dlsym(handle, "pa_mainloop_wakeup");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_mainloop_set_poll_func
+ *(void **) (&pa_mainloop_set_poll_func) = dlsym(handle, "pa_mainloop_set_poll_func");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_signal_init
+ *(void **) (&pa_signal_init) = dlsym(handle, "pa_signal_init");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_signal_done
+ *(void **) (&pa_signal_done) = dlsym(handle, "pa_signal_done");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_signal_new
+ *(void **) (&pa_signal_new) = dlsym(handle, "pa_signal_new");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_signal_free
+ *(void **) (&pa_signal_free) = dlsym(handle, "pa_signal_free");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_signal_set_destroy
+ *(void **) (&pa_signal_set_destroy) = dlsym(handle, "pa_signal_set_destroy");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_get_user_name
+ *(void **) (&pa_get_user_name) = dlsym(handle, "pa_get_user_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_get_host_name
+ *(void **) (&pa_get_host_name) = dlsym(handle, "pa_get_host_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_get_fqdn
+ *(void **) (&pa_get_fqdn) = dlsym(handle, "pa_get_fqdn");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_get_home_dir
+ *(void **) (&pa_get_home_dir) = dlsym(handle, "pa_get_home_dir");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_get_binary_name
+ *(void **) (&pa_get_binary_name) = dlsym(handle, "pa_get_binary_name");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_path_get_filename
+ *(void **) (&pa_path_get_filename) = dlsym(handle, "pa_path_get_filename");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_msleep
+ *(void **) (&pa_msleep) = dlsym(handle, "pa_msleep");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_thread_make_realtime
+ *(void **) (&pa_thread_make_realtime) = dlsym(handle, "pa_thread_make_realtime");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_gettimeofday
+ *(void **) (&pa_gettimeofday) = dlsym(handle, "pa_gettimeofday");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_timeval_diff
+ *(void **) (&pa_timeval_diff) = dlsym(handle, "pa_timeval_diff");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_timeval_cmp
+ *(void **) (&pa_timeval_cmp) = dlsym(handle, "pa_timeval_cmp");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_timeval_age
+ *(void **) (&pa_timeval_age) = dlsym(handle, "pa_timeval_age");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_timeval_add
+ *(void **) (&pa_timeval_add) = dlsym(handle, "pa_timeval_add");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_timeval_sub
+ *(void **) (&pa_timeval_sub) = dlsym(handle, "pa_timeval_sub");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_timeval_store
+ *(void **) (&pa_timeval_store) = dlsym(handle, "pa_timeval_store");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_timeval_load
+ *(void **) (&pa_timeval_load) = dlsym(handle, "pa_timeval_load");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+// pa_rtclock_now
+ *(void **) (&pa_rtclock_now) = dlsym(handle, "pa_rtclock_now");
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+return 0;
+}
diff --git a/drivers/pulseaudio/pulse-so_wrap.h b/drivers/pulseaudio/pulse-so_wrap.h
new file mode 100644
index 0000000000..1b08246d2c
--- /dev/null
+++ b/drivers/pulseaudio/pulse-so_wrap.h
@@ -0,0 +1,1086 @@
+// This file is generated. Do not edit!
+// see https://github.com/hpvb/dynload-wrapper for details
+// generated by /home/hp/Projects/godot/pulse/generate-wrapper.py 0.1 on 2021-02-16 20:26:38
+// flags: /home/hp/Projects/godot/pulse/generate-wrapper.py --include /usr/include/pulse/pulseaudio.h --sys-include <pulse/pulseaudio.h> --soname libpulse.so.0 --omit-prefix _pa_ --init-name pulse --output-header pulse-so_wrap.h --output-implementation pulse-so_wrap.c
+//
+#include <dlfcn.h>
+#include <stdio.h>
+#define pa_get_library_version pa_get_library_version_orig
+#define pa_bytes_per_second pa_bytes_per_second_orig
+#define pa_frame_size pa_frame_size_orig
+#define pa_sample_size pa_sample_size_orig
+#define pa_sample_size_of_format pa_sample_size_of_format_orig
+#define pa_bytes_to_usec pa_bytes_to_usec_orig
+#define pa_usec_to_bytes pa_usec_to_bytes_orig
+#define pa_sample_spec_init pa_sample_spec_init_orig
+#define pa_sample_format_valid pa_sample_format_valid_orig
+#define pa_sample_rate_valid pa_sample_rate_valid_orig
+#define pa_channels_valid pa_channels_valid_orig
+#define pa_sample_spec_valid pa_sample_spec_valid_orig
+#define pa_sample_spec_equal pa_sample_spec_equal_orig
+#define pa_sample_format_to_string pa_sample_format_to_string_orig
+#define pa_parse_sample_format pa_parse_sample_format_orig
+#define pa_sample_spec_snprint pa_sample_spec_snprint_orig
+#define pa_bytes_snprint pa_bytes_snprint_orig
+#define pa_sample_format_is_le pa_sample_format_is_le_orig
+#define pa_sample_format_is_be pa_sample_format_is_be_orig
+#define pa_direction_valid pa_direction_valid_orig
+#define pa_direction_to_string pa_direction_to_string_orig
+#define pa_mainloop_api_once pa_mainloop_api_once_orig
+#define pa_proplist_new pa_proplist_new_orig
+#define pa_proplist_free pa_proplist_free_orig
+#define pa_proplist_key_valid pa_proplist_key_valid_orig
+#define pa_proplist_sets pa_proplist_sets_orig
+#define pa_proplist_setp pa_proplist_setp_orig
+#define pa_proplist_setf pa_proplist_setf_orig
+#define pa_proplist_set pa_proplist_set_orig
+#define pa_proplist_gets pa_proplist_gets_orig
+#define pa_proplist_get pa_proplist_get_orig
+#define pa_proplist_update pa_proplist_update_orig
+#define pa_proplist_unset pa_proplist_unset_orig
+#define pa_proplist_unset_many pa_proplist_unset_many_orig
+#define pa_proplist_iterate pa_proplist_iterate_orig
+#define pa_proplist_to_string pa_proplist_to_string_orig
+#define pa_proplist_to_string_sep pa_proplist_to_string_sep_orig
+#define pa_proplist_from_string pa_proplist_from_string_orig
+#define pa_proplist_contains pa_proplist_contains_orig
+#define pa_proplist_clear pa_proplist_clear_orig
+#define pa_proplist_copy pa_proplist_copy_orig
+#define pa_proplist_size pa_proplist_size_orig
+#define pa_proplist_isempty pa_proplist_isempty_orig
+#define pa_proplist_equal pa_proplist_equal_orig
+#define pa_channel_map_init pa_channel_map_init_orig
+#define pa_channel_map_init_mono pa_channel_map_init_mono_orig
+#define pa_channel_map_init_stereo pa_channel_map_init_stereo_orig
+#define pa_channel_map_init_auto pa_channel_map_init_auto_orig
+#define pa_channel_map_init_extend pa_channel_map_init_extend_orig
+#define pa_channel_position_to_string pa_channel_position_to_string_orig
+#define pa_channel_position_from_string pa_channel_position_from_string_orig
+#define pa_channel_position_to_pretty_string pa_channel_position_to_pretty_string_orig
+#define pa_channel_map_snprint pa_channel_map_snprint_orig
+#define pa_channel_map_parse pa_channel_map_parse_orig
+#define pa_channel_map_equal pa_channel_map_equal_orig
+#define pa_channel_map_valid pa_channel_map_valid_orig
+#define pa_channel_map_compatible pa_channel_map_compatible_orig
+#define pa_channel_map_superset pa_channel_map_superset_orig
+#define pa_channel_map_can_balance pa_channel_map_can_balance_orig
+#define pa_channel_map_can_fade pa_channel_map_can_fade_orig
+#define pa_channel_map_can_lfe_balance pa_channel_map_can_lfe_balance_orig
+#define pa_channel_map_to_name pa_channel_map_to_name_orig
+#define pa_channel_map_to_pretty_name pa_channel_map_to_pretty_name_orig
+#define pa_channel_map_has_position pa_channel_map_has_position_orig
+#define pa_channel_map_mask pa_channel_map_mask_orig
+#define pa_encoding_to_string pa_encoding_to_string_orig
+#define pa_encoding_from_string pa_encoding_from_string_orig
+#define pa_format_info_new pa_format_info_new_orig
+#define pa_format_info_copy pa_format_info_copy_orig
+#define pa_format_info_free pa_format_info_free_orig
+#define pa_format_info_valid pa_format_info_valid_orig
+#define pa_format_info_is_pcm pa_format_info_is_pcm_orig
+#define pa_format_info_is_compatible pa_format_info_is_compatible_orig
+#define pa_format_info_snprint pa_format_info_snprint_orig
+#define pa_format_info_from_string pa_format_info_from_string_orig
+#define pa_format_info_from_sample_spec pa_format_info_from_sample_spec_orig
+#define pa_format_info_to_sample_spec pa_format_info_to_sample_spec_orig
+#define pa_format_info_get_prop_type pa_format_info_get_prop_type_orig
+#define pa_format_info_get_prop_int pa_format_info_get_prop_int_orig
+#define pa_format_info_get_prop_int_range pa_format_info_get_prop_int_range_orig
+#define pa_format_info_get_prop_int_array pa_format_info_get_prop_int_array_orig
+#define pa_format_info_get_prop_string pa_format_info_get_prop_string_orig
+#define pa_format_info_get_prop_string_array pa_format_info_get_prop_string_array_orig
+#define pa_format_info_free_string_array pa_format_info_free_string_array_orig
+#define pa_format_info_get_sample_format pa_format_info_get_sample_format_orig
+#define pa_format_info_get_rate pa_format_info_get_rate_orig
+#define pa_format_info_get_channels pa_format_info_get_channels_orig
+#define pa_format_info_get_channel_map pa_format_info_get_channel_map_orig
+#define pa_format_info_set_prop_int pa_format_info_set_prop_int_orig
+#define pa_format_info_set_prop_int_array pa_format_info_set_prop_int_array_orig
+#define pa_format_info_set_prop_int_range pa_format_info_set_prop_int_range_orig
+#define pa_format_info_set_prop_string pa_format_info_set_prop_string_orig
+#define pa_format_info_set_prop_string_array pa_format_info_set_prop_string_array_orig
+#define pa_format_info_set_sample_format pa_format_info_set_sample_format_orig
+#define pa_format_info_set_rate pa_format_info_set_rate_orig
+#define pa_format_info_set_channels pa_format_info_set_channels_orig
+#define pa_format_info_set_channel_map pa_format_info_set_channel_map_orig
+#define pa_operation_ref pa_operation_ref_orig
+#define pa_operation_unref pa_operation_unref_orig
+#define pa_operation_cancel pa_operation_cancel_orig
+#define pa_operation_get_state pa_operation_get_state_orig
+#define pa_operation_set_state_callback pa_operation_set_state_callback_orig
+#define pa_context_new pa_context_new_orig
+#define pa_context_new_with_proplist pa_context_new_with_proplist_orig
+#define pa_context_unref pa_context_unref_orig
+#define pa_context_ref pa_context_ref_orig
+#define pa_context_set_state_callback pa_context_set_state_callback_orig
+#define pa_context_set_event_callback pa_context_set_event_callback_orig
+#define pa_context_errno pa_context_errno_orig
+#define pa_context_is_pending pa_context_is_pending_orig
+#define pa_context_get_state pa_context_get_state_orig
+#define pa_context_connect pa_context_connect_orig
+#define pa_context_disconnect pa_context_disconnect_orig
+#define pa_context_drain pa_context_drain_orig
+#define pa_context_exit_daemon pa_context_exit_daemon_orig
+#define pa_context_set_default_sink pa_context_set_default_sink_orig
+#define pa_context_set_default_source pa_context_set_default_source_orig
+#define pa_context_is_local pa_context_is_local_orig
+#define pa_context_set_name pa_context_set_name_orig
+#define pa_context_get_server pa_context_get_server_orig
+#define pa_context_get_protocol_version pa_context_get_protocol_version_orig
+#define pa_context_get_server_protocol_version pa_context_get_server_protocol_version_orig
+#define pa_context_proplist_update pa_context_proplist_update_orig
+#define pa_context_proplist_remove pa_context_proplist_remove_orig
+#define pa_context_get_index pa_context_get_index_orig
+#define pa_context_rttime_new pa_context_rttime_new_orig
+#define pa_context_rttime_restart pa_context_rttime_restart_orig
+#define pa_context_get_tile_size pa_context_get_tile_size_orig
+#define pa_context_load_cookie_from_file pa_context_load_cookie_from_file_orig
+#define pa_cvolume_equal pa_cvolume_equal_orig
+#define pa_cvolume_init pa_cvolume_init_orig
+#define pa_cvolume_set pa_cvolume_set_orig
+#define pa_cvolume_snprint pa_cvolume_snprint_orig
+#define pa_sw_cvolume_snprint_dB pa_sw_cvolume_snprint_dB_orig
+#define pa_cvolume_snprint_verbose pa_cvolume_snprint_verbose_orig
+#define pa_volume_snprint pa_volume_snprint_orig
+#define pa_sw_volume_snprint_dB pa_sw_volume_snprint_dB_orig
+#define pa_volume_snprint_verbose pa_volume_snprint_verbose_orig
+#define pa_cvolume_avg pa_cvolume_avg_orig
+#define pa_cvolume_avg_mask pa_cvolume_avg_mask_orig
+#define pa_cvolume_max pa_cvolume_max_orig
+#define pa_cvolume_max_mask pa_cvolume_max_mask_orig
+#define pa_cvolume_min pa_cvolume_min_orig
+#define pa_cvolume_min_mask pa_cvolume_min_mask_orig
+#define pa_cvolume_valid pa_cvolume_valid_orig
+#define pa_cvolume_channels_equal_to pa_cvolume_channels_equal_to_orig
+#define pa_sw_volume_multiply pa_sw_volume_multiply_orig
+#define pa_sw_cvolume_multiply pa_sw_cvolume_multiply_orig
+#define pa_sw_cvolume_multiply_scalar pa_sw_cvolume_multiply_scalar_orig
+#define pa_sw_volume_divide pa_sw_volume_divide_orig
+#define pa_sw_cvolume_divide pa_sw_cvolume_divide_orig
+#define pa_sw_cvolume_divide_scalar pa_sw_cvolume_divide_scalar_orig
+#define pa_sw_volume_from_dB pa_sw_volume_from_dB_orig
+#define pa_sw_volume_to_dB pa_sw_volume_to_dB_orig
+#define pa_sw_volume_from_linear pa_sw_volume_from_linear_orig
+#define pa_sw_volume_to_linear pa_sw_volume_to_linear_orig
+#define pa_cvolume_remap pa_cvolume_remap_orig
+#define pa_cvolume_compatible pa_cvolume_compatible_orig
+#define pa_cvolume_compatible_with_channel_map pa_cvolume_compatible_with_channel_map_orig
+#define pa_cvolume_get_balance pa_cvolume_get_balance_orig
+#define pa_cvolume_set_balance pa_cvolume_set_balance_orig
+#define pa_cvolume_get_fade pa_cvolume_get_fade_orig
+#define pa_cvolume_set_fade pa_cvolume_set_fade_orig
+#define pa_cvolume_get_lfe_balance pa_cvolume_get_lfe_balance_orig
+#define pa_cvolume_set_lfe_balance pa_cvolume_set_lfe_balance_orig
+#define pa_cvolume_scale pa_cvolume_scale_orig
+#define pa_cvolume_scale_mask pa_cvolume_scale_mask_orig
+#define pa_cvolume_set_position pa_cvolume_set_position_orig
+#define pa_cvolume_get_position pa_cvolume_get_position_orig
+#define pa_cvolume_merge pa_cvolume_merge_orig
+#define pa_cvolume_inc_clamp pa_cvolume_inc_clamp_orig
+#define pa_cvolume_inc pa_cvolume_inc_orig
+#define pa_cvolume_dec pa_cvolume_dec_orig
+#define pa_stream_new pa_stream_new_orig
+#define pa_stream_new_with_proplist pa_stream_new_with_proplist_orig
+#define pa_stream_new_extended pa_stream_new_extended_orig
+#define pa_stream_unref pa_stream_unref_orig
+#define pa_stream_ref pa_stream_ref_orig
+#define pa_stream_get_state pa_stream_get_state_orig
+#define pa_stream_get_context pa_stream_get_context_orig
+#define pa_stream_get_index pa_stream_get_index_orig
+#define pa_stream_get_device_index pa_stream_get_device_index_orig
+#define pa_stream_get_device_name pa_stream_get_device_name_orig
+#define pa_stream_is_suspended pa_stream_is_suspended_orig
+#define pa_stream_is_corked pa_stream_is_corked_orig
+#define pa_stream_connect_playback pa_stream_connect_playback_orig
+#define pa_stream_connect_record pa_stream_connect_record_orig
+#define pa_stream_disconnect pa_stream_disconnect_orig
+#define pa_stream_begin_write pa_stream_begin_write_orig
+#define pa_stream_cancel_write pa_stream_cancel_write_orig
+#define pa_stream_write pa_stream_write_orig
+#define pa_stream_write_ext_free pa_stream_write_ext_free_orig
+#define pa_stream_peek pa_stream_peek_orig
+#define pa_stream_drop pa_stream_drop_orig
+#define pa_stream_writable_size pa_stream_writable_size_orig
+#define pa_stream_readable_size pa_stream_readable_size_orig
+#define pa_stream_drain pa_stream_drain_orig
+#define pa_stream_update_timing_info pa_stream_update_timing_info_orig
+#define pa_stream_set_state_callback pa_stream_set_state_callback_orig
+#define pa_stream_set_write_callback pa_stream_set_write_callback_orig
+#define pa_stream_set_read_callback pa_stream_set_read_callback_orig
+#define pa_stream_set_overflow_callback pa_stream_set_overflow_callback_orig
+#define pa_stream_get_underflow_index pa_stream_get_underflow_index_orig
+#define pa_stream_set_underflow_callback pa_stream_set_underflow_callback_orig
+#define pa_stream_set_started_callback pa_stream_set_started_callback_orig
+#define pa_stream_set_latency_update_callback pa_stream_set_latency_update_callback_orig
+#define pa_stream_set_moved_callback pa_stream_set_moved_callback_orig
+#define pa_stream_set_suspended_callback pa_stream_set_suspended_callback_orig
+#define pa_stream_set_event_callback pa_stream_set_event_callback_orig
+#define pa_stream_set_buffer_attr_callback pa_stream_set_buffer_attr_callback_orig
+#define pa_stream_cork pa_stream_cork_orig
+#define pa_stream_flush pa_stream_flush_orig
+#define pa_stream_prebuf pa_stream_prebuf_orig
+#define pa_stream_trigger pa_stream_trigger_orig
+#define pa_stream_set_name pa_stream_set_name_orig
+#define pa_stream_get_time pa_stream_get_time_orig
+#define pa_stream_get_latency pa_stream_get_latency_orig
+#define pa_stream_get_timing_info pa_stream_get_timing_info_orig
+#define pa_stream_get_sample_spec pa_stream_get_sample_spec_orig
+#define pa_stream_get_channel_map pa_stream_get_channel_map_orig
+#define pa_stream_get_format_info pa_stream_get_format_info_orig
+#define pa_stream_get_buffer_attr pa_stream_get_buffer_attr_orig
+#define pa_stream_set_buffer_attr pa_stream_set_buffer_attr_orig
+#define pa_stream_update_sample_rate pa_stream_update_sample_rate_orig
+#define pa_stream_proplist_update pa_stream_proplist_update_orig
+#define pa_stream_proplist_remove pa_stream_proplist_remove_orig
+#define pa_stream_set_monitor_stream pa_stream_set_monitor_stream_orig
+#define pa_stream_get_monitor_stream pa_stream_get_monitor_stream_orig
+#define pa_context_get_sink_info_by_name pa_context_get_sink_info_by_name_orig
+#define pa_context_get_sink_info_by_index pa_context_get_sink_info_by_index_orig
+#define pa_context_get_sink_info_list pa_context_get_sink_info_list_orig
+#define pa_context_set_sink_volume_by_index pa_context_set_sink_volume_by_index_orig
+#define pa_context_set_sink_volume_by_name pa_context_set_sink_volume_by_name_orig
+#define pa_context_set_sink_mute_by_index pa_context_set_sink_mute_by_index_orig
+#define pa_context_set_sink_mute_by_name pa_context_set_sink_mute_by_name_orig
+#define pa_context_suspend_sink_by_name pa_context_suspend_sink_by_name_orig
+#define pa_context_suspend_sink_by_index pa_context_suspend_sink_by_index_orig
+#define pa_context_set_sink_port_by_index pa_context_set_sink_port_by_index_orig
+#define pa_context_set_sink_port_by_name pa_context_set_sink_port_by_name_orig
+#define pa_context_get_source_info_by_name pa_context_get_source_info_by_name_orig
+#define pa_context_get_source_info_by_index pa_context_get_source_info_by_index_orig
+#define pa_context_get_source_info_list pa_context_get_source_info_list_orig
+#define pa_context_set_source_volume_by_index pa_context_set_source_volume_by_index_orig
+#define pa_context_set_source_volume_by_name pa_context_set_source_volume_by_name_orig
+#define pa_context_set_source_mute_by_index pa_context_set_source_mute_by_index_orig
+#define pa_context_set_source_mute_by_name pa_context_set_source_mute_by_name_orig
+#define pa_context_suspend_source_by_name pa_context_suspend_source_by_name_orig
+#define pa_context_suspend_source_by_index pa_context_suspend_source_by_index_orig
+#define pa_context_set_source_port_by_index pa_context_set_source_port_by_index_orig
+#define pa_context_set_source_port_by_name pa_context_set_source_port_by_name_orig
+#define pa_context_get_server_info pa_context_get_server_info_orig
+#define pa_context_get_module_info pa_context_get_module_info_orig
+#define pa_context_get_module_info_list pa_context_get_module_info_list_orig
+#define pa_context_load_module pa_context_load_module_orig
+#define pa_context_unload_module pa_context_unload_module_orig
+#define pa_context_get_client_info pa_context_get_client_info_orig
+#define pa_context_get_client_info_list pa_context_get_client_info_list_orig
+#define pa_context_kill_client pa_context_kill_client_orig
+#define pa_context_get_card_info_by_index pa_context_get_card_info_by_index_orig
+#define pa_context_get_card_info_by_name pa_context_get_card_info_by_name_orig
+#define pa_context_get_card_info_list pa_context_get_card_info_list_orig
+#define pa_context_set_card_profile_by_index pa_context_set_card_profile_by_index_orig
+#define pa_context_set_card_profile_by_name pa_context_set_card_profile_by_name_orig
+#define pa_context_set_port_latency_offset pa_context_set_port_latency_offset_orig
+#define pa_context_get_sink_input_info pa_context_get_sink_input_info_orig
+#define pa_context_get_sink_input_info_list pa_context_get_sink_input_info_list_orig
+#define pa_context_move_sink_input_by_name pa_context_move_sink_input_by_name_orig
+#define pa_context_move_sink_input_by_index pa_context_move_sink_input_by_index_orig
+#define pa_context_set_sink_input_volume pa_context_set_sink_input_volume_orig
+#define pa_context_set_sink_input_mute pa_context_set_sink_input_mute_orig
+#define pa_context_kill_sink_input pa_context_kill_sink_input_orig
+#define pa_context_get_source_output_info pa_context_get_source_output_info_orig
+#define pa_context_get_source_output_info_list pa_context_get_source_output_info_list_orig
+#define pa_context_move_source_output_by_name pa_context_move_source_output_by_name_orig
+#define pa_context_move_source_output_by_index pa_context_move_source_output_by_index_orig
+#define pa_context_set_source_output_volume pa_context_set_source_output_volume_orig
+#define pa_context_set_source_output_mute pa_context_set_source_output_mute_orig
+#define pa_context_kill_source_output pa_context_kill_source_output_orig
+#define pa_context_stat pa_context_stat_orig
+#define pa_context_get_sample_info_by_name pa_context_get_sample_info_by_name_orig
+#define pa_context_get_sample_info_by_index pa_context_get_sample_info_by_index_orig
+#define pa_context_get_sample_info_list pa_context_get_sample_info_list_orig
+#define pa_context_get_autoload_info_by_name pa_context_get_autoload_info_by_name_orig
+#define pa_context_get_autoload_info_by_index pa_context_get_autoload_info_by_index_orig
+#define pa_context_get_autoload_info_list pa_context_get_autoload_info_list_orig
+#define pa_context_add_autoload pa_context_add_autoload_orig
+#define pa_context_remove_autoload_by_name pa_context_remove_autoload_by_name_orig
+#define pa_context_remove_autoload_by_index pa_context_remove_autoload_by_index_orig
+#define pa_context_subscribe pa_context_subscribe_orig
+#define pa_context_set_subscribe_callback pa_context_set_subscribe_callback_orig
+#define pa_stream_connect_upload pa_stream_connect_upload_orig
+#define pa_stream_finish_upload pa_stream_finish_upload_orig
+#define pa_context_remove_sample pa_context_remove_sample_orig
+#define pa_context_play_sample pa_context_play_sample_orig
+#define pa_context_play_sample_with_proplist pa_context_play_sample_with_proplist_orig
+#define pa_strerror pa_strerror_orig
+#define pa_xmalloc pa_xmalloc_orig
+#define pa_xmalloc0 pa_xmalloc0_orig
+#define pa_xrealloc pa_xrealloc_orig
+#define pa_xfree pa_xfree_orig
+#define pa_xstrdup pa_xstrdup_orig
+#define pa_xstrndup pa_xstrndup_orig
+#define pa_xmemdup pa_xmemdup_orig
+#define pa_utf8_valid pa_utf8_valid_orig
+#define pa_ascii_valid pa_ascii_valid_orig
+#define pa_utf8_filter pa_utf8_filter_orig
+#define pa_ascii_filter pa_ascii_filter_orig
+#define pa_utf8_to_locale pa_utf8_to_locale_orig
+#define pa_locale_to_utf8 pa_locale_to_utf8_orig
+#define pa_threaded_mainloop_new pa_threaded_mainloop_new_orig
+#define pa_threaded_mainloop_free pa_threaded_mainloop_free_orig
+#define pa_threaded_mainloop_start pa_threaded_mainloop_start_orig
+#define pa_threaded_mainloop_stop pa_threaded_mainloop_stop_orig
+#define pa_threaded_mainloop_lock pa_threaded_mainloop_lock_orig
+#define pa_threaded_mainloop_unlock pa_threaded_mainloop_unlock_orig
+#define pa_threaded_mainloop_wait pa_threaded_mainloop_wait_orig
+#define pa_threaded_mainloop_signal pa_threaded_mainloop_signal_orig
+#define pa_threaded_mainloop_accept pa_threaded_mainloop_accept_orig
+#define pa_threaded_mainloop_get_retval pa_threaded_mainloop_get_retval_orig
+#define pa_threaded_mainloop_get_api pa_threaded_mainloop_get_api_orig
+#define pa_threaded_mainloop_in_thread pa_threaded_mainloop_in_thread_orig
+#define pa_threaded_mainloop_set_name pa_threaded_mainloop_set_name_orig
+#define pa_threaded_mainloop_once_unlocked pa_threaded_mainloop_once_unlocked_orig
+#define pa_mainloop_new pa_mainloop_new_orig
+#define pa_mainloop_free pa_mainloop_free_orig
+#define pa_mainloop_prepare pa_mainloop_prepare_orig
+#define pa_mainloop_poll pa_mainloop_poll_orig
+#define pa_mainloop_dispatch pa_mainloop_dispatch_orig
+#define pa_mainloop_get_retval pa_mainloop_get_retval_orig
+#define pa_mainloop_iterate pa_mainloop_iterate_orig
+#define pa_mainloop_run pa_mainloop_run_orig
+#define pa_mainloop_get_api pa_mainloop_get_api_orig
+#define pa_mainloop_quit pa_mainloop_quit_orig
+#define pa_mainloop_wakeup pa_mainloop_wakeup_orig
+#define pa_mainloop_set_poll_func pa_mainloop_set_poll_func_orig
+#define pa_signal_init pa_signal_init_orig
+#define pa_signal_done pa_signal_done_orig
+#define pa_signal_new pa_signal_new_orig
+#define pa_signal_free pa_signal_free_orig
+#define pa_signal_set_destroy pa_signal_set_destroy_orig
+#define pa_get_user_name pa_get_user_name_orig
+#define pa_get_host_name pa_get_host_name_orig
+#define pa_get_fqdn pa_get_fqdn_orig
+#define pa_get_home_dir pa_get_home_dir_orig
+#define pa_get_binary_name pa_get_binary_name_orig
+#define pa_path_get_filename pa_path_get_filename_orig
+#define pa_msleep pa_msleep_orig
+#define pa_thread_make_realtime pa_thread_make_realtime_orig
+#define pa_gettimeofday pa_gettimeofday_orig
+#define pa_timeval_diff pa_timeval_diff_orig
+#define pa_timeval_cmp pa_timeval_cmp_orig
+#define pa_timeval_age pa_timeval_age_orig
+#define pa_timeval_add pa_timeval_add_orig
+#define pa_timeval_sub pa_timeval_sub_orig
+#define pa_timeval_store pa_timeval_store_orig
+#define pa_timeval_load pa_timeval_load_orig
+#define pa_rtclock_now pa_rtclock_now_orig
+#include <pulse/pulseaudio.h>
+#undef pa_get_library_version
+#undef pa_bytes_per_second
+#undef pa_frame_size
+#undef pa_sample_size
+#undef pa_sample_size_of_format
+#undef pa_bytes_to_usec
+#undef pa_usec_to_bytes
+#undef pa_sample_spec_init
+#undef pa_sample_format_valid
+#undef pa_sample_rate_valid
+#undef pa_channels_valid
+#undef pa_sample_spec_valid
+#undef pa_sample_spec_equal
+#undef pa_sample_format_to_string
+#undef pa_parse_sample_format
+#undef pa_sample_spec_snprint
+#undef pa_bytes_snprint
+#undef pa_sample_format_is_le
+#undef pa_sample_format_is_be
+#undef pa_direction_valid
+#undef pa_direction_to_string
+#undef pa_mainloop_api_once
+#undef pa_proplist_new
+#undef pa_proplist_free
+#undef pa_proplist_key_valid
+#undef pa_proplist_sets
+#undef pa_proplist_setp
+#undef pa_proplist_setf
+#undef pa_proplist_set
+#undef pa_proplist_gets
+#undef pa_proplist_get
+#undef pa_proplist_update
+#undef pa_proplist_unset
+#undef pa_proplist_unset_many
+#undef pa_proplist_iterate
+#undef pa_proplist_to_string
+#undef pa_proplist_to_string_sep
+#undef pa_proplist_from_string
+#undef pa_proplist_contains
+#undef pa_proplist_clear
+#undef pa_proplist_copy
+#undef pa_proplist_size
+#undef pa_proplist_isempty
+#undef pa_proplist_equal
+#undef pa_channel_map_init
+#undef pa_channel_map_init_mono
+#undef pa_channel_map_init_stereo
+#undef pa_channel_map_init_auto
+#undef pa_channel_map_init_extend
+#undef pa_channel_position_to_string
+#undef pa_channel_position_from_string
+#undef pa_channel_position_to_pretty_string
+#undef pa_channel_map_snprint
+#undef pa_channel_map_parse
+#undef pa_channel_map_equal
+#undef pa_channel_map_valid
+#undef pa_channel_map_compatible
+#undef pa_channel_map_superset
+#undef pa_channel_map_can_balance
+#undef pa_channel_map_can_fade
+#undef pa_channel_map_can_lfe_balance
+#undef pa_channel_map_to_name
+#undef pa_channel_map_to_pretty_name
+#undef pa_channel_map_has_position
+#undef pa_channel_map_mask
+#undef pa_encoding_to_string
+#undef pa_encoding_from_string
+#undef pa_format_info_new
+#undef pa_format_info_copy
+#undef pa_format_info_free
+#undef pa_format_info_valid
+#undef pa_format_info_is_pcm
+#undef pa_format_info_is_compatible
+#undef pa_format_info_snprint
+#undef pa_format_info_from_string
+#undef pa_format_info_from_sample_spec
+#undef pa_format_info_to_sample_spec
+#undef pa_format_info_get_prop_type
+#undef pa_format_info_get_prop_int
+#undef pa_format_info_get_prop_int_range
+#undef pa_format_info_get_prop_int_array
+#undef pa_format_info_get_prop_string
+#undef pa_format_info_get_prop_string_array
+#undef pa_format_info_free_string_array
+#undef pa_format_info_get_sample_format
+#undef pa_format_info_get_rate
+#undef pa_format_info_get_channels
+#undef pa_format_info_get_channel_map
+#undef pa_format_info_set_prop_int
+#undef pa_format_info_set_prop_int_array
+#undef pa_format_info_set_prop_int_range
+#undef pa_format_info_set_prop_string
+#undef pa_format_info_set_prop_string_array
+#undef pa_format_info_set_sample_format
+#undef pa_format_info_set_rate
+#undef pa_format_info_set_channels
+#undef pa_format_info_set_channel_map
+#undef pa_operation_ref
+#undef pa_operation_unref
+#undef pa_operation_cancel
+#undef pa_operation_get_state
+#undef pa_operation_set_state_callback
+#undef pa_context_new
+#undef pa_context_new_with_proplist
+#undef pa_context_unref
+#undef pa_context_ref
+#undef pa_context_set_state_callback
+#undef pa_context_set_event_callback
+#undef pa_context_errno
+#undef pa_context_is_pending
+#undef pa_context_get_state
+#undef pa_context_connect
+#undef pa_context_disconnect
+#undef pa_context_drain
+#undef pa_context_exit_daemon
+#undef pa_context_set_default_sink
+#undef pa_context_set_default_source
+#undef pa_context_is_local
+#undef pa_context_set_name
+#undef pa_context_get_server
+#undef pa_context_get_protocol_version
+#undef pa_context_get_server_protocol_version
+#undef pa_context_proplist_update
+#undef pa_context_proplist_remove
+#undef pa_context_get_index
+#undef pa_context_rttime_new
+#undef pa_context_rttime_restart
+#undef pa_context_get_tile_size
+#undef pa_context_load_cookie_from_file
+#undef pa_cvolume_equal
+#undef pa_cvolume_init
+#undef pa_cvolume_set
+#undef pa_cvolume_snprint
+#undef pa_sw_cvolume_snprint_dB
+#undef pa_cvolume_snprint_verbose
+#undef pa_volume_snprint
+#undef pa_sw_volume_snprint_dB
+#undef pa_volume_snprint_verbose
+#undef pa_cvolume_avg
+#undef pa_cvolume_avg_mask
+#undef pa_cvolume_max
+#undef pa_cvolume_max_mask
+#undef pa_cvolume_min
+#undef pa_cvolume_min_mask
+#undef pa_cvolume_valid
+#undef pa_cvolume_channels_equal_to
+#undef pa_sw_volume_multiply
+#undef pa_sw_cvolume_multiply
+#undef pa_sw_cvolume_multiply_scalar
+#undef pa_sw_volume_divide
+#undef pa_sw_cvolume_divide
+#undef pa_sw_cvolume_divide_scalar
+#undef pa_sw_volume_from_dB
+#undef pa_sw_volume_to_dB
+#undef pa_sw_volume_from_linear
+#undef pa_sw_volume_to_linear
+#undef pa_cvolume_remap
+#undef pa_cvolume_compatible
+#undef pa_cvolume_compatible_with_channel_map
+#undef pa_cvolume_get_balance
+#undef pa_cvolume_set_balance
+#undef pa_cvolume_get_fade
+#undef pa_cvolume_set_fade
+#undef pa_cvolume_get_lfe_balance
+#undef pa_cvolume_set_lfe_balance
+#undef pa_cvolume_scale
+#undef pa_cvolume_scale_mask
+#undef pa_cvolume_set_position
+#undef pa_cvolume_get_position
+#undef pa_cvolume_merge
+#undef pa_cvolume_inc_clamp
+#undef pa_cvolume_inc
+#undef pa_cvolume_dec
+#undef pa_stream_new
+#undef pa_stream_new_with_proplist
+#undef pa_stream_new_extended
+#undef pa_stream_unref
+#undef pa_stream_ref
+#undef pa_stream_get_state
+#undef pa_stream_get_context
+#undef pa_stream_get_index
+#undef pa_stream_get_device_index
+#undef pa_stream_get_device_name
+#undef pa_stream_is_suspended
+#undef pa_stream_is_corked
+#undef pa_stream_connect_playback
+#undef pa_stream_connect_record
+#undef pa_stream_disconnect
+#undef pa_stream_begin_write
+#undef pa_stream_cancel_write
+#undef pa_stream_write
+#undef pa_stream_write_ext_free
+#undef pa_stream_peek
+#undef pa_stream_drop
+#undef pa_stream_writable_size
+#undef pa_stream_readable_size
+#undef pa_stream_drain
+#undef pa_stream_update_timing_info
+#undef pa_stream_set_state_callback
+#undef pa_stream_set_write_callback
+#undef pa_stream_set_read_callback
+#undef pa_stream_set_overflow_callback
+#undef pa_stream_get_underflow_index
+#undef pa_stream_set_underflow_callback
+#undef pa_stream_set_started_callback
+#undef pa_stream_set_latency_update_callback
+#undef pa_stream_set_moved_callback
+#undef pa_stream_set_suspended_callback
+#undef pa_stream_set_event_callback
+#undef pa_stream_set_buffer_attr_callback
+#undef pa_stream_cork
+#undef pa_stream_flush
+#undef pa_stream_prebuf
+#undef pa_stream_trigger
+#undef pa_stream_set_name
+#undef pa_stream_get_time
+#undef pa_stream_get_latency
+#undef pa_stream_get_timing_info
+#undef pa_stream_get_sample_spec
+#undef pa_stream_get_channel_map
+#undef pa_stream_get_format_info
+#undef pa_stream_get_buffer_attr
+#undef pa_stream_set_buffer_attr
+#undef pa_stream_update_sample_rate
+#undef pa_stream_proplist_update
+#undef pa_stream_proplist_remove
+#undef pa_stream_set_monitor_stream
+#undef pa_stream_get_monitor_stream
+#undef pa_context_get_sink_info_by_name
+#undef pa_context_get_sink_info_by_index
+#undef pa_context_get_sink_info_list
+#undef pa_context_set_sink_volume_by_index
+#undef pa_context_set_sink_volume_by_name
+#undef pa_context_set_sink_mute_by_index
+#undef pa_context_set_sink_mute_by_name
+#undef pa_context_suspend_sink_by_name
+#undef pa_context_suspend_sink_by_index
+#undef pa_context_set_sink_port_by_index
+#undef pa_context_set_sink_port_by_name
+#undef pa_context_get_source_info_by_name
+#undef pa_context_get_source_info_by_index
+#undef pa_context_get_source_info_list
+#undef pa_context_set_source_volume_by_index
+#undef pa_context_set_source_volume_by_name
+#undef pa_context_set_source_mute_by_index
+#undef pa_context_set_source_mute_by_name
+#undef pa_context_suspend_source_by_name
+#undef pa_context_suspend_source_by_index
+#undef pa_context_set_source_port_by_index
+#undef pa_context_set_source_port_by_name
+#undef pa_context_get_server_info
+#undef pa_context_get_module_info
+#undef pa_context_get_module_info_list
+#undef pa_context_load_module
+#undef pa_context_unload_module
+#undef pa_context_get_client_info
+#undef pa_context_get_client_info_list
+#undef pa_context_kill_client
+#undef pa_context_get_card_info_by_index
+#undef pa_context_get_card_info_by_name
+#undef pa_context_get_card_info_list
+#undef pa_context_set_card_profile_by_index
+#undef pa_context_set_card_profile_by_name
+#undef pa_context_set_port_latency_offset
+#undef pa_context_get_sink_input_info
+#undef pa_context_get_sink_input_info_list
+#undef pa_context_move_sink_input_by_name
+#undef pa_context_move_sink_input_by_index
+#undef pa_context_set_sink_input_volume
+#undef pa_context_set_sink_input_mute
+#undef pa_context_kill_sink_input
+#undef pa_context_get_source_output_info
+#undef pa_context_get_source_output_info_list
+#undef pa_context_move_source_output_by_name
+#undef pa_context_move_source_output_by_index
+#undef pa_context_set_source_output_volume
+#undef pa_context_set_source_output_mute
+#undef pa_context_kill_source_output
+#undef pa_context_stat
+#undef pa_context_get_sample_info_by_name
+#undef pa_context_get_sample_info_by_index
+#undef pa_context_get_sample_info_list
+#undef pa_context_get_autoload_info_by_name
+#undef pa_context_get_autoload_info_by_index
+#undef pa_context_get_autoload_info_list
+#undef pa_context_add_autoload
+#undef pa_context_remove_autoload_by_name
+#undef pa_context_remove_autoload_by_index
+#undef pa_context_subscribe
+#undef pa_context_set_subscribe_callback
+#undef pa_stream_connect_upload
+#undef pa_stream_finish_upload
+#undef pa_context_remove_sample
+#undef pa_context_play_sample
+#undef pa_context_play_sample_with_proplist
+#undef pa_strerror
+#undef pa_xmalloc
+#undef pa_xmalloc0
+#undef pa_xrealloc
+#undef pa_xfree
+#undef pa_xstrdup
+#undef pa_xstrndup
+#undef pa_xmemdup
+#undef pa_utf8_valid
+#undef pa_ascii_valid
+#undef pa_utf8_filter
+#undef pa_ascii_filter
+#undef pa_utf8_to_locale
+#undef pa_locale_to_utf8
+#undef pa_threaded_mainloop_new
+#undef pa_threaded_mainloop_free
+#undef pa_threaded_mainloop_start
+#undef pa_threaded_mainloop_stop
+#undef pa_threaded_mainloop_lock
+#undef pa_threaded_mainloop_unlock
+#undef pa_threaded_mainloop_wait
+#undef pa_threaded_mainloop_signal
+#undef pa_threaded_mainloop_accept
+#undef pa_threaded_mainloop_get_retval
+#undef pa_threaded_mainloop_get_api
+#undef pa_threaded_mainloop_in_thread
+#undef pa_threaded_mainloop_set_name
+#undef pa_threaded_mainloop_once_unlocked
+#undef pa_mainloop_new
+#undef pa_mainloop_free
+#undef pa_mainloop_prepare
+#undef pa_mainloop_poll
+#undef pa_mainloop_dispatch
+#undef pa_mainloop_get_retval
+#undef pa_mainloop_iterate
+#undef pa_mainloop_run
+#undef pa_mainloop_get_api
+#undef pa_mainloop_quit
+#undef pa_mainloop_wakeup
+#undef pa_mainloop_set_poll_func
+#undef pa_signal_init
+#undef pa_signal_done
+#undef pa_signal_new
+#undef pa_signal_free
+#undef pa_signal_set_destroy
+#undef pa_get_user_name
+#undef pa_get_host_name
+#undef pa_get_fqdn
+#undef pa_get_home_dir
+#undef pa_get_binary_name
+#undef pa_path_get_filename
+#undef pa_msleep
+#undef pa_thread_make_realtime
+#undef pa_gettimeofday
+#undef pa_timeval_diff
+#undef pa_timeval_cmp
+#undef pa_timeval_age
+#undef pa_timeval_add
+#undef pa_timeval_sub
+#undef pa_timeval_store
+#undef pa_timeval_load
+#undef pa_rtclock_now
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern const char* (*pa_get_library_version)( void);
+extern size_t (*pa_bytes_per_second)(const pa_sample_spec*);
+extern size_t (*pa_frame_size)(const pa_sample_spec*);
+extern size_t (*pa_sample_size)(const pa_sample_spec*);
+extern size_t (*pa_sample_size_of_format)( pa_sample_format_t);
+extern pa_usec_t (*pa_bytes_to_usec)( uint64_t,const pa_sample_spec*);
+extern size_t (*pa_usec_to_bytes)( pa_usec_t,const pa_sample_spec*);
+extern pa_sample_spec* (*pa_sample_spec_init)( pa_sample_spec*);
+extern int (*pa_sample_format_valid)( unsigned);
+extern int (*pa_sample_rate_valid)( uint32_t);
+extern int (*pa_channels_valid)( uint8_t);
+extern int (*pa_sample_spec_valid)(const pa_sample_spec*);
+extern int (*pa_sample_spec_equal)(const pa_sample_spec*,const pa_sample_spec*);
+extern const char* (*pa_sample_format_to_string)( pa_sample_format_t);
+extern pa_sample_format_t (*pa_parse_sample_format)(const char*);
+extern char* (*pa_sample_spec_snprint)( char*, size_t,const pa_sample_spec*);
+extern char* (*pa_bytes_snprint)( char*, size_t, unsigned);
+extern int (*pa_sample_format_is_le)( pa_sample_format_t);
+extern int (*pa_sample_format_is_be)( pa_sample_format_t);
+extern int (*pa_direction_valid)( pa_direction_t);
+extern const char* (*pa_direction_to_string)( pa_direction_t);
+extern void (*pa_mainloop_api_once)( pa_mainloop_api*, void*, void*);
+extern pa_proplist* (*pa_proplist_new)( void);
+extern void (*pa_proplist_free)( pa_proplist*);
+extern int (*pa_proplist_key_valid)(const char*);
+extern int (*pa_proplist_sets)( pa_proplist*,const char*,const char*);
+extern int (*pa_proplist_setp)( pa_proplist*,const char*);
+extern int (*pa_proplist_setf)( pa_proplist*,const char*,const char*,...);
+extern int (*pa_proplist_set)( pa_proplist*,const char*,const void*, size_t);
+extern const char* (*pa_proplist_gets)(const pa_proplist*,const char*);
+extern int (*pa_proplist_get)(const pa_proplist*,const char*,const void**, size_t*);
+extern void (*pa_proplist_update)( pa_proplist*, pa_update_mode_t,const pa_proplist*);
+extern int (*pa_proplist_unset)( pa_proplist*,const char*);
+extern int (*pa_proplist_unset_many)( pa_proplist*,const char* []);
+extern const char* (*pa_proplist_iterate)(const pa_proplist*, void**);
+extern char* (*pa_proplist_to_string)(const pa_proplist*);
+extern char* (*pa_proplist_to_string_sep)(const pa_proplist*,const char*);
+extern pa_proplist* (*pa_proplist_from_string)(const char*);
+extern int (*pa_proplist_contains)(const pa_proplist*,const char*);
+extern void (*pa_proplist_clear)( pa_proplist*);
+extern pa_proplist* (*pa_proplist_copy)(const pa_proplist*);
+extern unsigned (*pa_proplist_size)(const pa_proplist*);
+extern int (*pa_proplist_isempty)(const pa_proplist*);
+extern int (*pa_proplist_equal)(const pa_proplist*,const pa_proplist*);
+extern pa_channel_map* (*pa_channel_map_init)( pa_channel_map*);
+extern pa_channel_map* (*pa_channel_map_init_mono)( pa_channel_map*);
+extern pa_channel_map* (*pa_channel_map_init_stereo)( pa_channel_map*);
+extern pa_channel_map* (*pa_channel_map_init_auto)( pa_channel_map*, unsigned, pa_channel_map_def_t);
+extern pa_channel_map* (*pa_channel_map_init_extend)( pa_channel_map*, unsigned, pa_channel_map_def_t);
+extern const char* (*pa_channel_position_to_string)( pa_channel_position_t);
+extern pa_channel_position_t (*pa_channel_position_from_string)(const char*);
+extern const char* (*pa_channel_position_to_pretty_string)( pa_channel_position_t);
+extern char* (*pa_channel_map_snprint)( char*, size_t,const pa_channel_map*);
+extern pa_channel_map* (*pa_channel_map_parse)( pa_channel_map*,const char*);
+extern int (*pa_channel_map_equal)(const pa_channel_map*,const pa_channel_map*);
+extern int (*pa_channel_map_valid)(const pa_channel_map*);
+extern int (*pa_channel_map_compatible)(const pa_channel_map*,const pa_sample_spec*);
+extern int (*pa_channel_map_superset)(const pa_channel_map*,const pa_channel_map*);
+extern int (*pa_channel_map_can_balance)(const pa_channel_map*);
+extern int (*pa_channel_map_can_fade)(const pa_channel_map*);
+extern int (*pa_channel_map_can_lfe_balance)(const pa_channel_map*);
+extern const char* (*pa_channel_map_to_name)(const pa_channel_map*);
+extern const char* (*pa_channel_map_to_pretty_name)(const pa_channel_map*);
+extern int (*pa_channel_map_has_position)(const pa_channel_map*, pa_channel_position_t);
+extern pa_channel_position_mask_t (*pa_channel_map_mask)(const pa_channel_map*);
+extern const char* (*pa_encoding_to_string)( pa_encoding_t);
+extern pa_encoding_t (*pa_encoding_from_string)(const char*);
+extern pa_format_info* (*pa_format_info_new)( void);
+extern pa_format_info* (*pa_format_info_copy)(const pa_format_info*);
+extern void (*pa_format_info_free)( pa_format_info*);
+extern int (*pa_format_info_valid)(const pa_format_info*);
+extern int (*pa_format_info_is_pcm)(const pa_format_info*);
+extern int (*pa_format_info_is_compatible)(const pa_format_info*,const pa_format_info*);
+extern char* (*pa_format_info_snprint)( char*, size_t,const pa_format_info*);
+extern pa_format_info* (*pa_format_info_from_string)(const char*);
+extern pa_format_info* (*pa_format_info_from_sample_spec)(const pa_sample_spec*,const pa_channel_map*);
+extern int (*pa_format_info_to_sample_spec)(const pa_format_info*, pa_sample_spec*, pa_channel_map*);
+extern pa_prop_type_t (*pa_format_info_get_prop_type)(const pa_format_info*,const char*);
+extern int (*pa_format_info_get_prop_int)(const pa_format_info*,const char*, int*);
+extern int (*pa_format_info_get_prop_int_range)(const pa_format_info*,const char*, int*, int*);
+extern int (*pa_format_info_get_prop_int_array)(const pa_format_info*,const char*, int**, int*);
+extern int (*pa_format_info_get_prop_string)(const pa_format_info*,const char*, char**);
+extern int (*pa_format_info_get_prop_string_array)(const pa_format_info*,const char*, char***, int*);
+extern void (*pa_format_info_free_string_array)( char**, int);
+extern int (*pa_format_info_get_sample_format)(const pa_format_info*, pa_sample_format_t*);
+extern int (*pa_format_info_get_rate)(const pa_format_info*, uint32_t*);
+extern int (*pa_format_info_get_channels)(const pa_format_info*, uint8_t*);
+extern int (*pa_format_info_get_channel_map)(const pa_format_info*, pa_channel_map*);
+extern void (*pa_format_info_set_prop_int)( pa_format_info*,const char*, int);
+extern void (*pa_format_info_set_prop_int_array)( pa_format_info*,const char*,const int*, int);
+extern void (*pa_format_info_set_prop_int_range)( pa_format_info*,const char*, int, int);
+extern void (*pa_format_info_set_prop_string)( pa_format_info*,const char*,const char*);
+extern void (*pa_format_info_set_prop_string_array)( pa_format_info*,const char*,const char**, int);
+extern void (*pa_format_info_set_sample_format)( pa_format_info*, pa_sample_format_t);
+extern void (*pa_format_info_set_rate)( pa_format_info*, int);
+extern void (*pa_format_info_set_channels)( pa_format_info*, int);
+extern void (*pa_format_info_set_channel_map)( pa_format_info*,const pa_channel_map*);
+extern pa_operation* (*pa_operation_ref)( pa_operation*);
+extern void (*pa_operation_unref)( pa_operation*);
+extern void (*pa_operation_cancel)( pa_operation*);
+extern pa_operation_state_t (*pa_operation_get_state)(const pa_operation*);
+extern void (*pa_operation_set_state_callback)( pa_operation*, pa_operation_notify_cb_t, void*);
+extern pa_context* (*pa_context_new)( pa_mainloop_api*,const char*);
+extern pa_context* (*pa_context_new_with_proplist)( pa_mainloop_api*,const char*,const pa_proplist*);
+extern void (*pa_context_unref)( pa_context*);
+extern pa_context* (*pa_context_ref)( pa_context*);
+extern void (*pa_context_set_state_callback)( pa_context*, pa_context_notify_cb_t, void*);
+extern void (*pa_context_set_event_callback)( pa_context*, pa_context_event_cb_t, void*);
+extern int (*pa_context_errno)(const pa_context*);
+extern int (*pa_context_is_pending)(const pa_context*);
+extern pa_context_state_t (*pa_context_get_state)(const pa_context*);
+extern int (*pa_context_connect)( pa_context*,const char*, pa_context_flags_t,const pa_spawn_api*);
+extern void (*pa_context_disconnect)( pa_context*);
+extern pa_operation* (*pa_context_drain)( pa_context*, pa_context_notify_cb_t, void*);
+extern pa_operation* (*pa_context_exit_daemon)( pa_context*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_default_sink)( pa_context*,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_default_source)( pa_context*,const char*, pa_context_success_cb_t, void*);
+extern int (*pa_context_is_local)(const pa_context*);
+extern pa_operation* (*pa_context_set_name)( pa_context*,const char*, pa_context_success_cb_t, void*);
+extern const char* (*pa_context_get_server)(const pa_context*);
+extern uint32_t (*pa_context_get_protocol_version)(const pa_context*);
+extern uint32_t (*pa_context_get_server_protocol_version)(const pa_context*);
+extern pa_operation* (*pa_context_proplist_update)( pa_context*, pa_update_mode_t,const pa_proplist*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_proplist_remove)( pa_context*,const char* [], pa_context_success_cb_t, void*);
+extern uint32_t (*pa_context_get_index)(const pa_context*);
+extern pa_time_event* (*pa_context_rttime_new)(const pa_context*, pa_usec_t, pa_time_event_cb_t, void*);
+extern void (*pa_context_rttime_restart)(const pa_context*, pa_time_event*, pa_usec_t);
+extern size_t (*pa_context_get_tile_size)(const pa_context*,const pa_sample_spec*);
+extern int (*pa_context_load_cookie_from_file)( pa_context*,const char*);
+extern int (*pa_cvolume_equal)(const pa_cvolume*,const pa_cvolume*);
+extern pa_cvolume* (*pa_cvolume_init)( pa_cvolume*);
+extern pa_cvolume* (*pa_cvolume_set)( pa_cvolume*, unsigned, pa_volume_t);
+extern char* (*pa_cvolume_snprint)( char*, size_t,const pa_cvolume*);
+extern char* (*pa_sw_cvolume_snprint_dB)( char*, size_t,const pa_cvolume*);
+extern char* (*pa_cvolume_snprint_verbose)( char*, size_t,const pa_cvolume*,const pa_channel_map*, int);
+extern char* (*pa_volume_snprint)( char*, size_t, pa_volume_t);
+extern char* (*pa_sw_volume_snprint_dB)( char*, size_t, pa_volume_t);
+extern char* (*pa_volume_snprint_verbose)( char*, size_t, pa_volume_t, int);
+extern pa_volume_t (*pa_cvolume_avg)(const pa_cvolume*);
+extern pa_volume_t (*pa_cvolume_avg_mask)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t);
+extern pa_volume_t (*pa_cvolume_max)(const pa_cvolume*);
+extern pa_volume_t (*pa_cvolume_max_mask)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t);
+extern pa_volume_t (*pa_cvolume_min)(const pa_cvolume*);
+extern pa_volume_t (*pa_cvolume_min_mask)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t);
+extern int (*pa_cvolume_valid)(const pa_cvolume*);
+extern int (*pa_cvolume_channels_equal_to)(const pa_cvolume*, pa_volume_t);
+extern pa_volume_t (*pa_sw_volume_multiply)( pa_volume_t, pa_volume_t);
+extern pa_cvolume* (*pa_sw_cvolume_multiply)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*);
+extern pa_cvolume* (*pa_sw_cvolume_multiply_scalar)( pa_cvolume*,const pa_cvolume*, pa_volume_t);
+extern pa_volume_t (*pa_sw_volume_divide)( pa_volume_t, pa_volume_t);
+extern pa_cvolume* (*pa_sw_cvolume_divide)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*);
+extern pa_cvolume* (*pa_sw_cvolume_divide_scalar)( pa_cvolume*,const pa_cvolume*, pa_volume_t);
+extern pa_volume_t (*pa_sw_volume_from_dB)( double);
+extern double (*pa_sw_volume_to_dB)( pa_volume_t);
+extern pa_volume_t (*pa_sw_volume_from_linear)( double);
+extern double (*pa_sw_volume_to_linear)( pa_volume_t);
+extern pa_cvolume* (*pa_cvolume_remap)( pa_cvolume*,const pa_channel_map*,const pa_channel_map*);
+extern int (*pa_cvolume_compatible)(const pa_cvolume*,const pa_sample_spec*);
+extern int (*pa_cvolume_compatible_with_channel_map)(const pa_cvolume*,const pa_channel_map*);
+extern float (*pa_cvolume_get_balance)(const pa_cvolume*,const pa_channel_map*);
+extern pa_cvolume* (*pa_cvolume_set_balance)( pa_cvolume*,const pa_channel_map*, float);
+extern float (*pa_cvolume_get_fade)(const pa_cvolume*,const pa_channel_map*);
+extern pa_cvolume* (*pa_cvolume_set_fade)( pa_cvolume*,const pa_channel_map*, float);
+extern float (*pa_cvolume_get_lfe_balance)(const pa_cvolume*,const pa_channel_map*);
+extern pa_cvolume* (*pa_cvolume_set_lfe_balance)( pa_cvolume*,const pa_channel_map*, float);
+extern pa_cvolume* (*pa_cvolume_scale)( pa_cvolume*, pa_volume_t);
+extern pa_cvolume* (*pa_cvolume_scale_mask)( pa_cvolume*, pa_volume_t,const pa_channel_map*, pa_channel_position_mask_t);
+extern pa_cvolume* (*pa_cvolume_set_position)( pa_cvolume*,const pa_channel_map*, pa_channel_position_t, pa_volume_t);
+extern pa_volume_t (*pa_cvolume_get_position)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_t);
+extern pa_cvolume* (*pa_cvolume_merge)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*);
+extern pa_cvolume* (*pa_cvolume_inc_clamp)( pa_cvolume*, pa_volume_t, pa_volume_t);
+extern pa_cvolume* (*pa_cvolume_inc)( pa_cvolume*, pa_volume_t);
+extern pa_cvolume* (*pa_cvolume_dec)( pa_cvolume*, pa_volume_t);
+extern pa_stream* (*pa_stream_new)( pa_context*,const char*,const pa_sample_spec*,const pa_channel_map*);
+extern pa_stream* (*pa_stream_new_with_proplist)( pa_context*,const char*,const pa_sample_spec*,const pa_channel_map*, pa_proplist*);
+extern pa_stream* (*pa_stream_new_extended)( pa_context*,const char*, pa_format_info**, unsigned int, pa_proplist*);
+extern void (*pa_stream_unref)( pa_stream*);
+extern pa_stream* (*pa_stream_ref)( pa_stream*);
+extern pa_stream_state_t (*pa_stream_get_state)(const pa_stream*);
+extern pa_context* (*pa_stream_get_context)(const pa_stream*);
+extern uint32_t (*pa_stream_get_index)(const pa_stream*);
+extern uint32_t (*pa_stream_get_device_index)(const pa_stream*);
+extern const char* (*pa_stream_get_device_name)(const pa_stream*);
+extern int (*pa_stream_is_suspended)(const pa_stream*);
+extern int (*pa_stream_is_corked)(const pa_stream*);
+extern int (*pa_stream_connect_playback)( pa_stream*,const char*,const pa_buffer_attr*, pa_stream_flags_t,const pa_cvolume*, pa_stream*);
+extern int (*pa_stream_connect_record)( pa_stream*,const char*,const pa_buffer_attr*, pa_stream_flags_t);
+extern int (*pa_stream_disconnect)( pa_stream*);
+extern int (*pa_stream_begin_write)( pa_stream*, void**, size_t*);
+extern int (*pa_stream_cancel_write)( pa_stream*);
+extern int (*pa_stream_write)( pa_stream*,const void*, size_t, pa_free_cb_t, int64_t, pa_seek_mode_t);
+extern int (*pa_stream_write_ext_free)( pa_stream*,const void*, size_t, pa_free_cb_t, void*, int64_t, pa_seek_mode_t);
+extern int (*pa_stream_peek)( pa_stream*,const void**, size_t*);
+extern int (*pa_stream_drop)( pa_stream*);
+extern size_t (*pa_stream_writable_size)(const pa_stream*);
+extern size_t (*pa_stream_readable_size)(const pa_stream*);
+extern pa_operation* (*pa_stream_drain)( pa_stream*, pa_stream_success_cb_t, void*);
+extern pa_operation* (*pa_stream_update_timing_info)( pa_stream*, pa_stream_success_cb_t, void*);
+extern void (*pa_stream_set_state_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+extern void (*pa_stream_set_write_callback)( pa_stream*, pa_stream_request_cb_t, void*);
+extern void (*pa_stream_set_read_callback)( pa_stream*, pa_stream_request_cb_t, void*);
+extern void (*pa_stream_set_overflow_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+extern int64_t (*pa_stream_get_underflow_index)(const pa_stream*);
+extern void (*pa_stream_set_underflow_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+extern void (*pa_stream_set_started_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+extern void (*pa_stream_set_latency_update_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+extern void (*pa_stream_set_moved_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+extern void (*pa_stream_set_suspended_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+extern void (*pa_stream_set_event_callback)( pa_stream*, pa_stream_event_cb_t, void*);
+extern void (*pa_stream_set_buffer_attr_callback)( pa_stream*, pa_stream_notify_cb_t, void*);
+extern pa_operation* (*pa_stream_cork)( pa_stream*, int, pa_stream_success_cb_t, void*);
+extern pa_operation* (*pa_stream_flush)( pa_stream*, pa_stream_success_cb_t, void*);
+extern pa_operation* (*pa_stream_prebuf)( pa_stream*, pa_stream_success_cb_t, void*);
+extern pa_operation* (*pa_stream_trigger)( pa_stream*, pa_stream_success_cb_t, void*);
+extern pa_operation* (*pa_stream_set_name)( pa_stream*,const char*, pa_stream_success_cb_t, void*);
+extern int (*pa_stream_get_time)( pa_stream*, pa_usec_t*);
+extern int (*pa_stream_get_latency)( pa_stream*, pa_usec_t*, int*);
+extern const pa_timing_info* (*pa_stream_get_timing_info)( pa_stream*);
+extern const pa_sample_spec* (*pa_stream_get_sample_spec)( pa_stream*);
+extern const pa_channel_map* (*pa_stream_get_channel_map)( pa_stream*);
+extern const pa_format_info* (*pa_stream_get_format_info)(const pa_stream*);
+extern const pa_buffer_attr* (*pa_stream_get_buffer_attr)( pa_stream*);
+extern pa_operation* (*pa_stream_set_buffer_attr)( pa_stream*,const pa_buffer_attr*, pa_stream_success_cb_t, void*);
+extern pa_operation* (*pa_stream_update_sample_rate)( pa_stream*, uint32_t, pa_stream_success_cb_t, void*);
+extern pa_operation* (*pa_stream_proplist_update)( pa_stream*, pa_update_mode_t, pa_proplist*, pa_stream_success_cb_t, void*);
+extern pa_operation* (*pa_stream_proplist_remove)( pa_stream*,const char* [], pa_stream_success_cb_t, void*);
+extern int (*pa_stream_set_monitor_stream)( pa_stream*, uint32_t);
+extern uint32_t (*pa_stream_get_monitor_stream)(const pa_stream*);
+extern pa_operation* (*pa_context_get_sink_info_by_name)( pa_context*,const char*, pa_sink_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_sink_info_by_index)( pa_context*, uint32_t, pa_sink_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_sink_info_list)( pa_context*, pa_sink_info_cb_t, void*);
+extern pa_operation* (*pa_context_set_sink_volume_by_index)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_sink_volume_by_name)( pa_context*,const char*,const pa_cvolume*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_sink_mute_by_index)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_sink_mute_by_name)( pa_context*,const char*, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_suspend_sink_by_name)( pa_context*,const char*, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_suspend_sink_by_index)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_sink_port_by_index)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_sink_port_by_name)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_get_source_info_by_name)( pa_context*,const char*, pa_source_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_source_info_by_index)( pa_context*, uint32_t, pa_source_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_source_info_list)( pa_context*, pa_source_info_cb_t, void*);
+extern pa_operation* (*pa_context_set_source_volume_by_index)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_source_volume_by_name)( pa_context*,const char*,const pa_cvolume*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_source_mute_by_index)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_source_mute_by_name)( pa_context*,const char*, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_suspend_source_by_name)( pa_context*,const char*, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_suspend_source_by_index)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_source_port_by_index)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_source_port_by_name)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_get_server_info)( pa_context*, pa_server_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_module_info)( pa_context*, uint32_t, pa_module_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_module_info_list)( pa_context*, pa_module_info_cb_t, void*);
+extern pa_operation* (*pa_context_load_module)( pa_context*,const char*,const char*, pa_context_index_cb_t, void*);
+extern pa_operation* (*pa_context_unload_module)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_get_client_info)( pa_context*, uint32_t, pa_client_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_client_info_list)( pa_context*, pa_client_info_cb_t, void*);
+extern pa_operation* (*pa_context_kill_client)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_get_card_info_by_index)( pa_context*, uint32_t, pa_card_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_card_info_by_name)( pa_context*,const char*, pa_card_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_card_info_list)( pa_context*, pa_card_info_cb_t, void*);
+extern pa_operation* (*pa_context_set_card_profile_by_index)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_card_profile_by_name)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_port_latency_offset)( pa_context*,const char*,const char*, int64_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_get_sink_input_info)( pa_context*, uint32_t, pa_sink_input_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_sink_input_info_list)( pa_context*, pa_sink_input_info_cb_t, void*);
+extern pa_operation* (*pa_context_move_sink_input_by_name)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_move_sink_input_by_index)( pa_context*, uint32_t, uint32_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_sink_input_volume)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_sink_input_mute)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_kill_sink_input)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_get_source_output_info)( pa_context*, uint32_t, pa_source_output_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_source_output_info_list)( pa_context*, pa_source_output_info_cb_t, void*);
+extern pa_operation* (*pa_context_move_source_output_by_name)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_move_source_output_by_index)( pa_context*, uint32_t, uint32_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_source_output_volume)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_set_source_output_mute)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_kill_source_output)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_stat)( pa_context*, pa_stat_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_sample_info_by_name)( pa_context*,const char*, pa_sample_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_sample_info_by_index)( pa_context*, uint32_t, pa_sample_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_sample_info_list)( pa_context*, pa_sample_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_autoload_info_by_name)( pa_context*,const char*, pa_autoload_type_t, pa_autoload_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_autoload_info_by_index)( pa_context*, uint32_t, pa_autoload_info_cb_t, void*);
+extern pa_operation* (*pa_context_get_autoload_info_list)( pa_context*, pa_autoload_info_cb_t, void*);
+extern pa_operation* (*pa_context_add_autoload)( pa_context*,const char*, pa_autoload_type_t,const char*,const char*, pa_context_index_cb_t, void*);
+extern pa_operation* (*pa_context_remove_autoload_by_name)( pa_context*,const char*, pa_autoload_type_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_remove_autoload_by_index)( pa_context*, uint32_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_subscribe)( pa_context*, pa_subscription_mask_t, pa_context_success_cb_t, void*);
+extern void (*pa_context_set_subscribe_callback)( pa_context*, pa_context_subscribe_cb_t, void*);
+extern int (*pa_stream_connect_upload)( pa_stream*, size_t);
+extern int (*pa_stream_finish_upload)( pa_stream*);
+extern pa_operation* (*pa_context_remove_sample)( pa_context*,const char*, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_play_sample)( pa_context*,const char*,const char*, pa_volume_t, pa_context_success_cb_t, void*);
+extern pa_operation* (*pa_context_play_sample_with_proplist)( pa_context*,const char*,const char*, pa_volume_t,const pa_proplist*, pa_context_play_sample_cb_t, void*);
+extern const char* (*pa_strerror)( int);
+extern void* (*pa_xmalloc)( size_t);
+extern void* (*pa_xmalloc0)( size_t);
+extern void* (*pa_xrealloc)( void*, size_t);
+extern void (*pa_xfree)( void*);
+extern char* (*pa_xstrdup)(const char*);
+extern char* (*pa_xstrndup)(const char*, size_t);
+extern void* (*pa_xmemdup)(const void*, size_t);
+extern char* (*pa_utf8_valid)(const char*);
+extern char* (*pa_ascii_valid)(const char*);
+extern char* (*pa_utf8_filter)(const char*);
+extern char* (*pa_ascii_filter)(const char*);
+extern char* (*pa_utf8_to_locale)(const char*);
+extern char* (*pa_locale_to_utf8)(const char*);
+extern pa_threaded_mainloop* (*pa_threaded_mainloop_new)( void);
+extern void (*pa_threaded_mainloop_free)( pa_threaded_mainloop*);
+extern int (*pa_threaded_mainloop_start)( pa_threaded_mainloop*);
+extern void (*pa_threaded_mainloop_stop)( pa_threaded_mainloop*);
+extern void (*pa_threaded_mainloop_lock)( pa_threaded_mainloop*);
+extern void (*pa_threaded_mainloop_unlock)( pa_threaded_mainloop*);
+extern void (*pa_threaded_mainloop_wait)( pa_threaded_mainloop*);
+extern void (*pa_threaded_mainloop_signal)( pa_threaded_mainloop*, int);
+extern void (*pa_threaded_mainloop_accept)( pa_threaded_mainloop*);
+extern int (*pa_threaded_mainloop_get_retval)(const pa_threaded_mainloop*);
+extern pa_mainloop_api* (*pa_threaded_mainloop_get_api)( pa_threaded_mainloop*);
+extern int (*pa_threaded_mainloop_in_thread)( pa_threaded_mainloop*);
+extern void (*pa_threaded_mainloop_set_name)( pa_threaded_mainloop*,const char*);
+extern void (*pa_threaded_mainloop_once_unlocked)( pa_threaded_mainloop*, void*, void*);
+extern pa_mainloop* (*pa_mainloop_new)( void);
+extern void (*pa_mainloop_free)( pa_mainloop*);
+extern int (*pa_mainloop_prepare)( pa_mainloop*, int);
+extern int (*pa_mainloop_poll)( pa_mainloop*);
+extern int (*pa_mainloop_dispatch)( pa_mainloop*);
+extern int (*pa_mainloop_get_retval)(const pa_mainloop*);
+extern int (*pa_mainloop_iterate)( pa_mainloop*, int, int*);
+extern int (*pa_mainloop_run)( pa_mainloop*, int*);
+extern pa_mainloop_api* (*pa_mainloop_get_api)( pa_mainloop*);
+extern void (*pa_mainloop_quit)( pa_mainloop*, int);
+extern void (*pa_mainloop_wakeup)( pa_mainloop*);
+extern void (*pa_mainloop_set_poll_func)( pa_mainloop*, pa_poll_func, void*);
+extern int (*pa_signal_init)( pa_mainloop_api*);
+extern void (*pa_signal_done)( void);
+extern pa_signal_event* (*pa_signal_new)( int, pa_signal_cb_t, void*);
+extern void (*pa_signal_free)( pa_signal_event*);
+extern void (*pa_signal_set_destroy)( pa_signal_event*, pa_signal_destroy_cb_t);
+extern char* (*pa_get_user_name)( char*, size_t);
+extern char* (*pa_get_host_name)( char*, size_t);
+extern char* (*pa_get_fqdn)( char*, size_t);
+extern char* (*pa_get_home_dir)( char*, size_t);
+extern char* (*pa_get_binary_name)( char*, size_t);
+extern char* (*pa_path_get_filename)(const char*);
+extern int (*pa_msleep)( unsigned long);
+extern int (*pa_thread_make_realtime)( int);
+extern struct timeval* (*pa_gettimeofday)(struct timeval*);
+extern pa_usec_t (*pa_timeval_diff)(struct timeval*,struct timeval*);
+extern int (*pa_timeval_cmp)(struct timeval*,struct timeval*);
+extern pa_usec_t (*pa_timeval_age)(struct timeval*);
+extern struct timeval* (*pa_timeval_add)(struct timeval*, pa_usec_t);
+extern struct timeval* (*pa_timeval_sub)(struct timeval*, pa_usec_t);
+extern struct timeval* (*pa_timeval_store)(struct timeval*, pa_usec_t);
+extern pa_usec_t (*pa_timeval_load)(struct timeval*);
+extern pa_usec_t (*pa_rtclock_now)( void);
+int initialize_pulse();
+#ifdef __cplusplus
+}
+#endif