ges: don't reset the supported formats in the timeline when they're already set
authorMathieu Duponchelle <seeed@laposte.net>
Sat, 27 Aug 2011 23:13:20 +0000 (01:13 +0200)
committerThibault Saunier <thibault.saunier@collabora.com>
Wed, 11 Jan 2012 14:56:15 +0000 (11:56 -0300)
My mom never told me goto was evil

ges/ges-timeline.c

index f1ed51da2e621dde9659aa08b5cdb258e8389731..cac3145508ec12d5dba1a2c584d9ed12a9429157 100644 (file)
@@ -504,13 +504,14 @@ discoverer_discovered_cb (GstDiscoverer * discoverer,
     /* FIXME : Handle errors in discovery */
     stream_list = gst_discoverer_info_get_stream_list (info);
 
+    tfs_supportedformats = ges_timeline_filesource_get_supported_formats (tfs);
+    if (tfs_supportedformats != GES_TRACK_TYPE_UNKNOWN)
+      goto check_image;
+
     /* Update timelinefilesource properties based on info */
     for (tmp = stream_list; tmp; tmp = tmp->next) {
       GstDiscovererStreamInfo *sinf = (GstDiscovererStreamInfo *) tmp->data;
 
-      tfs_supportedformats =
-          ges_timeline_filesource_get_supported_formats (tfs);
-
       if (GST_IS_DISCOVERER_AUDIO_INFO (sinf)) {
         tfs_supportedformats |= GES_TRACK_TYPE_AUDIO;
         ges_timeline_filesource_set_supported_formats (tfs,
@@ -532,6 +533,8 @@ discoverer_discovered_cb (GstDiscoverer * discoverer,
     if (stream_list)
       gst_discoverer_stream_info_list_free (stream_list);
 
+  check_image:
+
     if (is_image) {
       /* don't set max-duration on still images */
       g_object_set (tfs, "is_image", (gboolean) TRUE, NULL);