ext/dv/gstdvdec.c: Allow a little margin when negotiating the framerate.

Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_video_getcaps),
(gst_dvdec_video_link), (gst_dvdec_push), (gst_dvdec_loop):
Allow a little margin when negotiating the framerate.
This commit is contained in:
Wim Taymans 2004-10-26 17:59:18 +00:00
parent 3538476c2d
commit 17d464c602
2 changed files with 10 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2004-10-26 Wim Taymans <wim@fluendo.com>
* ext/dv/gstdvdec.c: (gst_dvdec_video_getcaps),
(gst_dvdec_video_link), (gst_dvdec_push), (gst_dvdec_loop):
Allow a little margin when negotiating the framerate.
2004-10-26 Stefan Kost <ensonic@users.sf.net>
* gst/level/gstlevel.c:

View file

@ -21,6 +21,7 @@
#include "config.h"
#endif
#include <string.h>
#include <math.h>
/* First, include the header file for the plugin, to bring in the
* object definition and other useful things.
@ -824,8 +825,9 @@ gst_dvdec_video_link (GstPad * pad, const GstCaps * caps)
!gst_structure_get_double (structure, "framerate", &framerate))
return GST_PAD_LINK_REFUSED;
if ((height != dvdec->height)
|| (framerate != dvdec->framerate / dvdec->drop_factor))
/* allow a margin of error for the framerate caused by float rounding errors */
if ((height != dvdec->height) ||
(fabs (framerate - (dvdec->framerate / dvdec->drop_factor)) > 0.00000001))
return GST_PAD_LINK_REFUSED;
if (strcmp (gst_structure_get_name (structure), "video/x-raw-rgb") == 0) {