alsasrc: Don't use driver timestamp if it's zero
authorGeorg Lippitsch <glippitsch@toolsonair.com>
Mon, 26 Feb 2018 13:25:40 +0000 (14:25 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Thu, 8 Aug 2019 15:58:51 +0000 (16:58 +0100)
Some alsa interfaces don't provide timestamps and thus always set the timestamp to zero.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/453

ext/alsa/gstalsasrc.c

index 6ee0ca8..dc30e74 100644 (file)
@@ -923,6 +923,10 @@ gst_alsasrc_get_timestamp (GstAlsaSrc * asrc)
 
   /* get high resolution time stamp from driver */
   snd_pcm_status_get_htstamp (status, &tstamp);
+
+  if (tstamp.tv_sec == 0 && tstamp.tv_nsec == 0)
+    return GST_CLOCK_TIME_NONE;
+
   timestamp = GST_TIMESPEC_TO_TIME (tstamp);
 
   /* max available frames sets the depth of the buffer */