audiotestsrc: swap timestamps in forward and reverse mode.
authorStefan Kost <ensonic@users.sf.net>
Sat, 3 Apr 2010 19:49:11 +0000 (22:49 +0300)
committerStefan Kost <ensonic@users.sf.net>
Sat, 3 Apr 2010 19:52:01 +0000 (22:52 +0300)
In reverse mode we want use the next next timestamp (and not the other way
around). Fixes the tests again. Also readd a log line that was dropped with
previous commit.

gst/audiotestsrc/gstaudiotestsrc.c

index 43fd3a5864583b5ce10274c021b37271e6f2c752..5b689713fb9181c768f844e28122e219e85fdaa2 100644 (file)
@@ -1081,14 +1081,16 @@ gst_audio_test_src_create (GstBaseSrc * basesrc, guint64 offset,
       src->samplerate);
 
   GST_LOG_OBJECT (src, "samplerate %d", src->samplerate);
+  GST_LOG_OBJECT (src, "next_sample %" G_GINT64_FORMAT ", ts %" GST_TIME_FORMAT,
+      next_sample, GST_TIME_ARGS (next_time));
 
   GST_BUFFER_OFFSET (buf) = src->next_sample;
   GST_BUFFER_OFFSET_END (buf) = next_sample;
   if (!src->reverse) {
-    GST_BUFFER_TIMESTAMP (buf) = src->timestamp_offset + next_time;
+    GST_BUFFER_TIMESTAMP (buf) = src->timestamp_offset + src->next_time;
     GST_BUFFER_DURATION (buf) = next_time - src->next_time;
   } else {
-    GST_BUFFER_TIMESTAMP (buf) = src->timestamp_offset + src->next_time;
+    GST_BUFFER_TIMESTAMP (buf) = src->timestamp_offset + next_time;
     GST_BUFFER_DURATION (buf) = src->next_time - next_time;
   }