]> git.alsa-project.org Git - alsa-lib.git/commitdiff
pcm hw plugin: use TSTAMP only with old drivers
authorClemens Ladisch <clemens@ladisch.de>
Mon, 14 Jan 2008 07:50:46 +0000 (08:50 +0100)
committerClemens Ladisch <clemens@ladisch.de>
Mon, 14 Jan 2008 07:50:46 +0000 (08:50 +0100)
There is no need to call the TSTAMP ioctl with newer driver versions.

src/pcm/pcm_hw.c

index 8f6e51e621503a8b26c72ad3e18f4480ee57901e..e5de76825fc6fa2fa446addd0f3dc4214a9bb1af 100644 (file)
@@ -994,14 +994,6 @@ int snd_pcm_hw_open_fd(snd_pcm_t **pcmp, const char *name,
        if (SNDRV_PROTOCOL_INCOMPATIBLE(ver, SNDRV_PCM_VERSION_MAX))
                return -SND_ERROR_INCOMPATIBLE_VERSION;
 
-       if (SNDRV_PROTOCOL_VERSION(2, 0, 5) <= ver) {
-               int on = 1;
-               if (ioctl(fd, SNDRV_PCM_IOCTL_TSTAMP, &on) < 0) {
-                       ret = -errno;
-                       SNDMSG("TSTAMP failed\n");
-                       return ret;
-               }
-       }
 #ifdef HAVE_CLOCK_GETTIME
        if (SNDRV_PROTOCOL_VERSION(2, 0, 9) <= ver) {
                int on = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC;
@@ -1013,6 +1005,14 @@ int snd_pcm_hw_open_fd(snd_pcm_t **pcmp, const char *name,
                monotonic = 1;
        }
 #endif
+         else if (SNDRV_PROTOCOL_VERSION(2, 0, 5) <= ver) {
+               int on = 1;
+               if (ioctl(fd, SNDRV_PCM_IOCTL_TSTAMP, &on) < 0) {
+                       ret = -errno;
+                       SNDMSG("TSTAMP failed\n");
+                       return ret;
+               }
+       }
        
        hw = calloc(1, sizeof(snd_pcm_hw_t));
        if (!hw) {