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)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 20 May 2019 12:22:30 +0000 (15:22 +0300)
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 5fdf2dd..c6a7b57 100644 (file)
@@ -947,6 +947,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 */