xvimagesink: Update for negotiation related API changes

This commit is contained in:
Sebastian Dröge 2011-05-16 12:04:39 +02:00
parent e21ec369f0
commit 8d6e2c8a89

View file

@ -1509,19 +1509,30 @@ gst_xvimagesink_xcontext_clear (GstXvImageSink * xvimagesink)
/* Element stuff */ /* Element stuff */
static GstCaps * static GstCaps *
gst_xvimagesink_getcaps (GstBaseSink * bsink) gst_xvimagesink_getcaps (GstBaseSink * bsink, GstCaps * filter)
{ {
GstXvImageSink *xvimagesink; GstXvImageSink *xvimagesink;
xvimagesink = GST_XVIMAGESINK (bsink); xvimagesink = GST_XVIMAGESINK (bsink);
if (xvimagesink->xcontext) if (xvimagesink->xcontext) {
if (filter)
return gst_caps_intersect_full (filter, xvimagesink->xcontext->caps,
GST_CAPS_INTERSECT_FIRST);
else
return gst_caps_ref (xvimagesink->xcontext->caps); return gst_caps_ref (xvimagesink->xcontext->caps);
}
if (filter) {
return gst_caps_intersect_full (filter,
gst_pad_get_pad_template_caps (GST_VIDEO_SINK_PAD (xvimagesink)),
GST_CAPS_INTERSECT_FIRST);
} else {
return return
gst_caps_copy (gst_pad_get_pad_template_caps (GST_VIDEO_SINK_PAD gst_caps_copy (gst_pad_get_pad_template_caps (GST_VIDEO_SINK_PAD
(xvimagesink))); (xvimagesink)));
} }
}
static gboolean static gboolean
gst_xvimagesink_setcaps (GstBaseSink * bsink, GstCaps * caps) gst_xvimagesink_setcaps (GstBaseSink * bsink, GstCaps * caps)