}
}
+ if (!(mode & SND_PCM_APPEND)) {
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
- if (SNDRV_PROTOCOL_VERSION(2, 0, 9) <= ver) {
- struct timespec timespec;
- if (clock_gettime(CLOCK_MONOTONIC, ×pec) == 0) {
- int on = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC;
- if (ioctl(fd, SNDRV_PCM_IOCTL_TTSTAMP, &on) < 0) {
+ if (SNDRV_PROTOCOL_VERSION(2, 0, 9) <= ver) {
+ struct timespec timespec;
+ if (clock_gettime(CLOCK_MONOTONIC, ×pec) == 0) {
+ int on = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC;
+ if (ioctl(fd, SNDRV_PCM_IOCTL_TTSTAMP, &on) < 0) {
+ ret = -errno;
+ SNDMSG("TTSTAMP failed");
+ return ret;
+ }
+ tstamp_type = SND_PCM_TSTAMP_TYPE_MONOTONIC;
+ }
+ } else
+#endif
+ if (SNDRV_PROTOCOL_VERSION(2, 0, 5) <= ver) {
+ int on = 1;
+ if (ioctl(fd, SNDRV_PCM_IOCTL_TSTAMP, &on) < 0) {
ret = -errno;
- SNDMSG("TTSTAMP failed");
+ SNDMSG("TSTAMP failed");
return ret;
}
- tstamp_type = SND_PCM_TSTAMP_TYPE_MONOTONIC;
- }
- } else
-#endif
- 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");
- return ret;
}
}