gst/audiorate/gstaudiorate.c: If a buffer doesn't have a timestamp, assume it's conti...
authorMichael Smith <msmith@xiph.org>
Thu, 3 May 2007 13:16:21 +0000 (13:16 +0000)
committerMichael Smith <msmith@xiph.org>
Thu, 3 May 2007 13:16:21 +0000 (13:16 +0000)
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
If a buffer doesn't have a timestamp, assume it's contiguous with
the previous buffer, and synthesise timestamps appropriately.

ChangeLog
gst/audiorate/gstaudiorate.c

index 3c0aa92..4253064 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-05-03  Michael Smith <msmith@fluendo.com>
+
+       * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
+         If a buffer doesn't have a timestamp, assume it's contiguous with
+         the previous buffer, and synthesise timestamps appropriately.
+
 2007-05-03  Edward Hervey  <edward@fluendo.com>
 
        * tests/check/elements/videorate.c: (GST_START_TEST):
index 6d5452e..5b8125c 100644 (file)
@@ -510,6 +510,11 @@ gst_audio_rate_chain (GstPad * pad, GstBuffer * buf)
   audiorate->in++;
 
   in_time = GST_BUFFER_TIMESTAMP (buf);
+  if (in_time == GST_CLOCK_TIME_NONE) {
+    GST_DEBUG_OBJECT (audiorate, "no timestamp, using expected next time");
+    in_time = audiorate->next_ts;
+  }
+
   in_size = GST_BUFFER_SIZE (buf);
   in_samples = in_size / audiorate->bytes_per_sample;
   /* get duration from the size because we can and it's more accurate */