}
}
+static void
+gst_qa_pad_monitor_update_buffer_data (GstQaPadMonitor * pad_monitor,
+ GstBuffer * buffer)
+{
+ pad_monitor->current_timestamp = GST_BUFFER_TIMESTAMP (buffer);
+ pad_monitor->current_duration = GST_BUFFER_DURATION (buffer);
+}
+
+
static gboolean
gst_qa_pad_monitor_sink_event_check (GstQaPadMonitor * pad_monitor,
GstEvent * event, GstPadEventFunction handler)
gst_qa_pad_monitor_check_first_buffer (pad_monitor, buffer);
+ gst_qa_pad_monitor_update_buffer_data (pad_monitor, buffer);
+
ret = pad_monitor->chain_func (pad, buffer);
+
return ret;
}
GstQaPadMonitor *monitor = udata;
gst_qa_pad_monitor_check_first_buffer (monitor, buffer);
+ gst_qa_pad_monitor_update_buffer_data (monitor, buffer);
/* TODO should we assume that a pad-monitor should always have an
* element-monitor as a parent? */
gboolean first_buffer;
gboolean has_segment;
- GstSegment segment;
gboolean pending_flush_stop;
guint32 pending_flush_stop_seqnum;
guint32 pending_flush_start_seqnum;
guint32 pending_newsegment_seqnum;
+
+ /* tracked data */
+ GstSegment segment;
+ GstClockTime current_timestamp;
+ GstClockTime current_duration;
};
/**