summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libasound.c9
-rw-r--r--stubs.h1
2 files changed, 9 insertions, 1 deletions
diff --git a/libasound.c b/libasound.c
index 5dcbdbe..0f2ca45 100644
--- a/libasound.c
+++ b/libasound.c
@@ -137,6 +137,7 @@ struct _snd_pcm_hw_params {
struct sio_cap cap;
struct sio_par par;
snd_pcm_format_t alsa_format;
+ snd_pcm_access_t access;
bool needs_conversion; // for unsupported formats
};
@@ -532,6 +533,7 @@ snd_pcm_hw_params_set_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pc
if (_access != SND_PCM_ACCESS_RW_INTERLEAVED)
goto fail;
+ params->access = _access;
return 0;
fail:
@@ -539,6 +541,13 @@ fail:
return -1;
}
+int
+snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params, snd_pcm_access_t *_access)
+{
+ if (_access) *_access = params->access;
+ return 0;
+}
+
const char*
snd_pcm_format_name(const snd_pcm_format_t format)
{
diff --git a/stubs.h b/stubs.h
index f51e679..3819f3f 100644
--- a/stubs.h
+++ b/stubs.h
@@ -552,7 +552,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_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; }
int snd_pcm_hw_params_set_access_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *_access) { WARNX1("stub"); return 0; }