From 4c21aa9d1c4bcdbc57bf8ddf6be3820584f825b7 Mon Sep 17 00:00:00 2001 From: Daichi Tsuna <daichi.tsuna@ligo.org> Date: Sun, 16 Jun 2019 23:07:09 -0700 Subject: [PATCH] string_triggergen.c: gap treatment currently making it the same procedure as when the buffer is non-gap but not enough samples (< autocorrelation_length), like itac --- .../gst/lal/gstlal_string_triggergen.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/gstlal-burst/gst/lal/gstlal_string_triggergen.c b/gstlal-burst/gst/lal/gstlal_string_triggergen.c index 99d795af79..20ff613e99 100644 --- a/gstlal-burst/gst/lal/gstlal_string_triggergen.c +++ b/gstlal-burst/gst/lal/gstlal_string_triggergen.c @@ -505,10 +505,23 @@ static GstFlowReturn transform(GstBaseTransform *trans, GstBuffer *inbuf, GstBuf g_assert_cmpuint(GST_BUFFER_PTS(inbuf), ==, gst_audioadapter_expected_timestamp(element->adapter)); element->next_in_offset = GST_BUFFER_OFFSET_END(inbuf); - gst_buffer_ref(inbuf); - gst_audioadapter_push(element->adapter, inbuf); + /* + * gap logic + */ - result = trigger_generator(element, outbuf); + if (!GST_BUFFER_FLAG_IS_SET(inbuf, GST_BUFFER_FLAG_GAP)) { + /* not gaps */ + gst_buffer_ref(inbuf); + gst_audioadapter_push(element->adapter, inbuf); + result = trigger_generator(element, outbuf); + } else { + /* gaps */ + GST_BUFFER_PTS(outbuf) = element->t0; + GST_BUFFER_DURATION(outbuf) = 0; + /* we get no triggers, so outbuf offset is unchanged */ + GST_BUFFER_OFFSET_END(outbuf) = GST_BUFFER_OFFSET(outbuf); + result = GST_FLOW_OK; + } /* * done -- GitLab