video-overlay-composition: Fix constructor guard to actually allow NULL as parameter
authorSebastian Dröge <sebastian@centricular.com>
Tue, 19 Oct 2021 14:07:37 +0000 (17:07 +0300)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 19 Oct 2021 14:13:24 +0000 (14:13 +0000)
And don't use a NULL rectangle later.

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

subprojects/gst-plugins-base/gst-libs/gst/video/video-overlay-composition.c

index de47a2b..ee83ec1 100644 (file)
@@ -344,7 +344,7 @@ gst_video_overlay_composition_new (GstVideoOverlayRectangle * rectangle)
   GstVideoOverlayComposition *comp;
 
   g_return_val_if_fail (GST_IS_VIDEO_OVERLAY_RECTANGLE (rectangle)
-      || NULL, NULL);
+      || rectangle == NULL, NULL);
 
   comp = g_slice_new0 (GstVideoOverlayComposition);
 
@@ -356,14 +356,15 @@ gst_video_overlay_composition_new (GstVideoOverlayRectangle * rectangle)
   comp->rectangles = g_new0 (GstVideoOverlayRectangle *, RECTANGLE_ARRAY_STEP);
 
   comp->seq_num = gst_video_overlay_get_seqnum ();
-
-  /* since the rectangle was created earlier, its seqnum is smaller than ours */
-  comp->min_seq_num_used = rectangle->seq_num;
+  comp->min_seq_num_used = comp->seq_num;
 
   GST_LOG ("new composition %p: seq_num %u", comp, comp->seq_num);
 
-  if (rectangle)
+  if (rectangle) {
+    /* since the rectangle was created earlier, its seqnum is smaller than ours */
+    comp->min_seq_num_used = rectangle->seq_num;
     gst_video_overlay_composition_add_rectangle (comp, rectangle);
+  }
 
   return comp;
 }