diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c index 289da9f114..ed42263686 100644 --- a/gst/videoscale/gstvideoscale.c +++ b/gst/videoscale/gstvideoscale.c @@ -241,12 +241,14 @@ gst_videoscale_src_link (GstPad *pad, GstCaps *caps) return GST_PAD_LINK_DELAYED; } + gst_caps_debug(caps,"ack"); + videoscale->format = videoscale_find_by_caps (caps); + g_return_val_if_fail(videoscale->format, GST_PAD_LINK_REFUSED); + gst_caps_get_int (caps, "width", &videoscale->to_width); gst_caps_get_int (caps, "height", &videoscale->to_height); - gst_videoscale_setup(videoscale); - GST_DEBUG ("width %d height %d",videoscale->to_width,videoscale->to_height); peercaps = gst_caps_copy(caps); @@ -283,12 +285,14 @@ gst_videoscale_sink_link (GstPad *pad, GstCaps *caps) return GST_PAD_LINK_DELAYED; } + videoscale->format = videoscale_find_by_caps (caps); + gst_caps_debug(caps,"ack"); + g_return_val_if_fail(videoscale->format, GST_PAD_LINK_REFUSED); + gst_caps_get_int (caps, "width", &videoscale->from_width); gst_caps_get_int (caps, "height", &videoscale->from_height); - gst_videoscale_setup(videoscale); - peercaps = gst_caps_copy(caps); if(videoscale->force_size){