From 103bf74768418f672a6971bf4172cfbc24efc8cf Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Tue, 27 Aug 2013 18:23:09 -0300 Subject: [PATCH] pad-monitor: reset buffer timestamp data after a flush As the pad/element also clears its internal state --- validate/gst/validate/gst-validate-pad-monitor.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/validate/gst/validate/gst-validate-pad-monitor.c b/validate/gst/validate/gst-validate-pad-monitor.c index e447e6fe11..60def67f91 100644 --- a/validate/gst/validate/gst-validate-pad-monitor.c +++ b/validate/gst/validate/gst-validate-pad-monitor.c @@ -1047,6 +1047,18 @@ gst_validate_pad_monitor_add_expected_newsegment (GstValidatePadMonitor * gst_iterator_free (iter); } +static void +gst_validate_pad_monitor_flush (GstValidatePadMonitor * pad_monitor) +{ + pad_monitor->current_timestamp = GST_CLOCK_TIME_NONE; + pad_monitor->current_duration = GST_CLOCK_TIME_NONE; + pad_monitor->timestamp_range_start = GST_CLOCK_TIME_NONE; + pad_monitor->timestamp_range_end = GST_CLOCK_TIME_NONE; + pad_monitor->has_segment = FALSE; + pad_monitor->is_eos = FALSE; + gst_caps_replace (&pad_monitor->last_caps, NULL); +} + /* common checks for both sink and src event functions */ static void gst_validate_pad_monitor_common_event_check (GstValidatePadMonitor * @@ -1093,6 +1105,9 @@ gst_validate_pad_monitor_common_event_check (GstValidatePadMonitor * "Unexpected flush-stop %p" GST_PTR_FORMAT, event); } pad_monitor->pending_flush_stop = FALSE; + + /* cleanup our data */ + gst_validate_pad_monitor_flush (pad_monitor); } break; default: