ext/ffmpeg/gstffmpegcodecmap.c: Whoops - handle input video caps that don't have...
authorJan Schmidt <thaytan@mad.scientist.com>
Tue, 22 Nov 2005 23:33:41 +0000 (23:33 +0000)
committerJan Schmidt <thaytan@mad.scientist.com>
Tue, 22 Nov 2005 23:33:41 +0000 (23:33 +0000)
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt):
Whoops - handle input video caps that don't have a framerate

ChangeLog
ext/ffmpeg/gstffmpegcodecmap.c

index 7717295..f497229 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
 
+       * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt):
+       Whoops - handle input video caps that don't have a framerate
+
+2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
+
        * HACKING:
        * ext/ffmpeg/gstffmpegcolorspace.c:
           Remove mentions of ffmpegcolorspace now that it's in 
index 4186dba..e75d9a1 100644 (file)
@@ -1109,19 +1109,22 @@ gst_ffmpeg_caps_to_pixfmt (const GstCaps * caps,
   gst_structure_get_int (structure, "bpp", &context->bits_per_sample);
 
   fps = gst_structure_get_value (structure, "framerate");
-  g_return_if_fail (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps));
+  if (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)) {
 
-  /* somehow these seem mixed up.. */
-  context->time_base.den = gst_value_get_fraction_numerator (fps);
-  context->time_base.num = gst_value_get_fraction_denominator (fps);
+    /* somehow these seem mixed up.. */
+    context->time_base.den = gst_value_get_fraction_numerator (fps);
+    context->time_base.num = gst_value_get_fraction_denominator (fps);
 
-  GST_DEBUG ("setting framerate %d/%d = %lf",
+    GST_DEBUG ("setting framerate %d/%d = %lf",
            context->time_base.den, context->time_base.num, 
            1. * context->time_base.den / context->time_base.num);
+  }
 
   if (!raw)
     return;
 
+  g_return_if_fail (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)); 
+
   if (strcmp (gst_structure_get_name (structure), "video/x-raw-yuv") == 0) {
     guint32 fourcc;