validate: pad-monitor: Check right segment after seek

After a seek we need to wait for the right segment (meaning the segment
with seqnum == last seek/flush stop seqnum) to check whether the segment.time
has been properly set.
This commit is contained in:
Thibault Saunier 2016-03-22 12:07:08 +01:00
parent 4f553b7c78
commit 5598d3d5dd

View file

@ -1711,21 +1711,21 @@ gst_validate_pad_monitor_downstream_event_check (GstValidatePadMonitor *
if (pad_monitor->pending_newsegment_seqnum) {
if (pad_monitor->pending_newsegment_seqnum == seqnum) {
pad_monitor->pending_newsegment_seqnum = 0;
if (GST_CLOCK_TIME_IS_VALID (pad_monitor->pending_seek_accurate_time)) {
if (segment->time == pad_monitor->pending_seek_accurate_time) {
pad_monitor->pending_seek_accurate_time = GST_CLOCK_TIME_NONE;
} else {
GST_VALIDATE_REPORT (pad_monitor, SEGMENT_HAS_WRONG_START,
"After an accurate seek, got: %" GST_TIME_FORMAT
" Expected: %" GST_TIME_FORMAT, GST_TIME_ARGS (segment->time),
GST_TIME_ARGS (pad_monitor->pending_seek_accurate_time));
}
}
} else {
GST_VALIDATE_REPORT (pad_monitor, SEGMENT_HAS_WRONG_SEQNUM,
"Got: %u Expected: %u", seqnum, pad_monitor->pending_eos_seqnum);
}
}
if (GST_CLOCK_TIME_IS_VALID (pad_monitor->pending_seek_accurate_time)) {
if (segment->time == pad_monitor->pending_seek_accurate_time) {
pad_monitor->pending_seek_accurate_time = GST_CLOCK_TIME_NONE;
} else {
GST_VALIDATE_REPORT (pad_monitor, SEGMENT_HAS_WRONG_START,
"After an accurate seek, got: %" GST_TIME_FORMAT " Expected: %"
GST_TIME_FORMAT, GST_TIME_ARGS (segment->time),
GST_TIME_ARGS (pad_monitor->pending_seek_accurate_time));
}
}
pad_monitor->pending_eos_seqnum = seqnum;