gst/gstvalue.c: More robust fraction string parsing.
authorTim-Philipp Müller <tim@centricular.net>
Thu, 29 Sep 2005 12:05:51 +0000 (12:05 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Thu, 29 Sep 2005 12:05:51 +0000 (12:05 +0000)
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_fraction):
More robust fraction string parsing.
* docs/pwg/appendix-porting.xml:
Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()

ChangeLog
docs/pwg/appendix-porting.xml
gst/gstvalue.c

index 2e01739..a7c9436 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
 
+       * gst/gstvalue.c: (gst_value_deserialize_fraction):
+         More robust fraction string parsing.
+
+       * docs/pwg/appendix-porting.xml:
+         Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
+
+2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
+
        * gst/gstcaps.c: (gst_caps_do_simplify):
          Thou shalt not free a structure and then continue using it
          in the next loop iteration.
index 80ec450..0de6bca 100644 (file)
           then override the <function>set_caps ()</function>.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <function>gst_pad_use_explicit_caps ()</function> has been replaced by
+          <function>gst_pad_use_fixed_caps ()</function>. You can then set the
+          fixed caps to use on a pad with <function>gst_pad_set_caps ()</function>.
+        </para>
+      </listitem>
     </itemizedlist>
   </sect1>
 </chapter>
index 84755d7..813eb3b 100644 (file)
@@ -2823,20 +2823,13 @@ static gboolean
 gst_value_deserialize_fraction (GValue * dest, const char *s)
 {
   gint num, den;
-  char *div;
-  char *tmp;
 
-  div = strstr (s, "/");
-  if (!div)
-    return FALSE;
-  tmp = g_strndup (s, (size_t) (div - s));
-  num = atoi (tmp);
-  g_free (tmp);
-  den = atoi (div + 1);
-
-  gst_value_set_fraction (dest, num, den);
+  if (s && sscanf (s, "%d/%d", &num, &den) == 2) {
+    gst_value_set_fraction (dest, num, den);
+    return TRUE;
+  }
 
-  return TRUE;
+  return FALSE;
 }
 
 static void