From ed2d2662d31e7b32968b8fd1f5e7d1d4704d8c14 Mon Sep 17 00:00:00 2001 From: Daichi Tsuna <daichi.tsuna@ligo.org> Date: Mon, 11 Mar 2019 00:17:19 -0700 Subject: [PATCH] lal_string_triggergen: move safety check Set_caps seems to be executed *after* start, so in the previous commit audio_info will not be updated before the safety check and stumbles there. After this fix things seem to be going, and a sane value for chisq is obtained. --- gstlal-burst/gst/lal/gstlal_string_triggergen.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gstlal-burst/gst/lal/gstlal_string_triggergen.c b/gstlal-burst/gst/lal/gstlal_string_triggergen.c index 5640403a25..226949518b 100644 --- a/gstlal-burst/gst/lal/gstlal_string_triggergen.c +++ b/gstlal-burst/gst/lal/gstlal_string_triggergen.c @@ -367,8 +367,14 @@ static gboolean set_caps(GstBaseTransform *trans, GstCaps *incaps, GstCaps *outc GSTLALStringTriggergen *element = GSTLAL_STRING_TRIGGERGEN(trans); gboolean success = gst_audio_info_from_caps(&element->audio_info, incaps); - if(success) + if(success) { + if(GST_AUDIO_INFO_CHANNELS(&element->audio_info) != element->num_templates) { + GST_ELEMENT_ERROR(trans, CORE, NEGOTIATION, (NULL), ("number of channels %d is not equal to number of templates %d", GST_AUDIO_INFO_CHANNELS(&element->audio_info), element->num_templates)); + success = FALSE; + } g_object_set(element->adapter, "unit-size", GST_AUDIO_INFO_BPF(&element->audio_info), NULL); + } + /* * done @@ -391,9 +397,6 @@ static gboolean start(GstBaseTransform *trans) if(!element->bank) { GST_ELEMENT_ERROR(trans, CORE, NEGOTIATION, (NULL), ("no template bank")); success = FALSE; - } else if(GST_AUDIO_INFO_CHANNELS(&element->audio_info) != element->num_templates) { - GST_ELEMENT_ERROR(trans, CORE, NEGOTIATION, (NULL), ("number of channels is not equal to number of templates")); - success = FALSE; } else { for(i=0; i < element->num_templates; i++) { /* -- GitLab