[PATCH] alsa-util: Use time stamp config only for alsa versions >= 1.1.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The commit "alsa-util: Set ALSA report_delay flag in pa_alsa_safe_delay()"
broke the build on ALSA versions below 1.1.0 because the time stamp
configuration function was introduced in 1.1.0.

This patch makes the usage of snd_pcm_status_set_audio_htstamp_config()
dependent on ALSA version.
---
 src/modules/alsa/alsa-util.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
index b91a0e98..41134ea5 100644
--- a/src/modules/alsa/alsa-util.c
+++ b/src/modules/alsa/alsa-util.c
@@ -1187,7 +1187,9 @@ int pa_alsa_safe_delay(snd_pcm_t *pcm, snd_pcm_status_t *status, snd_pcm_sframes
     size_t abs_k;
     int err;
     snd_pcm_sframes_t avail = 0;
+#if (SND_LIB_VERSION >= ((1<<16)|(1<<8)|0)) /* API additions in 1.1.0 */
     snd_pcm_audio_tstamp_config_t tstamp_config;
+#endif
 
     pa_assert(pcm);
     pa_assert(delay);
@@ -1201,11 +1203,15 @@ int pa_alsa_safe_delay(snd_pcm_t *pcm, snd_pcm_status_t *status, snd_pcm_sframes
      * avail, delay and timestamp values in a single kernel call to improve
      * timer-based scheduling */
 
+#if (SND_LIB_VERSION >= ((1<<16)|(1<<8)|0)) /* API additions in 1.1.0 */
+
     /* The time stamp configuration needs to be set so that the
-     * ALSA code will use the internal delay reported by the driver */
+     * ALSA code will use the internal delay reported by the driver.
+     * The time stamp configuration was introduced in alsa version 1.1.0. */
     tstamp_config.type_requested = 1; /* ALSA default time stamp type */
     tstamp_config.report_delay = 1;
     snd_pcm_status_set_audio_htstamp_config(status, &tstamp_config);
+#endif
 
     if ((err = snd_pcm_status(pcm, status)) < 0)
         return err;
-- 
2.14.1



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux