From dbf9136ff446a44644e0c2ff410d028b82b94f37 Mon Sep 17 00:00:00 2001 From: "Joshua M. Doe" Date: Wed, 14 Apr 2010 08:41:44 -0400 Subject: [PATCH] videolevels: fix auto adjust so video is immediately affected when auto is set to continuous --- gst/gstvideolevels.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gst/gstvideolevels.c b/gst/gstvideolevels.c index 2059eb6..54c3f9c 100644 --- a/gst/gstvideolevels.c +++ b/gst/gstvideolevels.c @@ -570,7 +570,8 @@ gst_videolevels_transform (GstBaseTransform * base, GstBuffer * inbuf, } else if (videolevels->auto_adjust == 2) { elapsed = GST_BUFFER_TIMESTAMP (inbuf) - videolevels->last_auto_timestamp; - if (elapsed >= videolevels->interval) { + if (elapsed >= videolevels->interval || + videolevels->last_auto_timestamp == GST_CLOCK_TIME_NONE) { gst_videolevels_auto_adjust (videolevels, input); videolevels->last_auto_timestamp = GST_BUFFER_TIMESTAMP (inbuf); } @@ -628,7 +629,7 @@ static void gst_videolevels_reset(GstVideoLevels* videolevels) videolevels->auto_adjust = DEFAULT_PROP_AUTO; videolevels->interval = DEFAULT_PROP_INTERVAL; - videolevels->last_auto_timestamp = 0; + videolevels->last_auto_timestamp = GST_CLOCK_TIME_NONE; videolevels->lower_pix_sat = 0.01f; videolevels->upper_pix_sat = 0.01f;