GstClockTime timestamp = GST_CLOCK_TIME_NONE;
if (gst_segment_to_running_time_full (&GST_AGGREGATOR_PAD (pad)->segment,
- GST_FORMAT_TIME, GST_BUFFER_DTS_OR_PTS (buffer), ×tamp) == 1)
+ GST_FORMAT_TIME, GST_BUFFER_DTS_OR_PTS (buffer),
+ ×tamp) == 1) {
GST_BUFFER_PTS (tag) = timestamp;
-
+ GST_BUFFER_DURATION (tag) = GST_BUFFER_DURATION (buffer);
+ }
GST_BUFFER_OFFSET (tag) = GST_BUFFER_OFFSET_NONE;
GST_BUFFER_OFFSET_END (tag) = GST_BUFFER_OFFSET_NONE;
} else {
/* pull header0 */
buf = gst_harness_pull (h);
fail_unless_equals_uint64 (base_time, GST_BUFFER_PTS (buf));
- fail_unless_equals_uint64 (base_time, GST_BUFFER_DTS (buf));
+ fail_unless_equals_uint64 (GST_CLOCK_TIME_NONE, GST_BUFFER_DTS (buf));
+ fail_unless_equals_uint64 (0, GST_BUFFER_DURATION (buf));
gst_buffer_map (buf, &map, GST_MAP_READ);
/* 0x08 means it is audio */
fail_unless_equals_int (0x08, map.data[0]);
/* pull header1 */
buf = gst_harness_pull (h);
fail_unless_equals_uint64 (base_time, GST_BUFFER_PTS (buf));
- fail_unless_equals_uint64 (base_time, GST_BUFFER_DTS (buf));
+ fail_unless_equals_uint64 (GST_CLOCK_TIME_NONE, GST_BUFFER_DTS (buf));
fail_unless_equals_uint64 (0, GST_BUFFER_DURATION (buf));
gst_buffer_map (buf, &map, GST_MAP_READ);
/* 0x08 means it is audio */
/* pull data */
buf = gst_harness_pull (h);
fail_unless_equals_uint64 (base_time, GST_BUFFER_PTS (buf));
- fail_unless_equals_uint64 (base_time, GST_BUFFER_DTS (buf));
+ fail_unless_equals_uint64 (GST_CLOCK_TIME_NONE, GST_BUFFER_DTS (buf));
fail_unless_equals_uint64 (duration, GST_BUFFER_DURATION (buf));
fail_unless_equals_uint64 (GST_BUFFER_OFFSET_NONE, GST_BUFFER_OFFSET (buf));
fail_unless_equals_uint64 (GST_BUFFER_OFFSET_NONE,
/* pull data */
buf = gst_harness_pull (h);
fail_unless_equals_uint64 (base_time + duration, GST_BUFFER_PTS (buf));
- fail_unless_equals_uint64 (base_time + duration, GST_BUFFER_DTS (buf));
+ fail_unless_equals_uint64 (GST_CLOCK_TIME_NONE, GST_BUFFER_DTS (buf));
fail_unless_equals_uint64 (duration, GST_BUFFER_DURATION (buf));
fail_unless_equals_uint64 (GST_BUFFER_OFFSET_NONE, GST_BUFFER_OFFSET (buf));
fail_unless_equals_uint64 (GST_BUFFER_OFFSET_NONE,