+2005-10-24 Julien MOUTTE <julien@moutte.net>
+
+ * sys/ximage/ximagesink.c: (gst_ximagesink_setcaps):
+ * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): Check
+ the caps against our xcontext caps.
+
2005-10-24 Wim Taymans <wim@fluendo.com>
* gst-libs/gst/audio/gstbaseaudiosink.c:
GstXImageSink *ximagesink;
gboolean ret = TRUE;
GstStructure *structure;
+ GstCaps *intersection;
const GValue *par;
gint new_width, new_height;
"sinkconnect possible caps %" GST_PTR_FORMAT " with given caps %"
GST_PTR_FORMAT, ximagesink->xcontext->caps, caps);
+ intersection = gst_caps_intersect (ximagesink->xcontext->caps, caps);
+ GST_DEBUG_OBJECT (ximagesink, "intersection returned %" GST_PTR_FORMAT,
+ intersection);
+ if (gst_caps_is_empty (intersection)) {
+ return FALSE;
+ }
+
+ gst_caps_unref (intersection);
+
structure = gst_caps_get_structure (caps, 0);
/* We used to only get the new width and height if we don't
{
GstXvImageSink *xvimagesink;
GstStructure *structure;
+ GstCaps *intersection;
guint32 im_format = 0;
gboolean ret;
gint video_width, video_height;
"In setcaps. Possible caps %" GST_PTR_FORMAT ", setting caps %"
GST_PTR_FORMAT, xvimagesink->xcontext->caps, caps);
+ intersection = gst_caps_intersect (xvimagesink->xcontext->caps, caps);
+ GST_DEBUG_OBJECT (xvimagesink, "intersection returned %" GST_PTR_FORMAT,
+ intersection);
+ if (gst_caps_is_empty (intersection)) {
+ return FALSE;
+ }
+
+ gst_caps_unref (intersection);
+
structure = gst_caps_get_structure (caps, 0);
ret = gst_structure_get_int (structure, "width", &video_width);
ret &= gst_structure_get_int (structure, "height", &video_height);