Wow, Takashi!
What a mighty collection of stuff, tnx for taking the time to enumerate all of this!
On Fri, 23 Nov 2007 16:25:42 +0100 "Takashi Iwai" tiwai@suse.de wrote:
At Fri, 23 Nov 2007 15:54:38 +0100, I wrote:
At Wed, 21 Nov 2007 17:31:26 +0100, I wrote:
What I'd like to do now are:
- create a list of "standard" functions to be passed to LSB
- clean up and actually drop some non-used functions
- remove some functions from export list (in Versions file)
I'll try to create a list. Basically it'll be almost as same as the list of functions with count > 0, plus some related ones.
OK, here is the white list. I paste it below at this time.
It doesn't include the new functions regarding TLV and dB level. Also, some functions are not listed intentionally. They will be listed in the next mail.
Here it is, the black list.
These are functions that are not worth to be in the standard list. They are never used or shouldn't be used any more. Some are functions / variables that are exported but supposed to be internal-only.
I think we can mark them deprecated and get rid of the header files in future.
Takashi
===
/* internal only */ snd_shm_area_create snd_shm_area_share snd_shm_area_destroy
/* internal only */ snd_dlopen snd_dlsym snd_dlclose
/* internal only */ snd_user_file snd_dlsym_start
/* conf.c - no use */ snd_config_load_override snd_config_update_r
/* internal */ snd_config_search_alias_hooks snd_config_substitute
/* deprecated */ snd_names_list snd_names_list_free
/* ctl - no use */ snd_ctl_open_lconf /* no use, and they can be redundant (retrieved from *_get_id()) */ snd_ctl_event_elem_get_numid snd_ctl_event_elem_get_interface snd_ctl_event_elem_get_device snd_ctl_event_elem_get_subdevice snd_ctl_event_elem_get_name snd_ctl_event_elem_get_index /* ditto */ snd_ctl_elem_list_get_interface snd_ctl_elem_list_get_device snd_ctl_elem_list_get_subdevice snd_ctl_elem_list_get_index
/* dimension feature isn't properly used */ snd_ctl_elem_info_get_dimensions snd_ctl_elem_info_get_dimension
/* no use, redundant */ snd_ctl_elem_info_get_interface snd_ctl_elem_info_get_device snd_ctl_elem_info_get_subdevice snd_ctl_elem_info_get_index snd_ctl_elem_info_set_numid /* ditto */ snd_ctl_elem_info_set_interface snd_ctl_elem_info_set_device snd_ctl_elem_info_set_subdevice snd_ctl_elem_info_set_name snd_ctl_elem_info_set_index /* ditto */ snd_ctl_elem_value_get_interface snd_ctl_elem_value_get_device snd_ctl_elem_value_get_subdevice snd_ctl_elem_value_get_index /* ditto */ snd_ctl_elem_value_set_numid snd_ctl_elem_value_set_interface snd_ctl_elem_value_set_device snd_ctl_elem_value_set_subdevice snd_ctl_elem_value_set_name snd_ctl_elem_value_set_index
/* a wrong symbol name */ snd_ctl_elem_set_bytes
/* no use, redundant */ snd_hctl_elem_get_numid snd_hctl_elem_get_interface snd_hctl_elem_get_device snd_hctl_elem_get_subdevice snd_hctl_elem_get_name snd_hctl_elem_get_index
/* deprecated */ snd_ctl_set_power_state snd_ctl_get_power_state
/* deprecated */ snd_sctl_build snd_sctl_free snd_sctl_install snd_sctl_remove
/* mixer class is never used properly */ snd_mixer_class_unregister snd_mixer_class_register snd_mixer_add_elem snd_mixer_remove_elem snd_mixer_elem_new snd_mixer_elem_add snd_mixer_elem_remove snd_mixer_elem_free snd_mixer_elem_info snd_mixer_elem_value snd_mixer_elem_attach snd_mixer_elem_detach snd_mixer_elem_empty snd_mixer_elem_get_private snd_mixer_class_sizeof snd_mixer_class_malloc snd_mixer_class_free snd_mixer_class_copy snd_mixer_class_get_mixer snd_mixer_class_get_event snd_mixer_class_get_private snd_mixer_class_get_compare snd_mixer_class_set_event snd_mixer_class_set_private snd_mixer_class_set_private_free snd_mixer_class_set_compare
/* deprecated */ snd_pcm_set_params snd_pcm_get_params
/* useless parameters, implemented on no driver properly */ snd_pcm_hw_params_is_batch snd_pcm_hw_params_is_block_transfer snd_pcm_hw_params_can_overrange snd_pcm_hw_params_get_fifo_size
/* *_set_first() and *_set_last() are almost useless */ snd_pcm_hw_params_set_access_first snd_pcm_hw_params_set_access_last snd_pcm_hw_params_set_format_first snd_pcm_hw_params_set_format_last
/* subformat is useless, so far; we have even no proper definition */ snd_pcm_hw_params_get_subformat snd_pcm_hw_params_test_subformat snd_pcm_hw_params_set_subformat snd_pcm_hw_params_set_subformat_first snd_pcm_hw_params_set_subformat_last snd_pcm_hw_params_set_subformat_mask snd_pcm_hw_params_get_subformat_mask
/* set_min(), set_max(), set_minmax() are useless, too */ snd_pcm_hw_params_set_channels_min snd_pcm_hw_params_set_channels_max snd_pcm_hw_params_set_channels_minmax snd_pcm_hw_params_set_channels_first snd_pcm_hw_params_set_channels_last snd_pcm_hw_params_set_rate_min snd_pcm_hw_params_set_rate_max snd_pcm_hw_params_set_rate_minmax snd_pcm_hw_params_set_rate_first snd_pcm_hw_params_set_rate_last
/* export_buffer feature is never used except for aserver */ snd_pcm_hw_params_set_export_buffer snd_pcm_hw_params_get_export_buffer
/* min, max */ snd_pcm_hw_params_set_period_time_min snd_pcm_hw_params_set_period_time_max snd_pcm_hw_params_set_period_time_minmax snd_pcm_hw_params_set_period_time_first snd_pcm_hw_params_set_period_time_last snd_pcm_hw_params_set_period_size_min snd_pcm_hw_params_set_period_size_max snd_pcm_hw_params_set_period_size_minmax snd_pcm_hw_params_set_period_size_first snd_pcm_hw_params_set_period_size_last snd_pcm_hw_params_set_period_size_integer snd_pcm_hw_params_set_periods_min snd_pcm_hw_params_set_periods_max snd_pcm_hw_params_set_periods_minmax snd_pcm_hw_params_set_periods_first snd_pcm_hw_params_set_periods_last snd_pcm_hw_params_set_buffer_time_min snd_pcm_hw_params_set_buffer_time_max snd_pcm_hw_params_set_buffer_time_minmax snd_pcm_hw_params_set_buffer_time_first snd_pcm_hw_params_set_buffer_time_last snd_pcm_hw_params_set_buffer_size_min snd_pcm_hw_params_set_buffer_size_max snd_pcm_hw_params_set_buffer_size_minmax snd_pcm_hw_params_set_buffer_size_first snd_pcm_hw_params_set_buffer_size_last
/* tick_time is never used by any apps */ snd_pcm_hw_params_get_tick_time snd_pcm_hw_params_get_tick_time_min snd_pcm_hw_params_get_tick_time_max snd_pcm_hw_params_test_tick_time snd_pcm_hw_params_set_tick_time snd_pcm_hw_params_set_tick_time_min snd_pcm_hw_params_set_tick_time_max snd_pcm_hw_params_set_tick_time_minmax snd_pcm_hw_params_set_tick_time_near snd_pcm_hw_params_set_tick_time_first snd_pcm_hw_params_set_tick_time_last snd_pcm_hw_params_get_min_align
/* sleep_min is never used by apps (except for aplay as an option) */ snd_pcm_sw_params_set_sleep_min snd_pcm_sw_params_get_sleep_min
/* xfer_align is also superfluous */ snd_pcm_sw_params_set_xfer_align snd_pcm_sw_params_get_xfer_align
/* subformat is not defined nor used */ snd_pcm_subformat_mask_sizeof snd_pcm_subformat_mask_malloc snd_pcm_subformat_mask_free snd_pcm_subformat_mask_copy snd_pcm_subformat_mask_none snd_pcm_subformat_mask_any snd_pcm_subformat_mask_test snd_pcm_subformat_mask_empty snd_pcm_subformat_mask_set snd_pcm_subformat_mask_reset snd_pcm_status_get_overrange snd_pcm_subformat_name snd_pcm_subformat_description
/* this can be in the whitelist */ snd_pcm_format_size
/* should use snd_pcm_format_set_silence() */ snd_pcm_format_silence snd_pcm_format_silence_16 snd_pcm_format_silence_32 snd_pcm_format_silence_64
/* no real use of hook plugin (for apps) */ snd_pcm_hook_get_pcm snd_pcm_hook_get_private snd_pcm_hook_set_private snd_pcm_hook_add snd_pcm_hook_remove
/* no real use of meter plugin (for apps) */ snd_pcm_meter_get_bufsize snd_pcm_meter_get_channels snd_pcm_meter_get_rate snd_pcm_meter_get_now snd_pcm_meter_get_boundary snd_pcm_meter_add_scope snd_pcm_meter_search_scope snd_pcm_scope_malloc snd_pcm_scope_set_ops snd_pcm_scope_set_name snd_pcm_scope_get_name snd_pcm_scope_get_callback_private snd_pcm_scope_set_callback_private snd_pcm_scope_s16_open snd_pcm_scope_s16_get_channel_buffer
/* unfinished API, deprecated */ snd_spcm_init snd_spcm_init_duplex snd_spcm_init_get_params
/* deprecated */ snd_pcm_start_mode_name snd_pcm_xrun_mode_name snd_pcm_sw_params_set_start_mode snd_pcm_sw_params_get_start_mode snd_pcm_sw_params_set_xrun_mode snd_pcm_sw_params_get_xrun_mode
/* timer_query is never used, so far */ snd_timer_query_open snd_timer_query_open_lconf snd_timer_query_close snd_timer_query_next_device snd_timer_query_info snd_timer_query_params snd_timer_query_status snd_timer_open_lconf
/* ditto for timer_ginfo */ snd_timer_ginfo_sizeof snd_timer_ginfo_malloc snd_timer_ginfo_free snd_timer_ginfo_copy snd_timer_ginfo_set_tid snd_timer_ginfo_get_tid snd_timer_ginfo_get_flags snd_timer_ginfo_get_card snd_timer_ginfo_get_id snd_timer_ginfo_get_name snd_timer_ginfo_get_resolution snd_timer_ginfo_get_resolution_min snd_timer_ginfo_get_resolution_max snd_timer_ginfo_get_clients snd_timer_info_get_ticks
/* no use */ snd_seq_open_lconf
/* the sequencer filters are never used by any apps */ snd_seq_client_info_get_broadcast_filter snd_seq_client_info_get_error_bounce snd_seq_client_info_get_event_filter snd_seq_client_info_set_broadcast_filter snd_seq_client_info_set_error_bounce snd_seq_client_info_set_event_filter
/* pool adjustment has little demand */ snd_seq_client_pool_sizeof snd_seq_client_pool_malloc snd_seq_client_pool_free snd_seq_client_pool_copy snd_seq_client_pool_get_client snd_seq_client_pool_get_output_pool snd_seq_client_pool_get_input_pool snd_seq_client_pool_get_output_room snd_seq_client_pool_get_output_free snd_seq_client_pool_get_input_free snd_seq_client_pool_set_output_pool snd_seq_client_pool_set_input_pool snd_seq_client_pool_set_output_room snd_seq_get_client_pool snd_seq_set_client_pool
/* ditto for queue_info */ snd_seq_queue_info_sizeof snd_seq_queue_info_malloc snd_seq_queue_info_free snd_seq_queue_info_copy snd_seq_queue_info_get_queue snd_seq_queue_info_get_name snd_seq_queue_info_get_owner snd_seq_queue_info_get_locked snd_seq_queue_info_get_flags snd_seq_queue_info_set_name snd_seq_queue_info_set_owner snd_seq_queue_info_set_locked snd_seq_queue_info_set_flags snd_seq_create_queue snd_seq_get_queue_info snd_seq_set_queue_info snd_seq_query_named_queue snd_seq_get_queue_usage snd_seq_set_queue_usage
/* the queue tempo skew isn't used */ snd_seq_queue_tempo_get_skew snd_seq_queue_tempo_get_skew_base snd_seq_queue_tempo_set_skew snd_seq_queue_tempo_set_skew_base
/* no use */ snd_seq_queue_timer_sizeof snd_seq_queue_timer_malloc snd_seq_queue_timer_free snd_seq_queue_timer_copy snd_seq_queue_timer_get_queue snd_seq_queue_timer_get_type snd_seq_queue_timer_get_id snd_seq_queue_timer_get_resolution snd_seq_queue_timer_set_type snd_seq_queue_timer_set_id snd_seq_queue_timer_set_resolution snd_seq_get_queue_timer snd_seq_set_queue_timer
/* no use */ snd_seq_remove_events_sizeof snd_seq_remove_events_malloc snd_seq_remove_events_free snd_seq_remove_events_copy snd_seq_remove_events_get_condition snd_seq_remove_events_get_queue snd_seq_remove_events_get_time snd_seq_remove_events_get_dest snd_seq_remove_events_get_channel snd_seq_remove_events_get_event_type snd_seq_remove_events_get_tag snd_seq_remove_events_set_condition snd_seq_remove_events_set_queue snd_seq_remove_events_set_time snd_seq_remove_events_set_dest snd_seq_remove_events_set_channel snd_seq_remove_events_set_event_type snd_seq_remove_events_set_tag snd_seq_remove_events
/* superfluous trivial functions */ snd_seq_set_bit snd_seq_change_bit snd_seq_get_bit
/* no use */ snd_seq_set_client_event_filter snd_seq_set_client_pool_output snd_seq_set_client_pool_output_room snd_seq_set_client_pool_input snd_seq_reset_pool_output snd_seq_reset_pool_input
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel