ges: Make sure not to set transition start to negative
authorThibault Saunier <thibault.saunier@collabora.com>
Tue, 6 Dec 2011 21:04:11 +0000 (18:04 -0300)
committerThibault Saunier <thibault.saunier@collabora.com>
Wed, 11 Jan 2012 14:56:15 +0000 (11:56 -0300)
gnlobject.start is a guint64, we can not set it to a negative value

ges/ges-simple-timeline-layer.c

index 104580b4676e71cd157d48e26ee6199915df9347..6a38170ae68de8d2837b29e34d439715522f90e7 100644 (file)
@@ -163,7 +163,7 @@ static void
 gstl_recalculate (GESSimpleTimelineLayer * self)
 {
   GList *tmp;
-  GstClockTime pos = 0;
+  gint64 pos = 0;
   gint priority = 0;
   gint transition_priority = 0;
   gint height;
@@ -210,9 +210,11 @@ gstl_recalculate (GESSimpleTimelineLayer * self)
     } else if (GES_IS_TIMELINE_TRANSITION (obj)) {
 
       pos -= dur;
+      if (pos < 0)
+        pos = 0;
 
-      GST_LOG ("%p obj: height: %d: trans_priority %d", obj, height,
-          transition_priority);
+      GST_LOG ("%p obj: height: %d: trans_priority %d Position: %d, "
+          "duration %d", obj, height, transition_priority, pos);
 
       g_assert (transition_priority != -1);