--- ext/ffmpeg/gstffmpegdec.c 2005/07/27 16:03:51 1.110 +++ ext/ffmpeg/gstffmpegdec.c 2005/08/16 22:02:57 1.110.2.1 @@ -453,7 +453,8 @@ /* get size and so */ gst_ffmpeg_caps_with_codecid (oclass->in_plugin->id, oclass->in_plugin->type, caps, ffmpegdec->context); - if (!ffmpegdec->context->time_base.den) { + if (!ffmpegdec->context->time_base.den || + !ffmpegdec->context->time_base.num) { ffmpegdec->context->time_base.num = 1; ffmpegdec->context->time_base.den = 25; } --- ext/ffmpeg/gstffmpegenc.c 2005/07/27 16:03:51 1.70 +++ ext/ffmpeg/gstffmpegenc.c 2005/08/16 22:02:57 1.70.2.1 @@ -385,7 +385,8 @@ /* fetch pix_fmt and so on */ gst_ffmpeg_caps_with_codectype (oclass->in_plugin->type, caps, ffmpegenc->context); - if (!ffmpegenc->context->time_base.den) { + if (!ffmpegenc->context->time_base.den || + !ffmpegenc->context->time_base.num) { ffmpegenc->context->time_base.den = 25; ffmpegenc->context->time_base.num = 1; } --- ext/ffmpeg/gstffmpegcodecmap.c 2005/07/23 22:10:29 1.89 +++ ext/ffmpeg/gstffmpegcodecmap.c 2005/08/14 16:42:57 1.89.2.2 @@ -94,7 +94,7 @@ gst_caps_new_simple (mimetype, \ "width", GST_TYPE_INT_RANGE, 16, 4096, \ "height", GST_TYPE_INT_RANGE, 16, 4096, \ - "framerate", GST_TYPE_DOUBLE_RANGE, (double) 0., \ + "framerate", GST_TYPE_DOUBLE_RANGE, (double) 1., \ G_MAXDOUBLE, \ __VA_ARGS__, NULL) @@ -462,6 +462,17 @@ } break; + case CODEC_ID_QTRLE: + caps = GST_FF_VID_CAPS_NEW ("video/x-rle", + "layout", G_TYPE_STRING, "quicktime", NULL); + if (context) { + gst_caps_set_simple (caps, + "depth", G_TYPE_INT, (gint) context->bits_per_sample, NULL); + } else { + gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 1, 64, NULL); + } + break; + case CODEC_ID_MSVIDEO1: caps = GST_FF_VID_CAPS_NEW ("video/x-msvideocodec", "msvideoversion", G_TYPE_INT, 1, NULL); @@ -483,7 +494,6 @@ case CODEC_ID_VMDAUDIO: case CODEC_ID_MSZH: case CODEC_ID_ZLIB: - case CODEC_ID_QTRLE: case CODEC_ID_SONIC: case CODEC_ID_SONIC_LS: case CODEC_ID_SNOW: