diff --git a/ChangeLog b/ChangeLog index 7717295a1a..f49722984a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-11-23 Jan Schmidt + + * 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 * HACKING: diff --git a/ext/ffmpeg/gstffmpegcodecmap.c b/ext/ffmpeg/gstffmpegcodecmap.c index 4186dbae70..e75d9a1927 100644 --- a/ext/ffmpeg/gstffmpegcodecmap.c +++ b/ext/ffmpeg/gstffmpegcodecmap.c @@ -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;