diff options
-rw-r--r-- | gen-stubs.bash | 2 | ||||
-rw-r--r-- | libasound.c | 51 | ||||
-rw-r--r-- | stubs.h | 7 |
3 files changed, 52 insertions, 8 deletions
diff --git a/gen-stubs.bash b/gen-stubs.bash index 734dc2e..88f3366 100644 --- a/gen-stubs.bash +++ b/gen-stubs.bash @@ -19,7 +19,7 @@ should_error() { # stubs that should return error value grep -Fqs "$(cat << EOF -snd_card_ +_malloc snd_config_ EOF )" <<<"$1" diff --git a/libasound.c b/libasound.c index 3d67f6b..62b7691 100644 --- a/libasound.c +++ b/libasound.c @@ -49,6 +49,43 @@ int snd_lib_error_set_handler(snd_lib_error_handler_t handler) struct _snd_config { char noop; } s_snd_config; struct _snd_config *snd_config = &s_snd_config; +int +snd_card_load(int card) +{ + return 0; +} + +int +snd_card_next(int *card) +{ + if (card) { + *card = (*card == -1 ? 0 : -1); + return 0; + } + return -1; +} + +int +snd_card_get_index(const char *name) +{ + if (!strcmp(name, "default")) + return 0; + return -1; +} + +int +snd_card_get_name(int card, char **name) +{ + if (name) *name = "default"; + return 0; +} + +int snd_card_get_longname(int card, char **name) +{ + if (name) *name = "default"; + return 0; +} + struct _snd_pcm_hint { char *name, *ioid; }; int @@ -497,6 +534,20 @@ snd_pcm_format_mask_sizeof(void) return sizeof(snd_pcm_format_mask_t); } +int +snd_pcm_hw_params_malloc(snd_pcm_hw_params_t **ptr) +{ + // OpenAL-soft uses this :( + *ptr = calloc(1, sizeof(**ptr)); + return (*ptr ? 0 : -1); +} + +void +snd_pcm_hw_params_free(snd_pcm_hw_params_t *obj) +{ + free(obj); +} + void snd_pcm_hw_params_get_format_mask(snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask) { @@ -55,11 +55,6 @@ int snd_config_get_ctl_iface_ascii(const char *ascii) { WARNX1("stub"); return - int snd_config_get_ctl_iface(const snd_config_t *conf) { WARNX1("stub"); return -1; } int snd_names_list(const char *iface, snd_devname_t **list) { WARNX1("stub"); return 0; } void snd_names_list_free(snd_devname_t *list) { WARNX1("stub"); } -int snd_card_load(int card) { WARNX1("stub"); return -1; } -int snd_card_next(int *card) { WARNX1("stub"); return -1; } -int snd_card_get_index(const char *name) { WARNX1("stub"); return -1; } -int snd_card_get_name(int card, char **name) { WARNX1("stub"); return -1; } -int snd_card_get_longname(int card, char **name) { WARNX1("stub"); return -1; } int snd_ctl_open(snd_ctl_t **ctl, const char *name, int mode) { WARNX1("stub"); return 0; } int snd_ctl_open_lconf(snd_ctl_t **ctl, const char *name, int mode, snd_config_t *lconf) { WARNX1("stub"); return 0; } int snd_ctl_open_fallback(snd_ctl_t **ctl, snd_config_t *root, const char *name, const char *orig_name, int mode) { WARNX1("stub"); return 0; } @@ -545,8 +540,6 @@ int snd_pcm_hw_params_get_rate_numden(const snd_pcm_hw_params_t *params, unsigne int snd_pcm_hw_params_get_sbits(const snd_pcm_hw_params_t *params) { WARNX1("stub"); return 0; } int snd_pcm_hw_params_get_fifo_size(const snd_pcm_hw_params_t *params) { WARNX1("stub"); return 0; } int snd_pcm_hw_params_try_explain_failure(snd_pcm_t *pcm, snd_pcm_hw_params_t *fail, snd_pcm_hw_params_t *success, unsigned int depth, snd_output_t *out) { WARNX1("stub"); return 0; } -int snd_pcm_hw_params_malloc(snd_pcm_hw_params_t **ptr) { WARNX1("stub"); return 0; } -void snd_pcm_hw_params_free(snd_pcm_hw_params_t *obj) { WARNX1("stub"); } int snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params, snd_pcm_access_t *_access) { WARNX1("stub"); return 0; } int snd_pcm_hw_params_test_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t _access) { WARNX1("stub"); return 0; } int snd_pcm_hw_params_set_access_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *_access) { WARNX1("stub"); return 0; } |