From 419583c9b5ba44f07ba16031f622d9540418ddda Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Wed, 22 Sep 2004 15:03:08 +0000 Subject: ext/gdk_pixbuf/pixbufscale.c: Correct caps negotiation Original commit message from CVS: * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_getcaps): Correct caps negotiation * gst/volume/gstvolume.c: (volume_chain_float), (volume_chain_int16): Modify debug output to be little more informative * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_destroy): Add XSync calls after detaching from the shared memory segment to avoid a crash. --- ext/gdk_pixbuf/pixbufscale.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'ext/gdk_pixbuf') diff --git a/ext/gdk_pixbuf/pixbufscale.c b/ext/gdk_pixbuf/pixbufscale.c index 8dca4d37..45b9c7a9 100644 --- a/ext/gdk_pixbuf/pixbufscale.c +++ b/ext/gdk_pixbuf/pixbufscale.c @@ -164,6 +164,7 @@ gst_pixbufscale_getcaps (GstPad * pad) GstCaps *othercaps; GstCaps *caps; GstPad *otherpad; + int i; pixbufscale = GST_PIXBUFSCALE (gst_pad_get_parent (pad)); @@ -174,6 +175,15 @@ gst_pixbufscale_getcaps (GstPad * pad) caps = gst_caps_intersect (othercaps, gst_pad_get_pad_template_caps (pad)); gst_caps_free (othercaps); + for (i = 0; i < gst_caps_get_size (caps); i++) { + GstStructure *structure = gst_caps_get_structure (caps, i); + + gst_structure_set (structure, + "width", GST_TYPE_INT_RANGE, 16, 4096, + "height", GST_TYPE_INT_RANGE, 16, 4096, NULL); + gst_structure_remove_field (structure, "pixel-aspect-ratio"); + } + GST_DEBUG ("getcaps are: %" GST_PTR_FORMAT, caps); return caps; } -- cgit