sdp: Set session as permanent (t=0 0) if there is no time information
authorJose Antonio Santos Cadenas <santoscadenas@gmail.com>
Thu, 4 Apr 2013 14:32:45 +0000 (16:32 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Fri, 5 Apr 2013 07:52:10 +0000 (09:52 +0200)
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697277

gst-libs/gst/sdp/gstsdpmessage.c

index c43394d..f721939 100644 (file)
@@ -399,20 +399,24 @@ gst_sdp_message_as_text (const GstSDPMessage * msg)
         bandwidth->bandwidth);
   }
 
-  for (i = 0; i < gst_sdp_message_times_len (msg); i++) {
-    const GstSDPTime *times = gst_sdp_message_get_time (msg, i);
-
-    g_string_append_printf (lines, "t=%s %s\r\n", times->start, times->stop);
-
-    if (times->repeat != NULL) {
-      guint j;
-
-      g_string_append_printf (lines, "r=%s",
-          g_array_index (times->repeat, gchar *, 0));
-      for (j = 1; j < times->repeat->len; j++)
-        g_string_append_printf (lines, " %s",
-            g_array_index (times->repeat, gchar *, j));
-      g_string_append_printf (lines, "\r\n");
+  if (gst_sdp_message_times_len (msg) == 0) {
+    g_string_append_printf (lines, "t=0 0\r\n");
+  } else {
+    for (i = 0; i < gst_sdp_message_times_len (msg); i++) {
+      const GstSDPTime *times = gst_sdp_message_get_time (msg, i);
+
+      g_string_append_printf (lines, "t=%s %s\r\n", times->start, times->stop);
+
+      if (times->repeat != NULL) {
+        guint j;
+
+        g_string_append_printf (lines, "r=%s",
+            g_array_index (times->repeat, gchar *, 0));
+        for (j = 1; j < times->repeat->len; j++)
+          g_string_append_printf (lines, " %s",
+              g_array_index (times->repeat, gchar *, j));
+        g_string_append_printf (lines, "\r\n");
+      }
     }
   }