diff --git a/gst/gstobject.c b/gst/gstobject.c index db7f190a8e..50c4c25a5b 100644 --- a/gst/gstobject.c +++ b/gst/gstobject.c @@ -84,6 +84,7 @@ */ #include "gst_private.h" +#include "glib-compat-private.h" #include "gstobject.h" #include "gstmarshal.h" diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c index f6ecd72839..e94a1e2cda 100644 --- a/libs/gst/base/gstbasesink.c +++ b/libs/gst/base/gstbasesink.c @@ -3281,6 +3281,9 @@ gst_base_sink_flush_start (GstBaseSink * basesink, GstPad * pad) if (basesink->priv->async_enabled) { gst_element_lost_state (GST_ELEMENT_CAST (basesink)); } else { + /* start time reset in above case as well; + * arranges for a.o. proper position reporting when flushing in PAUSED */ + gst_element_set_start_time (GST_ELEMENT_CAST (basesink), 0); basesink->priv->have_latency = TRUE; } gst_base_sink_set_last_buffer (basesink, NULL);