gstglmixerbin: minor refactor of _find_element_pad_template
authorCamilo Celis Guzman <camilo@pexip.com>
Mon, 18 Apr 2022 09:53:45 +0000 (18:53 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 20 Apr 2022 07:04:44 +0000 (07:04 +0000)
As suggested by @slomo, make the loop more readable and prevent returning
a garbage value to the caller from the previous implementation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2232>

subprojects/gst-plugins-base/ext/gl/gstglmixerbin.c

index 591e659..4e8d045 100644 (file)
@@ -375,23 +375,20 @@ _find_element_pad_template (GstElement * element,
 {
   GstElementClass *klass = GST_ELEMENT_GET_CLASS (element);
   GList *templ_list = gst_element_class_get_pad_template_list (klass);
-  GstPadTemplate *templ;
 
   /* find suitable template */
   while (templ_list) {
-    templ = (GstPadTemplate *) templ_list->data;
+    GstPadTemplate *templ = (GstPadTemplate *) templ_list->data;
 
-    if (GST_PAD_TEMPLATE_DIRECTION (templ) != direction
-        || GST_PAD_TEMPLATE_PRESENCE (templ) != presence) {
-      templ_list = templ_list->next;
-      templ = NULL;
-      continue;
+    if (GST_PAD_TEMPLATE_DIRECTION (templ) == direction
+        && GST_PAD_TEMPLATE_PRESENCE (templ) == presence) {
+      return templ;
     }
 
-    break;
+    templ_list = templ_list->next;
   }
 
-  return templ;
+  return NULL;
 }
 
 static gboolean