From 191b6cf5d4635f2f6d04125cddcaa4d8babc39e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Sat, 13 Mar 2021 18:57:37 +0100 Subject: [PATCH] va: postproc: synchronize segment with stream time This is required to use dynamic controllable parameters. Part-of: --- sys/va/gstvavpp.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/va/gstvavpp.c b/sys/va/gstvavpp.c index ccd2c5e624..a81a233889 100644 --- a/sys/va/gstvavpp.c +++ b/sys/va/gstvavpp.c @@ -990,6 +990,16 @@ static void gst_va_vpp_before_transform (GstBaseTransform * trans, GstBuffer * inbuf) { GstVaVpp *self = GST_VA_VPP (trans); + GstClockTime ts, stream_time; + + ts = GST_BUFFER_TIMESTAMP (inbuf); + stream_time = + gst_segment_to_stream_time (&trans->segment, GST_FORMAT_TIME, ts); + + GST_TRACE_OBJECT (self, "sync to %" GST_TIME_FORMAT, GST_TIME_ARGS (ts)); + + if (GST_CLOCK_TIME_IS_VALID (stream_time)) + gst_object_sync_values (GST_OBJECT (self), stream_time); if (g_atomic_int_get (&self->rebuild_filters) == TRUE) { gst_va_filter_drop_filter_buffers (self->filter);