aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-04-29 17:36:59 +0200
committerTakashi Iwai <tiwai@suse.de>2011-04-29 17:36:59 +0200
commit24009c8ebf99dcf9f852f64dfa6dcfd65e910c97 (patch)
tree443b1b6c151e07fddfef524d84e8be0125e8ccb2
parent90b85dfec985cb93a7282af28642c952657ccdec (diff)
downloadsalsa-lib-24009c8ebf99dcf9f852f64dfa6dcfd65e910c97.tar.gz
Add missing snd_pcm_hw_params_{set|get}_period_wakeup()
Also moved snd_pcm_hw_refind() as static inline to pcm_macros.h.
-rw-r--r--src/pcm_macros.h24
-rw-r--r--src/pcm_params.c7
2 files changed, 24 insertions, 7 deletions
diff --git a/src/pcm_macros.h b/src/pcm_macros.h
index e72c550..0ae3a98 100644
--- a/src/pcm_macros.h
+++ b/src/pcm_macros.h
@@ -386,6 +386,13 @@ ssize_t snd_pcm_samples_to_bytes(snd_pcm_t *pcm, long samples)
return samples * pcm->sample_bits / 8;
}
+static inline int snd_pcm_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
+{
+ if (ioctl(pcm->fd, SNDRV_PCM_IOCTL_HW_REFINE, params) < 0)
+ return -errno;
+ return 0;
+}
+
__SALSA_EXPORT_FUNC
int snd_pcm_hw_params_can_mmap_sample_resolution(const snd_pcm_hw_params_t *params)
{
@@ -1163,6 +1170,23 @@ int snd_pcm_hw_params_get_export_buffer(snd_pcm_t *pcm, snd_pcm_hw_params_t *par
}
__SALSA_EXPORT_FUNC
+int snd_pcm_hw_params_set_period_wakeup(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val)
+{
+ if (!val)
+ params->flags |= SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP;
+ else
+ params->flags &= ~SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP;
+ return snd_pcm_hw_refine(pcm, params);
+}
+
+__SALSA_EXPORT_FUNC
+int snd_pcm_hw_params_get_period_wakeup(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
+{
+ *val = params->flags & SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP ? 0 : 1;
+ return 0;
+}
+
+__SALSA_EXPORT_FUNC
int snd_pcm_hw_params_get_period_time(const snd_pcm_hw_params_t *params,
unsigned int *val, int *dir)
{
diff --git a/src/pcm_params.c b/src/pcm_params.c
index e466c52..f8e8e4f 100644
--- a/src/pcm_params.c
+++ b/src/pcm_params.c
@@ -413,13 +413,6 @@ static int snd_pcm_sw_params_default(snd_pcm_t *pcm,
return 0;
}
-static int snd_pcm_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
-{
- if (ioctl(pcm->fd, SNDRV_PCM_IOCTL_HW_REFINE, params) < 0)
- return -errno;
- return 0;
-}
-
static inline int hw_is_mask(int var)
{
return var >= SNDRV_PCM_HW_PARAM_FIRST_MASK &&