From 1f5a900bced7a4e69ab6c9c7e39f976cef7247b7 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Mon, 10 Apr 2017 11:43:28 +0200 Subject: [PATCH] validate-pad-monitor: Fix previous commit Post-send handling was only meant for seek events --- .../gst/validate/gst-validate-pad-monitor.c | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/validate/gst/validate/gst-validate-pad-monitor.c b/validate/gst/validate/gst-validate-pad-monitor.c index 86f69908a8..13f2498a30 100644 --- a/validate/gst/validate/gst-validate-pad-monitor.c +++ b/validate/gst/validate/gst-validate-pad-monitor.c @@ -1964,20 +1964,22 @@ gst_validate_pad_monitor_src_event_check (GstValidatePadMonitor * pad_monitor, gst_event_ref (event); ret = pad_monitor->event_func (pad, parent, event); - /* If the seek was already handled (same current seqnum), reset the - * expected accurate seek value */ - if (ret && pad_monitor->has_segment - && seqnum == pad_monitor->pending_eos_seqnum) { - GST_DEBUG_OBJECT (pad_monitor->pad, - "Resetting expected accurate seek value, was already handled"); - pad_monitor->pending_seek_accurate_time = GST_CLOCK_TIME_NONE; - } else if (!ret) { - /* do not expect any of these events anymore */ - pad_monitor->pending_flush_start_seqnum = 0; - pad_monitor->pending_flush_stop_seqnum = 0; - pad_monitor->pending_newsegment_seqnum = 0; - pad_monitor->pending_eos_seqnum = 0; - pad_monitor->pending_seek_accurate_time = GST_CLOCK_TIME_NONE; + if (GST_EVENT_TYPE (event) == GST_EVENT_SEEK) { + /* If the seek was already handled (same current seqnum), reset the + * expected accurate seek value */ + if (ret && pad_monitor->has_segment + && seqnum == pad_monitor->pending_eos_seqnum) { + GST_DEBUG_OBJECT (pad_monitor->pad, + "Resetting expected accurate seek value, was already handled"); + pad_monitor->pending_seek_accurate_time = GST_CLOCK_TIME_NONE; + } else if (!ret) { + /* do not expect any of these events anymore */ + pad_monitor->pending_flush_start_seqnum = 0; + pad_monitor->pending_flush_stop_seqnum = 0; + pad_monitor->pending_newsegment_seqnum = 0; + pad_monitor->pending_eos_seqnum = 0; + pad_monitor->pending_seek_accurate_time = GST_CLOCK_TIME_NONE; + } } GST_VALIDATE_MONITOR_LOCK (pad_monitor); }