Check mandatory ClockTime arguments
authorFrançois Laignel <fengalin@free.fr>
Wed, 16 Jun 2021 15:12:11 +0000 (17:12 +0200)
committerFrançois Laignel <fengalin@free.fr>
Wed, 16 Jun 2021 15:12:11 +0000 (17:12 +0200)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/258>

ges/ges-timeline-element.c
ges/ges-timeline.c

index 4d235d5..9341d85 100644 (file)
@@ -1082,6 +1082,7 @@ ges_timeline_element_set_start (GESTimelineElement * self, GstClockTime start)
   GESTimelineElement *toplevel_container, *parent;
 
   g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (self), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (start), FALSE);
 
   if (self->start == start)
     return TRUE;
@@ -1437,6 +1438,7 @@ ges_timeline_element_ripple (GESTimelineElement * self, GstClockTime start)
   GESTimelineElementClass *klass;
 
   g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (self), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (start), FALSE);
 
   klass = GES_TIMELINE_ELEMENT_GET_CLASS (self);
 
@@ -1467,6 +1469,7 @@ ges_timeline_element_ripple_end (GESTimelineElement * self, GstClockTime end)
   GESTimelineElementClass *klass;
 
   g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (self), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (end), FALSE);
 
   klass = GES_TIMELINE_ELEMENT_GET_CLASS (self);
 
@@ -1494,6 +1497,7 @@ ges_timeline_element_roll_start (GESTimelineElement * self, GstClockTime start)
   GESTimelineElementClass *klass;
 
   g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (self), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (start), FALSE);
 
   klass = GES_TIMELINE_ELEMENT_GET_CLASS (self);
 
@@ -1521,6 +1525,7 @@ ges_timeline_element_roll_end (GESTimelineElement * self, GstClockTime end)
   GESTimelineElementClass *klass;
 
   g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (self), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (end), FALSE);
 
   klass = GES_TIMELINE_ELEMENT_GET_CLASS (self);
 
@@ -1548,6 +1553,7 @@ ges_timeline_element_trim (GESTimelineElement * self, GstClockTime start)
   GESTimelineElementClass *klass;
 
   g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (self), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (start), FALSE);
 
   klass = GES_TIMELINE_ELEMENT_GET_CLASS (self);
 
@@ -2307,6 +2313,7 @@ ges_timeline_element_paste (GESTimelineElement * self,
 {
   GESTimelineElement *res;
   g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (self), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (paste_position), FALSE);
 
   if (!self->priv->copied_from) {
     GST_ERROR_OBJECT (self, "Is not being 'deeply' copied!");
index bb675ad..ac60f23 100644 (file)
@@ -3029,6 +3029,7 @@ ges_timeline_set_snapping_distance (GESTimeline * timeline,
     GstClockTime snapping_distance)
 {
   g_return_if_fail (GES_IS_TIMELINE (timeline));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (snapping_distance));
   CHECK_THREAD (timeline);
 
   timeline->priv->snapping_distance = snapping_distance;
@@ -3199,6 +3200,7 @@ ges_timeline_paste_element (GESTimeline * timeline,
 
   g_return_val_if_fail (GES_IS_TIMELINE (timeline), FALSE);
   g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (element), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (position), FALSE);
   CHECK_THREAD (timeline);
 
   element_class = GES_TIMELINE_ELEMENT_GET_CLASS (element);