From 08180f3a4c2c8950f1c0a311be2d10578fd31ac4 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Thu, 11 Jul 2013 13:43:52 -0300 Subject: [PATCH] pad-monitor: make it able to initialize a segment Do not take the initial format set to TIME too seriously when we haven't got any newsegment event yet. If it is the first segment received, switch our internal segment tracker to the event format --- validate/gst/qa/gst-qa-pad-monitor.c | 4 ++++ validate/gst/qa/gst-qa-pad-monitor.h | 1 + 2 files changed, 5 insertions(+) diff --git a/validate/gst/qa/gst-qa-pad-monitor.c b/validate/gst/qa/gst-qa-pad-monitor.c index 23ee68c46d..9c9ce01e13 100644 --- a/validate/gst/qa/gst-qa-pad-monitor.c +++ b/validate/gst/qa/gst-qa-pad-monitor.c @@ -186,8 +186,12 @@ gst_qa_pad_monitor_event_func (GstPad * pad, GstEvent * event) switch (GST_EVENT_TYPE (event)) { case GST_EVENT_NEWSEGMENT: if (ret) { + if (!pad_monitor->has_segment && pad_monitor->segment.format != format) { + gst_segment_init (&pad_monitor->segment, format); + } gst_segment_set_newsegment_full (&pad_monitor->segment, update, rate, applied_rate, format, start, stop, position); + pad_monitor->has_segment = TRUE; } break; case GST_EVENT_FLUSH_START: diff --git a/validate/gst/qa/gst-qa-pad-monitor.h b/validate/gst/qa/gst-qa-pad-monitor.h index 457cbeae58..2d8b00efe2 100644 --- a/validate/gst/qa/gst-qa-pad-monitor.h +++ b/validate/gst/qa/gst-qa-pad-monitor.h @@ -63,6 +63,7 @@ struct _GstQaPadMonitor { GstPadQueryFunction query_func; /*< private >*/ + gboolean has_segment; GstSegment segment; gboolean pending_flush_stop;