summaryrefslogtreecommitdiff
path: root/gst/dvbsuboverlay/gstdvbsuboverlay.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2012-03-11 19:06:59 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2012-03-11 19:06:59 +0100
commit77299ba6aeb30a80b4ce9fc1fffd5e1c98c0842a (patch)
tree260b936d9a08939e0ac39165ffeb328cb6791fe5 /gst/dvbsuboverlay/gstdvbsuboverlay.c
parent857a9564f1992829655d4648898e069889f51844 (diff)
downloadgstreamer-plugins-bad-77299ba6aeb30a80b4ce9fc1fffd5e1c98c0842a.tar.gz
fix for caps api changes
Diffstat (limited to 'gst/dvbsuboverlay/gstdvbsuboverlay.c')
-rw-r--r--gst/dvbsuboverlay/gstdvbsuboverlay.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gst/dvbsuboverlay/gstdvbsuboverlay.c b/gst/dvbsuboverlay/gstdvbsuboverlay.c
index 235f86a24..833c8dfdc 100644
--- a/gst/dvbsuboverlay/gstdvbsuboverlay.c
+++ b/gst/dvbsuboverlay/gstdvbsuboverlay.c
@@ -401,28 +401,29 @@ gst_dvbsub_overlay_getcaps (GstPad * pad, GstCaps * filter)
{
GstDVBSubOverlay *render = GST_DVBSUB_OVERLAY (gst_pad_get_parent (pad));
GstPad *otherpad;
- GstCaps *caps;
+ GstCaps *caps, *templ;
if (pad == render->srcpad)
otherpad = render->video_sinkpad;
else
otherpad = render->srcpad;
+ templ = gst_pad_get_pad_template_caps (otherpad);
+
/* we can do what the peer can */
caps = gst_pad_peer_query_caps (otherpad, filter);
if (caps) {
GstCaps *temp;
- const GstCaps *templ;
/* filtered against our padtemplate */
- templ = gst_pad_get_pad_template_caps (otherpad);
temp = gst_caps_intersect (caps, templ);
+ gst_caps_unref (templ);
gst_caps_unref (caps);
/* this is what we can do */
caps = temp;
} else {
/* no peer, our padtemplate is enough then */
- caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
+ caps = templ;
}
gst_object_unref (render);