don't set max duration on still images
authorBrandon Lewis <brandon@collabora.co.uk>
Tue, 10 Aug 2010 14:17:07 +0000 (16:17 +0200)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Fri, 13 Aug 2010 09:50:31 +0000 (11:50 +0200)
ges/ges-timeline.c

index db0fffd8048dc306f9a92091fc510d21a7c8a8eb..11bd18ddff59cf812d60d5360f23d99cc4c4b7a6 100644 (file)
@@ -330,6 +330,7 @@ discoverer_discovered_cb (GstDiscoverer * discoverer,
 {
   GList *tmp;
   gboolean found = FALSE;
+  gboolean is_image = FALSE;
   GESTimelineFileSource *tfs = NULL;
 
   GST_DEBUG ("Discovered uri %s", info->uri);
@@ -361,11 +362,18 @@ discoverer_discovered_cb (GstDiscoverer * discoverer,
         tfs->supportedformats |= GES_TRACK_TYPE_VIDEO;
       else if (sinf->streamtype == GST_STREAM_IMAGE) {
         tfs->supportedformats |= GES_TRACK_TYPE_VIDEO;
-        g_object_set (G_OBJECT (tfs), "is-image", (gboolean) TRUE, NULL);
+        is_image = TRUE;
       }
     }
 
-    g_object_set (tfs, "max-duration", info->duration, NULL);
+    if (is_image) {
+      /* don't set max-duration on still images */
+      g_object_set (tfs, "is_image", (gboolean) TRUE, NULL);
+    }
+
+    else {
+      g_object_set (tfs, "max-duration", (guint64) info->duration, NULL);
+    }
 
     /* Continue the processing on tfs */
     add_object_to_tracks (timeline, GES_TIMELINE_OBJECT (tfs));