rem: if (!(gst_structure_get_double (s, "framerate", &bvw->priv->video_fps) &&
add: if (!(gst_structure_get_fraction (s, "framerate", &bvw->priv->video_fps_n, &bvw->priv->video_fps_d) &&
context: caps_set (GObject * obj,    GParamSpec * pspec, BaconVideoWidget * bvw){  GstPad *pad = GST_PAD (obj);  GstStructure *s;  GstCaps *caps;  if (!(caps = gst_pad_get_negotiated_caps (pad)))    return;  s = gst_caps_get_structure (caps, 0);  if (s) {    const GValue *par;    if (!(gst_structure_get_double (s, "framerate", &bvw->priv->video_fps) &&          gst_structure_get_int (s, "width", &bvw->priv->video_width) &&          gst_structure_get_int (s, "height", &bvw->priv->video_height)))      return;    bvw->priv->video_width_pixels = bvw->priv->video_width;    bvw->priv->video_height_pixels = bvw->priv->video_height;    if ((par = gst_structure_get_value (s,                   "pixel-aspect-ratio"))) {      gint num = gst_value_get_fraction_numerator (par),          den = gst_value_get_fraction_denominator (par);      if (num > den)        bvw->priv->video_width *= (gfloat) num / den;      else        bvw->priv->video_height *= (gfloat) den / num;    }    bvw->priv->movie_ratio = (gfloat) bvw->priv->video_width /        bvw->priv->video_height;    /* now set for real */    bacon_video_widget_set_aspect_ratio (bvw, bvw->priv->ratio_type);  }  gst_caps_unref (caps);}